opensips服务器搭建的前提环境: Ubuntu虚拟机、xshell命令客户端,并且成功连接网络。
1. xshell
xshell是一个安全终端模拟软件,该软件可在Windows界面下远端访问不同系统下的服务器,比如服务器被放在远端机房,那就可以在我们的电脑上通过xshell软件进行远程控制,并且支持VB、JS、Python 等脚本语言,支持SSH(Secure Shell)安全外壳协议,是用于安全远程登录和其他安全网络服务的协议。xshell通过使用SSH把所有传输的数据进行加密,这样能够防止DNS欺骗、IP欺骗等不安全问题。除此之外,SSH传输的数据是经过压缩的,所以可加快传输速率。
建立会话过程(与Ubuntu连接):
IP地址为需要连接的Ubuntu虚拟机的IP地址,默认端口号为22。
与xshell类似的终端软件还有putty等。
2. opensips服务器搭建过程(整个过程需在超级用户下进行)
(1)在虚拟机中执行ifconfig命令,得到该Ubuntu虚拟机的IP地址;
(2)打开xshell终端软件,通过IP连接到Ubuntu虚拟机(如上图所示);
(3)接下来的步骤都是在xshell中完成的,执行sudo su 命令,切换到超级用户;
(4)更新系统所以可以更新的库
#apt-get update
(5)安装依赖库
#apt-get install gcc bison flex make openssl libmysqlclient-dev perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl mysql-server ssh libxml2 libxml2-dev libxmlrpc-core-c3-dev libpcre3 libpcre3-dev subversion libncurses5-dev git ngrep libssl-dev
(6)使用github下载opensips2.4源代码包
#cd /usr/local/src(用户级源码下载路径)
#export GIT_SSL_NO_VERIFY=1(将该变量设置为1,则表示忽略任何SSL安全认证,信任对方服务器)
#git clone https://github.com/OpenSIPS/opensips.git -b 2.4 opensips_24
(7)编译、安装和配置核心模块
#cd /usr/local/src/opensips_24
#sudo make menuconfig
按↑↓键可进行上下选择,按q可返回,按enter进入选项。
*configure compile options,configure excludend moudules,按“空格”选择diaplan,db_mysql两个模块。
选择完成后按一个“q”退回上一个界面,进入save chang,“enter”后按↑键选择进入configure install prefix ,输入/usr/local路径后按“enter”,再次进入save chang,按“enter”。
*按一个“q”退回第一个界面,选择compile and install opensips进行下载。
(ctrl+c)
*#sudo make menuconfig
Generate opensips script,Residential script,configure Residential script
选择ENABLE_TCP模块后,按一个q退回上一个界面,选择进入save Residential script,按“enter”,然后选择进入Generate Residential script,最后退回到第一个界面,选择进入Exit&save all changes。
(8)将在/usr/local/src/opensips_24/etc下生成的脚本(配置文件)复制到/usr/local/etc/opensips中去
在/usr/local/src/opensips_24/etc路径下:
#cp opensips_residential_2022-12-2_8\:45\:22.cfg /usr/local/etc/opensips
(tls前面的一个)
(9)将生成的初始化文件复制到/etc/init.d中
#cd /usr/local/src/opensips_24/packaging/debian
#cp opensips.default /etc/default/opensips
#cp opensips.init /etc/init.d/opensips
#chmod 755 /etc/init.d/opensips(设置文件管理权限)
#update-rc.d opensips defaults 99
(10)编辑/etc/default/opensips文件
#vim /etc/default/opensips
RUN_OPENSIPS=yes,S_MEMORY=128
(先按“i”键进入输入模式,修改完成后,按“Esc”、“:wq”保存并退出编辑器)
(11)编辑/etc/init.d/opensips文件
#/etc/init.d/opensips start
(注:该图是我第一次搭建时路径搞错的截图,仅供参考,重新搭建时这个步骤忘记截图了。正确的路径应该是/usr/local/src/opensips_24/packaging/debian#,是(9)步骤中切换的路径)
#vi /etc/init.d/opensips (修改daemon=/sbin/opensips)
#/etc/init.d/opensips stop
#/etc/init.d/opensips start
(12)重新启动opensips,并查看是否启动
#/etc/init.d/opensips start
#ps -ef |grep opensips
(13)创建数据库,切换到/usr/local/etc/opensips
#cd /usr/local/etc/opensips
#ls
#vim opensipsctlrc
将文本中以下几项前的“#”去掉,左对齐,不能有空格,否则可能会出错。
DBHOST=192.168.71.133
DBENGINE=MYSQL
DBPORT=3306
DBHOST=localhost
DBNAME=opensips
DBRWUSER=opensips
DBRWPW="opensips"
DBROOTUSER="root"
#mysql
mysql>quit
#opensipsdbctl create
(14)显示当前数据库中所有表的名称
#mysql
#mysql>use opensips
#mysql>show tables
#mysql>quit
(15)切换到/usr/local/src/opensips_24
#cd /usr/local/src/opensips_24
#sudo make menuconfig
Generate opensips script,Residential script,configure Residential script,选择包括USE_AUTH、USE_DBACC、USE_DBUSRLOC、USE_MULTIDOMAIN在内的模块
按一次“q”返回,选择进入save Residential script,按“enter”,然后选择进入Generate Residential script,最后退回到第一个界面,选择进入Exit&save all changes。
(16)切换到/usr/local/src/opensips_24/etc
#cd /usr/local/src/opensips_24/etc
#ls
#cp opensips_restidential_2022-12-2_8\:45\:22.cfg /usr/local/etc/opensips/opensips.cfg
将该文件复制到/usr/local/etc/opensips/opensips.cfg
(17)编辑/usr/local/etc/opensips/opensips.cfg配置文件
#vim /usr/local/etc/opensips/opensips.cfg
将IP地址改为该Ubuntu虚拟机的IP地址,端口号不变,修改mpath="/lib64/opensips/modules/",然后保存退出。
(18)#opensipsctl add 1000 1000
#mysql
#mysql>use opensips
#mysql>select * from subscriber
到此opensips就算是搭建完成了。
注:属学习笔记,如有错误,欢迎指正