opensip db mysql_opensip和opensip_cp安装配置

一,opensip安装

1,老老实实安装各种库,我在这里吃了点亏:

yum install gcc make

yum install flex bison ncurses libncurses-dev ncurses-devel

yum install mysql mysql-server mysql-libs mysql-devel

2,下载opensip,svn和wget都可以,随便选择:

wget http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz

tar zxvf opensips-1.8.2_src.tar.gz

cd opensips-1.8.2-tls

make menuconfig (勾选db_mysql,其他不用动)

菜单里选"CompileAnd Install Opensips"

退出menuconfig

注意,到这里如果不出意外理论上是安装好了,但我实际操作的时候有个问题,那就是module目录下的模块没有生成。也许我安装的是opensips_2.1的原因吧,具体不知道了。所以编译安装直接make all&&make install,还是看官网说明。

3,配置opensip,导入数据库

vi etc/opensips/opensipsctlrc,把与mysql有关的注释去掉(DB_PATH和USERCOL保留注释)

service mysqld start

opensipsdbctl create(提示的两个问题都选no),完成后数据库里会生成相应的数据库和表。

osipsconf

选择ENABLE_TCP,USE_AUTH,USE_DBACC,USE_DBUSERLOC,USE_DIALOG,然后generate residential script,用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg。

注意:我配置好之后,启动opensip的时候报错,看日志说是opensip.cfg出错了,两个问题:首先查看lib/module/下有没有对应的模块。其次,在loadmodule"uri.so"下面一行加:

modparam("uri","db_url","mysql://opensips:opensipsrw@localhost/opensips")

vi /usr/etc/opensips/opensips.cfg (改listen地址和mpath,后者一般是/usr/lib/opensips/modules)

opensipsctl start (netstat -anp查端口)

service iptables stop (关闭防火墙)

4,检查配置是否成功:

查看进程:ps aux | grep opensips

查看udb监听:netstat -upln | grep opensips

查看tcp监听:netstat -tpln | grep opensips

检查sip服务端口:netstat -nlutp|grep sips

5,创建测试用户:

opensipsctl add 101 101

如果创建用户时提示“ERROR: domain unknown: useusernames with domain or set default domain in SIP_DOMAIN”,可修改opensipsctlrc文件将SIP_DOMAIN设为本机域名或IP地址。

6,配置日志路径,使用独立的log文件,opensips使用syslog服务,所以缺省情况下日志会进入/var/log/message这个文件,如果希望使用独立的log文件,可以这样设置:

touch /var/log/opensips.log

vi /etc/rsyslog.conf  --> 增加一行:local0.*            /var/log/opensips.log

/etc/init.d/rsyslog restart

二,opensips-cp配置

1, 我们首先你在你的电脑里已经安装的apache+php+mysql,没安装自己搞定。不过就算这些环境你已经安装了,也要老老实话的安装一些库,不然会出问题:

yum install httpd php php-mysql php-xmlrpc php-pear

pear installMDB2

pear install MDB2#mysql

pear install MDB2#mysqli

pear install log

可以选择性的安装,比如如果你已经有环境了php-mysql可以不用安装,但MDB2,pear等一定呀安装的。

2, 在/etc/php.ini里:把short_open_tag置为On

3, 下载opensip_cp解压到你的web目录下,比如/var/www/html,改名为你喜欢的名字。

Vim /etc/httpd/conf/httpd.conf添加下面一行

Alias/cp "/var/www/opensips-cp/web"

4, chown apache:apache/var/www/opensips-cp/config/access.log (如果是其他版本linux,用户名可能是www-data或其他)

5, 安装数据表:

安装必须的admin:

cd /var/www/opensips-cp/config/tools/admin/add_admin/

mysql -Dopensips -p

mysql -uroot opensips进入mysql命令行,执行下面的命令添加管理员用户:

INSERT INTO ocp_admin_privileges(username,password,ha1,available_tools,permissions) values('admin','admin',md5('admin:admin'),'all','all');

安装cdrviewer:

cd /var/www/opensips-cp/config/tools/system/cdrviewer/

mysql -Dopensips -p < cdrs.mysql

mysql -Dopensips -p

cd /var/www/opensips-cp/cron_job

vi generate-cdrs_mysql.sh (填写数据库连接信息)

注意,generate-cdrs_mysql.sh这个文件里的“callopensips_cdrs_1_6()”可能要改为“call opensips_cdrs()”,必须要与opensips_cdrs.mysql里定义的名称一致。

vi /etc/crontab (添加定时任务,例如每三分钟生成一次:*/3* * * * root /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh)

安装smonitor:

cd /var/www/opensips-cp/config/tools/system/smonitor/ (此处INSTALL文档有笔误,这里已更正)

mysql -Dopensips -p < tables.mysql

vi /etc/crontab (添加定时任务,例如每分钟一次:* ** * * root php /var/www/opensips-cp/cron_job/get_opensips_stats.php >/dev/null)

安装add_user:

(最前面已经装过了ocp_admin_privileges.mysql,这里应该不需要再做一次,INSTALL文档的小问题不少)

启动opensips-cp:

service mysqld start

service httpd start

打开浏览器访问http://xxx.xxx.xxx.xxx/cp/ 应该能看到登录界面,用之前创建的admin用户登录。

参考http://www.cnblogs.com/bjzhanghao/archive/2013/02/13/2910903.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

摄像头图像分析目标物体大小位置_单个运动摄像头估计运动物体深度,谷歌挑战新难题...

雷锋网 AI 科技评论按&#xff1a;人类视觉系统有一个我们习以为然但其实极其强大的功能&#xff0c;那就是可以从平面图像反推出对应的三维世界的样子。即便在有多个物体同时移动的复杂环境中&#xff0c;人类也能够对这些物体的几何形状、深度关系做出合理的推测。然而类似的…

Spring中DispacherServlet、WebApplicationContext、ServletContext的关系

解释一&#xff1a; 要想很好理解这三个上下文的关系&#xff0c;需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程&#xff0c;对于web程序&#xff0c;IoC容器启动过程即是建立上下文的过程。 spring的启动过程&#xff1a; 首先&…

LeetCode LCS 03. 主题空间(广度优先搜索BFS)

文章目录1. 题目2. 解题1. 题目 「以扣会友」线下活动所在场地由若干主题空间与走廊组成&#xff0c;场地的地图记作由一维字符串型数组 grid&#xff0c;字符串中仅包含 “0"&#xff5e;"5” 这 6 个字符。 地图上每一个字符代表面积为 1 的区域&#xff0c;其中 …

UIImage 裁剪图片和等比列缩放图片

本文转载至 http://blog.csdn.net/cuiweijie3/article/details/9514293 转自 http://www.tedz.me/ios/uiimage-crop-resize-image interface UIImage(UIImageScale)-(UIImage*)getSubImage:(CGRect)rect;-(UIImage*)scaleToSize:(CGSize)size;endimplementation UIImage(UIIma…

python模式匹配算法_详解Python 最短匹配模式

问题你正在试着用正则表达式匹配某个文本模式&#xff0c;但是它找到的是模式的最长可能匹配。 而你想修改它变成查找最短的可能匹配。解决方案这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字符串)。 为了说明清楚&#xff0c;考虑如下的例子&#xf…

Paddle 基于预训练模型 ERNIE-Gram 实现语义匹配

文章目录1. 导入一些包2. 加载数据3. 数据预处理3.1 获取tokenizer&#xff0c;得到 input_ids, token_type_ids3.2 转换函数、batch化函数、sampler、data_loader4. 编写模型5. 学习率、参数衰减、优化器、loss、评估标准6. 评估函数7. 训练评估8. 保存模型到文件9. 预测10. 多…

j2ee和mysql怎么连接_J2EE数据库连接不再烦恼

刚开始接触j2ee的时候总是为数据库的开关连接问题而烦恼,虽然问题很简单却很是琐碎,于是干脆写成一个类将所有必要的基本操作全部总结进去,以后只要轻松的import一下就可以了啊:)菜鸟们enjoying!import java.sql.Connection;import java.sql.Statement;import java.sql.ResultS…

SQL SERVER PIVOT 行转列、列传行

在数据库操作中&#xff0c;有些时候我们遇到需要实现“行转列”的需求&#xff0c;例如一下的表为某店铺的一周收入情况表&#xff1a; WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL) 我们先插入一些模拟数据&#xff1a; INSERT INTO WEEK_INCOME SELECT 星期一,1000 UNION…

python安装scipy出现红字_windows下安装numpy,scipy遇到的问题总结

1.安装numpy下载numpy编译包&#xff0c;进入该目录下&#xff0c; 调用命令 python setup.py install进行安装&#xff0c;返回错误&#xff1a;error: Unable to find vcvarsall.bat出现这个原因的问题貌似跟vc编译器有关&#xff0c;具体原因没有细究&#xff0c;但是经Goog…

mysql cluster 查看数据库表名称_MySQL Cluster如何创建磁盘表方法解读

MySQL Cluster采用一系列的Disk Data objects来实现磁盘表;接下来为您详细介绍一、概念MySQL Cluster采用一系列的Disk Data objects来实现磁盘表。Tablespaces&#xff1a;作用是作为其他Disk Data objects的容器。Undo log files&#xff1a;存储事务进行回滚需要的信息&…

(运算符) 运算符

& 运算符既可作为一元运算符也可作为二元运算符。 备注 一元 & 运算符返回操作数的地址&#xff08;要求 unsafe 上下文&#xff09;。 为整型和 bool 类型预定义了二进制 & 运算符。 对于整型&#xff0c;& 计算操作数的逻辑按位“与”。 对于 bool 操作数&am…

LeetCode 1903. 字符串中的最大奇数

文章目录1. 题目2. 解题1. 题目 给你一个字符串 num &#xff0c;表示一个大整数。 请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 &#xff0c;并以字符串形式返回。如果不存在奇数&#xff0c;则返回一个空字符串 “” 。 子字符串 是字符串中的一个连续的字符…

python模拟qq空间登录_python selenium模拟登录163邮箱和QQ空间

最近在看python网络爬虫&#xff0c;于是我想自己写一个邮箱和QQ空间的自动登录的小程序&#xff0c;下面以登录163邮箱和QQ空间和为例&#xff1a;了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用&#xff0c;WebDriver 只能在一个页面上对元素识别与定位&#x…

mysql分页插件springboot_SpringBoot--使用Mybatis分页插件

1、导入分页插件包和jpa包org.springframework.bootspring-boot-starter-data-jpacom.github.pagehelperpagehelper-spring-boot-starter1.2.52、增加分页配置# 主键自增回写方法,默认值MYSQL,详细说明请看文档mapper:identity: MYSQL# 设置 insert 和 update 中&#xff0c;是…

top 命令详解

作用&#xff1a; 实时动态查看系统的整体运行情况&#xff0c; 是一个综合了多方信息监测系统性能和运行信息的实用工具。 选项&#xff1a;-b 以批处理模式操作-c 显示完整的命令-d 屏幕刷新间隔时间-I 忽略失效过程-s 保密模式-S 累积模式-i 设置时间间隔-u 指定用户…

LeetCode 1904. 你完成的完整对局数

文章目录1. 题目2. 解题1. 题目 一款新的在线电子游戏在近期发布&#xff0c;在该电子游戏中&#xff0c;以 刻钟 为周期规划若干时长为 15 分钟 的游戏对局。 这意味着&#xff0c;在 HH:00、HH:15、HH:30 和 HH:45 &#xff0c;将会开始一个新的对局&#xff0c;其中 HH 用一…

python scipy库函数solve用法_如何在中使用事件scipy.integrate.solve_ivp

我不确定事件处理是否scipy.integrate.solve_ivp工作正常。在下面的例子中&#xff0c;我对一个导数进行积分&#xff0c;得到一个三次多项式&#xff0c;它的根在x-6&#xff0c;x-2和x2。我设置了一个事件函数&#xff0c;返回y&#xff0c;在x值处为零。我希望在解决方案的t…

将MYSQL查询导出到文件

sql文件&#xff1a; set names utf8; select * from xxxxx mysql命令&#xff1a; mysql -h xxxx -uxxxx -p < 4.sql > 4.txt 转载于:https://www.cnblogs.com/aguncn/p/4449969.html

mysql维护计划任务_浅谈MySQL event 计划任务

一、查看event是否开启show variables like %sche%;set global event_scheduler 1;二、-- 设置时区并设置计划事件调度器开启&#xff0c;也可以 event_scheduler onset time_zone 8:00;set global event_scheduler 1;-- 设置该事件使用或所属的数据库base数据库use test;--…

LeetCode 1905. 统计子岛屿(BFS)

文章目录1. 题目2. 解题1. 题目 给你两个 m x n 的二进制矩阵 grid1 和 grid2 &#xff0c;它们只包含 0 &#xff08;表示水域&#xff09;和 1 &#xff08;表示陆地&#xff09;。 一个 岛屿 是由 四个方向 &#xff08;水平或者竖直&#xff09;上相邻的 1 组成的区域。 任…