ubuntu16.04 安装配置opensips
1、ubuntu16.04下安装配置opensips后台服务器
1.下载源码安装 http://download.opensips.org/
选择相应的版本复制相应http链接
创建一个文件夹用于存放源码: sudo mkdir opensips
进入文件夹下: cd /opensips
输入命令下载源码: sudo wgethttp://download.opensips.org/opensips-2.4.5.tar.gz
2.解压文件夹: tar -zxvf opensips-2.4.5.tar.gz 如下图:
3.进如加压后的文件夹可以看到源码如下图:
4.在源码安装之前我们需要先安装一些依赖,当然我们也可以在安装过程中遇到问题之后在去安装这些依赖文件,这就需要你再次进行编译安装会很麻烦, 我们在安装之前先把需要的依赖文件进行安装:
(1)安装gcc:
全局安装:sudo apt-get install build-essential
(2)安装mysql 用于保存用户信息:
全局输入:sudo apt-get install mysql-server
设置数据库密码:
安装mysql-client依赖: sudo apt isntall mysql-client
安装libmysqlclient-dev依赖: sudo apt install libmysqlclient-dev
输入命令验证mysql是否安装成功: sudo netstat -tap | grep mysql
出现以下信息则说明数据库安装成功
设置mysql 服务可以远程访问找到MySQL的配置文件并修改文件
sudo vi mysqld.cnf注意:要进入相应的文件路径(不同的系统版本可能文件地址或命名方式可能会有不同)
注释掉bind-address = 127.0.0.1保存后退出如下图所示:
输入mysql -u root -p回车输入密码进入mysql服务, 执行授权命令:
然后执行quit;命令退出mysql服务,执行如下命令重启mysql服务:
service mysql restart
不同系统或者版本安装数据库的方式或启动的方式会有不同。
在Windows下可以使用navicat远程连接Ubuntu下的MySQL服务:
(3)安装其它依赖包:
sudo apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl
sudo apt-get install bison flex libncurses5 libncurses5-dev
4. 进入源码文件安装opensips我们的路径是: /root/opensips/opensips-2.4.5
首先需要安装make包
执行sudomake menuconfig进行编译
执行编译之后进如图控制台界面:
箭头上下,空格/回车选择,q返回上一级。
依次选择:Configure Compile Options—> Configure Excluded Modules,
按空格选中[*] db_mysql
以上是安装配置模块q返回上一级,选择→ Configure Install Prefix,我是安装在默认的/usr/local/下,可以自己输入想安装的位置。
选择—> Save Changes 保存修改。
按q返回,选择 —> Compile And Install OpenSIPS,回车安装。
如果出现依赖错误,先通过apt-get安装依赖。
安装完opensips的目录结构是: /usr/local/sbin/ 如下图:
里面有可执行命令opensips、opensipsctl、(用来启动/停止opensips)、opensipsdbctl
(用来创建数据库)、opensipsunix等等。
进入/usr/local/etc/opensips/文件夹下可以看到如下:
里面有配置文件:opensips.cfg、opensipsctlrc、osipsconsolerc
进入/usr/local/lib64/opensips/文件夹
里面是库文件,其中/usr/local/lib64/opensips/里面是当前opensips所支持的模块, /usr/local/lib64/opensips/opensipsctl/ 是 /usr/local/sbin/中启动命令要用到的文件。
[if !supportLists]4. [endif]配置,我们以上已经完成了opensips 的安装、数据库的安装依赖文件的安装,现在进行数据库的安装及配置以及opensips自身的配置。
cd /usr/local/etc/opensips进入文件夹下:
sudo vim opensipsctlrc编辑配置文件,把与mysql有关的注释去掉(DB_PATH和USERCOL保留注释)
保存后退出
进入文件夹/usr/local/sbin: cd /usr/local/sbin
sudo opensipsdbctl create
创建数据库(提示的两个问题都选no)
sudo su进入超级用户
进入/usr/local/etc/opensips/,
运行osipsconfig命令。进入如图所示的页面:
依次选择—> Generate OpenSIPS Script —> Residential Script —> Configure Residential Script
选中如下几项[*] ENABLE_TCP[*] USE_AUTH[*] USE_DBACC[*] USE_DBUSRLOC[*] USE_DIALOG如下图所示:
按q返回,选择 —> Generate Residential Script 回车,生成新的配置文件。按q(三次)退出命令,生成新的配置文件:
用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg:
使用命令:mv opensips_residential_xxx.cfg opensips_residential_xxx.cfg具体如下图:
编辑新生成的配置文件:
Sudo vim opensips.cfg:修改监听端口和ip: 如图所示:
4. 使用独立的日志文件。
opensips使用syslog服务,所以缺省情况下日志会进入/var/log/message这个文件,如果希望使用独立的log文件,将opensips的日志保存在/var/log/opensips.log,可以这样设置:
touch /var/log/opensips.log
chmod 777 /var/log/opensips.log
增加一下内容:
vi /etc/rsyslog.d/opensips.conf
重启syslog服务,启动opensips, 增加用户
opensipsctl add 1000 123456后面是账号密码
sudo opensipsctl start 启动服务
sudo opensipsctl stop 停止服务
sudo opensipsctl restart 重启服务
Linphone配置连接之后就可以查看连接的用户, 用户之间可以进行电话/视频聊天。
opensipsctl online查看在线用户