基于ubuntu中使用mysql实现opensips用户认证的解决方法_MySQL教程
推荐:MySQL查询优化:用子查询代替非主键连接查询实例介绍对多的两张表,一般是一张表的外键关联到另一个表的主键,接下来为大家介绍下用子查询代替非主键连接查询,感兴趣的朋友可以参考下哈,希望对你有所帮助
1 MySQL支持
1.1 MySQL模块支持
默认安装时,不包含MySQL模块。
opensipsctlrc文件中包含了数据库配置的信息,要想让opensips支持mysql数据库,在编译安装的时候
就要支持mysql模块。方法如下:
(1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中
添加db_mysql,然后重新编译安装。要添加支持的模块都可以这样操作。
(2)编译时指定,make include_modules=”db_mysql” modules prefix=/ 。
在编译安装之前,需要安装mysql的开发包,要不编译通不过。方法如下:
$sudo apt-get install libmysqlclient-dev 。
2.2 安装MySQL
使用sudo opensipsdbctl create创建数据库在之前,要确认已经安装了mysql。安装方法如下:
$sudo apt-get install mysql-server mysql-client
安装过程中提示输入mysql的root用户密码。使用如下命令测试mysql是否安装成功
$sudo mysql -p 输入刚才设置的root密码
MySQL URL格式如下:
mysql://username:password@domain/dbname
2.3 创建opensips数据库
使用sudo opensipsdbctl create命令来创建数据库,这个过程中要求输入MySQL数据库root用户的密码,
就是上一步输入的密码。然后还有一些附加的表让你选择是否创建,选择之后opensips数据库创建成功。
/sbin/opensipsdbctl是一个shell脚本,可以打开读一下它的代码就知道创建数据库是怎么一个过程了。首先,
它会把/etc/opensips/opensipsctlrc这个配置文件包含进来,然后根据这个配置文件来创建数据库,还涉及到
/lib/opensips/opensipsctl中的opensipsdbctl.base文件和 opensipsdbctl.mysql文件。
可以进入opensips数据库查看一下有哪些表,用户认证要用的是subscriber表。
2 用户认证配置
上一节中已经说明了怎么让opensips支持MySQL数据库,用户认证是在上一节的基础上完成的。
这部分的主要工作是对opensips配置文件的修改,包括opensips.cfg和opensipsctlrc文件。配置文件opensips.cfg中
要修改全局变量、加载db_mysql.so、auth.so和auth_db.so动态库,并配置相应的参数,以及修改路由策略,同时配置文件
opensipsctlrc中也要修改一些参数。
配置文件opensips.cfg如下:
配置的过程中在网上找了很多资料,通常是配置文件检查能通过,但总是不能运行opensips,对这些资料深表怀疑,不知道
他们有没有真正实践过!
最后还是决定看官方的说明,如opensips mysql installation的英文PDF、opensips源码包中的INSTALL文件等。
INSTALL文件中只说明了要向opensips.cfg文件中添加那些配置代码,而没有详细说明要把这些语句加在什么位置,而且
其中好像还有错误,不能使用break,而是exit。opensips mysql installation的英文PDF中说明了具体的位置,但是还要
根据自己的实际情况来配置。
配置完成以后要检查配置文件语法是否正确,命令如下:
$sudo opensips –c
检查通过以后启动opensips,命令如下:
$sudo opensipsctl start
如果启动时出现错误,查看系统日志了解具体原因,然后针原因解决问题。
$vim /var/log/syslog
3 测试
添加SIP用户:
语法:opensipsctl add <username> <password>
opensipsctl add alice@192.168.139.121 123456
opensipsctl add bob@192.168.139.121 123456
然后下载SIP客户端进行测试!
分享:MySQL查询优化:LIMIT 1避免全表扫描提高查询效率在某些情况下,如果明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率,感兴趣的朋友可以了解下哈,希望对你优化mysql查询有所帮助
- MSSQL清空日志删除日志文件
- 关于数据库中保留小数位的问题
- 解析mysql与Oracle update的区别
- mysql 导入导出数据库以及函数、存储过程的介绍
- MySQL——修改root密码的4种方法(以windows为例)
- 解决MYSQL出现Can''t create/write to file ''#sql_5c0_0.MYD''的问题
- 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
- 解析:内联,左外联,右外联,全连接,交叉连接的区别
- mysql出现“Incorrect key file for table”处理方法
- mysql重装后出现乱码设置为utf8可解决
- 浅析一个MYSQL语法(在查询中使用count)的兼容性问题
- 解析MySQL中INSERT INTO SELECT的使用
- 相关链接:
- 教程说明:
MySQL教程-基于ubuntu中使用mysql实现opensips用户认证的解决方法。