以下是在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)。