ubuntu中使用mysql实现opensips用户认证

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如下:

http://www.cnblogs.com/languoliang/archive/2013/04/18/opensips-cfg.html

配置的过程中在网上找了很多资料,通常是配置文件检查能通过,但总是不能运行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

opensipsctl add alice@192.168.139.121 123456

opensipsctl add bob@192.168.139.121 123456

然后下载SIP客户端进行测试!

opensips mysql_opensips中使用mysql实现用户认证相关推荐

  1. linux ftp 团队认证,linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建 1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 ...

  2. linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口 数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式 ft ...

  3. shiro mysql_Shiro系列之Shiro+Mysql实现用户认证(Authentication)

    网上大多数介绍Apache Shiro的资料都是使用ini文件的简单配置为例,很少用讲到如何配合数据库来实现用户认证的.我也是刚刚开始接触Shiro,在这里介绍一个入门级别的Shiro+Mysql的配 ...

  4. linux路由修改密码,Linux中修改Mysql root用户密码的方法

    Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...

  5. 在Linux系统的命令行中为MySQL创建用户的方法

    这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQ ...

  6. python对文件操作的相关函数_python文件操作的相关函数深入理解Django中内置的用户认证...

    前言 本文主要给大家介绍了关于Django中内置用户认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查 ...

  7. Debian中proftpd+mysql+虚拟用户+匿名用户+磁盘限额的配置

    http://os.51cto.com/art/201102/245850.htm Debian所系统目前采用的是 Linux 内核.Debian 支持内核的工作也正在进行.最主要的就是 Hurd,H ...

  8. MySQL普通用户无法本地登录的解决方法及MySQL的用户认证算法

    在安装完成MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库.在使用普通用户本地登录数据库的时候,经常会出现怎么登录也无法登录的情况. 例如,我的MySQL中的用户为: mysql> ...

  9. python 用户认证_python基于mysql的用户认证

    首先,创建mysql用户users表 1 2 3 4 5 create table users ( id int NOT NULL primary key auto_increment, userna ...

  10. mysql邮箱认证_邮件服务系列postfix+sasl+mysql实现用户认证功能

    1.卸载bind [root@mail ~]# rpm -e bind-utils 2.安装bind97-utils bind97-libs bind97 [root@mail ~]# yum ins ...

最新文章

  1. spring ResponseEntity
  2. jQuery 实现Ajax
  3. vue js 反编译_学会了Vue,前端面试却没找到工作?
  4. list 转set_MapStruct高级用法:List和String互转
  5. 将程序添加防火墙白名单
  6. C#数组和集合专题2(Array)
  7. html模板替换值,Go语言多值替换的HTML模板实例分析
  8. 为猿七年有余,痒否?痛否?
  9. 加工中心三凌系统怎么用计算机,加工中心三菱系统的基本操作
  10. ES8316耳机驱动可以差分输入支持录音PEQ调节
  11. 极域电子教室学生端全屏广播的破解及编程处理(附静态库)
  12. 影像自动解译_遥感图像解译
  13. 阿里双十一数据库技术
  14. 新浪博客服务器是不是在维护,近日新浪博客发布文章不能正常显示是为什么?...
  15. 阿里云服务器可不可以转海外服务器
  16. WIn10编译Audacity——C++
  17. 深度学习之 自然语言处理BERT
  18. c语言数组子集,C语言实现数组所有子集
  19. android 硬币翻转动画,使用Android标准动画显示正在翻转的硬币的两面
  20. 数字化时代 App 们将何去何从?

热门文章

  1. linux关闭防火墙时出现问号乱码,linux文件名乱码问题的解决方...-tcp_wrappers防火墙配置方法-su 与 su - 的比较_169IT.COM...
  2. mybatis(12) mybatis-plus源码分析之sql注入器
  3. 年度盘点和预测:数说汽车互联网市场
  4. 使用BIGMAP地图下载器,生成卫星地图
  5. 海康萤石云硬盘录像机SDK使用
  6. 腾达路由器设置成中继模式
  7. 苹果android投屏,iphone怎么投屏到mac?苹果手机投屏到苹果电脑方法
  8. JS 页面刷新/数据刷新
  9. vue组件库(Element UI)
  10. Git和SVN的区别(以后别再问我了)