在ubuntu22.04上先部署docker,再编译安装kamailio,附详细操作流程及docker和makailio的版本号
以下是在Ubuntu 22.04上部署Docker并编译安装Kamailio的详细操作流程,包含版本号信息:
一、部署Docker(版本:24.0.7)
-
更新系统包
sudo apt update && sudo apt upgrade -y
-
安装依赖工具
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
-
添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加Docker仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
安装Docker Engine
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
-
启动Docker并设置开机自启
sudo systemctl enable --now docker
-
验证Docker安装
sudo docker run hello-world
出现
Hello from Docker!
表示成功。 -
将当前用户加入docker组(可选)
sudo usermod -aG docker $USER newgrp docker # 重新加载组权限(需重新登录生效)
二、编译安装Kamailio(版本:5.8.3)
-
安装编译依赖
sudo apt install -y gcc make flex bison libssl-dev libpcre3-dev libmysqlclient-dev libxml2-dev libcurl4-openssl-dev libsnmp-dev libncurses5-dev libreadline-dev libjson-c-dev git
-
下载Kamailio源码
wget https://www.kamailio.org/pub/kamailio/5.8.3/src/kamailio-5.8.3_src.tar.gz tar -xzf kamailio-5.8.3_src.tar.gz cd kamailio-5.8.3
-
配置编译选项
make cfg # 生成默认配置 # 编辑modules.lst选择模块(例如启用db_mysql、tls等) # 或直接通过参数指定模块 sed -i 's/include_modules= /include_modules= db_mysql tls /' src/modules.lst
-
编译并安装
make all sudo make install
-
创建Kamailio用户和组
sudo groupadd kamailio sudo useradd -g kamailio -d /var/run/kamailio -s /sbin/nologin kamailio
-
配置Kamailio
- 复制默认配置文件:
sudo mkdir -p /usr/local/etc/kamailio sudo cp etc/kamailio.cfg /usr/local/etc/kamailio/ sudo cp etc/dbinit.mysql /usr/local/etc/kamailio/
- 按需编辑配置文件:
sudo nano /usr/local/etc/kamailio/kamailio.cfg
- 复制默认配置文件:
-
创建Systemd服务
sudo nano /etc/systemd/system/kamailio.service
添加以下内容:
[Unit] Description=Kamailio SIP Server After=network.target [Service] Type=simple User=kamailio Group=kamailio ExecStart=/usr/local/sbin/kamailio -f /usr/local/etc/kamailio/kamailio.cfg -P /var/run/kamailio/kamailio.pid -m 64 -M 16 Restart=on-failure [Install] WantedBy=multi-user.target
-
启动Kamailio并验证
sudo systemctl daemon-reload sudo systemctl enable --now kamailio sudo systemctl status kamailio
-
验证版本
/usr/local/sbin/kamailio -V
输出应包含
version: 5.8.3
。
关键版本信息
- Docker: 24.0.7(截至2023年10月最新稳定版)
- Kamailio: 5.8.3(截至2023年10月最新稳定版)
注意事项
- 若需启用特定模块(如WebSocket、Redis等),需安装对应依赖并修改
include_modules
。 - 生产环境建议配置数据库(如MySQL)并初始化表结构:
sudo mysql -u root -p < /usr/local/etc/kamailio/dbinit.mysql
- 防火墙需开放SIP协议端口(默认UDP 5060)。