从Git安装Kamailio v4.3.x

限于喜欢 提交于 2019-12-02 18:38:10

###声明

###安装环境和版本

  • 操作系统:Ubuntu 12.04.5 64bit
  • Kamailio:v4.3.x

###安装之前

先安装/更新所有依赖的工具/库

sudo apt-get update
sudo apt-get install git gcc flex bison libmysqlclient-dev make libssl-dev libcurl4-openssl-dev libxml2-dev libpcre3-dev

###从Git下载源码

先为要下载的源码创建文件夹并切换到其下

mkdir -p /usr/local/src/kamailio-4.3
cd /usr/local/src/kamailio-4.3

下载源码

git clone --depth 1 --no-single-branch git://git.kamailio.org/kamailio kamailio
cd kamailio
git checkout -b 4.3 origin/4.3

注意

  • 如果你的git版本不支持--no-single-branch,将其去掉即可。

###调置Makefile

生成用于创建Kamailio的配置文件,加入需要编译的额外的module,并且为了删除方便,这里把所有文件都安装到同一个文件夹下(/usr/local/kamailio-4.3)。

make PREFIX="/usr/local/kamailio-4.3" include_modules="db_mysql" cfg

###编译并安装Kamailio

运行

make all
make install

所有编译后的二进制文件和可执行的脚本都已安装到/usr/local/kamailio-4.3/sbin。将这个地址添加到PATH值中,便于在命令行里运行这些二进制文件和脚本。

PATH=$PATH:/usr/local/kamailio-4.3/sbin
export PATH

所有启用的module都在/usr/local/kamailio-4.3/lib64/kamailio/modules/文件夹下(因为是64位系统)。

文档和readme文件在/usr/local/kamailio-4.3/share/doc/kamailio

man文件位于/usr/local/kamailio-4.3/share/man/man5//usr/local/kamailio-4.3/share/man/man8

配置文件则是/usr/local/kamailio-4.3/etc/kamailio/kmailio.cfg

###创建MySQL数据库

安装MySQL

sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码

为Kamailio设置数据库的类型

vim /usr/local/kamailio-4.3/etc/kamailio/kamctlrc

找到DBENGINE变量,将其设为MYSQL。一般来说只需反注释一行代码就行。

DBENGINE=MYSQL

然后请务必更改读写用户和只读用户的密码

DBRWPW="XXXXXX"
...
DBROPW="YYYYYY"

最后创建数据库

usr/local/kamailio-4.3/sbin/kamdbctl create

###修改Kamailio的配置文件

vim /usr/local/kamailio-4.3/etc/kamailio/kamailio.cfg

在第一行之下加入

#!define WITH_MYSQL
#!define WITH_USRLOCDB

然后按照之前的设定更改数据库的读写用户kamailio的密码

#!define DBURL "mysql://kamailio:XXXXXX@localhost/kamailio

###init.d脚本

Kamailio提供了一份init.d脚本的样例,位于/usr/local/kamailio-4.3/src/kamailio-4.3/kamailio/pkg/kamailio/deb/debian/kamailio.init。这个脚本可以用来启动/关闭Kamailio服务器。

将这份样例拷贝到/etc/init.d/kamailio文件夹下,并更改其权限

cp /usr/local/src/kamailio-4.3/kamailio/pkg/kamailio/deb/debian/kamailio.init /etc/init.d/kamailio
chmod 755 /etc/init.d/kamailio

然后根据Kamailio所安装的位置,修改此文件中的两个值如下

DAEMON=/usr/local/kamailio-4.3/sbin/kamailio
CFGFILE=/usr/local/kamailio-4.3/etc/kamailio/kamailio.cfg

之后,复制一份默认的配置文件到所需的文件夹如下

cp /usr/local/src/kamailio-4.3/kamailio/pkg/kamailio/deb/debian/kamailio.default /etc/default/kamailio

并修改复制后的/efc/default/kamailio文件,使得RUN_KAMAILIO=yes。其他参数也可按需设置。

然后是为pid文件创建文件夹

mkdir -p /var/run/kamailio

最后一步是为运行Kamailio创建一个用户,名为"kamailio"分组也为"kamailio"

adduser --quiet --system --group --disabled-password \
        --shell /bin/false --gecos "Kamailio" \
        --home /var/run/kamailio kamailio

# set ownership to /var/run/kamailio
chown kamailio:kamailio /var/run/kamailio

###最后

至此,Kamailio已经安装成功,可以用

service kamailio start[stop|restart|status]

或者

/etc/init.d/kamailio start[stop|restart|status]

来启动(或者停止、重启、查看运行状态)。

由于通过Git来安装,日后的维护更新过程非常简单,只需运行以下代码:

cd /usr/local/src/kamailio-4.3/kamailio
git pull origin
make all
make install
/etc/init.d/kamailio restart
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!