在ubuntu22.04上先部署docker,再编译安装kamailio,附详细操作流程及docker和makailio的版本号

news/2025/2/6 12:10:37 标签: kamaimio

以下是在Ubuntu 22.04上部署Docker并编译安装Kamailio的详细操作流程,包含版本号信息:


一、部署Docker(版本:24.0.7)

  1. 更新系统包

    sudo apt update && sudo apt upgrade -y
    
  2. 安装依赖工具

    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker官方GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  4. 添加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
    
  5. 安装Docker Engine

    sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  6. 启动Docker并设置开机自启

    sudo systemctl enable --now docker
    
  7. 验证Docker安装

    sudo docker run hello-world
    

    出现 Hello from Docker! 表示成功。

  8. 将当前用户加入docker组(可选)

    sudo usermod -aG docker $USER
    newgrp docker  # 重新加载组权限(需重新登录生效)
    

二、编译安装Kamailio(版本:5.8.3)

  1. 安装编译依赖

    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
    
  2. 下载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
    
  3. 配置编译选项

    make cfg  # 生成默认配置
    # 编辑modules.lst选择模块(例如启用db_mysql、tls等)
    # 或直接通过参数指定模块
    sed -i 's/include_modules= /include_modules= db_mysql tls /' src/modules.lst
    
  4. 编译并安装

    make all
    sudo make install
    
  5. 创建Kamailio用户和组

    sudo groupadd kamailio
    sudo useradd -g kamailio -d /var/run/kamailio -s /sbin/nologin kamailio
    
  6. 配置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
      
  7. 创建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
    
  8. 启动Kamailio并验证

    sudo systemctl daemon-reload
    sudo systemctl enable --now kamailio
    sudo systemctl status kamailio
    
  9. 验证版本

    /usr/local/sbin/kamailio -V
    

    输出应包含 version: 5.8.3


关键版本信息

  • Docker: 24.0.7(截至2023年10月最新稳定版)
  • Kamailio: 5.8.3(截至2023年10月最新稳定版)

注意事项

  1. 若需启用特定模块(如WebSocket、Redis等),需安装对应依赖并修改 include_modules
  2. 生产环境建议配置数据库(如MySQL)并初始化表结构:
    sudo mysql -u root -p < /usr/local/etc/kamailio/dbinit.mysql
    
  3. 防火墙需开放SIP协议端口(默认UDP 5060)。

http://www.niftyadmin.cn/n/5842987.html

相关文章

基于python热门歌曲采集分析系统

基于Python的热门歌曲采集分析系统是一个综合性的音乐数据处理平台&#xff0c;它利用Python的强大功能&#xff0c;结合数据库和前端技术&#xff0c;实现了对热门歌曲的采集、分析、展示和管理。以下是对该系统的详细介绍&#xff1a; 一、系统架构与技术栈 1.后端&#xf…

CTFSHOW-WEB入门-PHP特性89-100

题目&#xff1a;web 89 题目&#xff1a;解题思路&#xff1a;这道题目涉及了两个函数&#xff1a;preg_match&#xff08;&#xff09;和intval&#xff08;&#xff09;简要介绍一下两个函数 preg_match&#xff08;&#xff09;用于对字符串进行正则表达式的匹配&#xff0…

【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信

Kubernetes中Pod间的通信 本系列文章共3篇: 【Kubernetes Pod间通信-第1篇】在单个子网中使用underlay网络实现Pod到Pod的通信【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信(本文介绍)【Kubernetes Pod间通信-第3篇】Kubernetes中Pod与ClusterIP服务之间的通信…

java求职学习day28

XML 1. XML基本介绍 1.1 概述 XML 即可扩展标记语言&#xff08; Extensible Markup Language &#xff09; (1)W3C 在 1998 年 2 月发布 1.0 版本&#xff0c; 2004 年 2 月又发布 1.1 版本&#xff0c;但因为 1.1 版本不能向下兼容 1.0 版本&#xff0c;所以1.1 没有人用。…

数据结构-堆和PriorityQueue

1.堆&#xff08;Heap&#xff09; 1.1堆的概念 堆是一种非常重要的数据结构&#xff0c;通常被实现为一种特殊的完全二叉树 如果有一个关键码的集合K{k0,k1,k2,...,kn-1}&#xff0c;把它所有的元素按照完全二叉树的顺序存储在一个一维数组中&#xff0c;如果满足ki<k2i…

为AI聊天工具添加一个知识系统 之87 详细设计之28 Derivation 统一建模元模型 之1

文本要点 要点 Derivation 统一建模元模型 Derivation 统一建模元模型&#xff1a;意识原型的祖传代码&#xff0c;即支撑 程序框架的 符号学中的 自然和逻辑树。 这棵树的雏形中描述了三种建模工件&#xff1a;语用钩子&#xff0c;语法糖和语义胶水。 三种工件对应的三“…

Day36-【13003】短文,数组的行主序方式,矩阵的压缩存储,对称、三角、稀疏矩阵和三元组线性表,广义表求长度、深度、表头、表尾等

文章目录 本次课程内容第四章 数组、广义表和串第一节 数组及广义表数组的基本操作数组的顺序存储方式-借用矩阵行列式概念二维数组C语言对应的函数-通常行主序方式 矩阵的压缩存储对称矩阵和三角矩阵压缩存储后&#xff0c;采用不同的映射函数稀疏矩阵-可以构成三元组线性表三…

说一下JVM管理的常见参数

Java虚拟机&#xff08;JVM&#xff09;有许多常见参数&#xff0c;用于控制其行为和性能。以下是一些常见的JVM参数及其说明&#xff1a; 1. 内存管理参数 -Xms<size> START 设置初始堆内存大小。例如&#xff0c;-Xms512m表示初始堆大小为512MB。 -Xmx<size>…