opensips编译部署

本文介绍了OpenSIPS v2.2的安装部署过程。包括从网页和sourceForge下载的方法,编译时配置编译项和具有外部依赖的编译项,安装时减少编译时间和配置安装路径,还说明了部署数据库时配置db证书和创建数据库的操作。

opensips安装部署

下载 OpenSIPS v2.2

有多中方法可以下载opensips

从网页获取分支文件

最新的2.2版本的tar包可以直接从项目网址下载

http://opensips.org/pub/opensips/2.2.x/ 

从sourceForge获取tar包

从项目网址上获取的分支文件也可以在sourceForge下载。建议使用这种方式,下载更快

https://sourceforge.net/projects/opensips/files/OpenSIPS/

编译和安装opensips

视频教程

opensips团队已经举办了一次网络研讨会,将指导您快速安装opensips(下载源码,编译,部署等)和opensips控制面板(安装和配置用户)。并向您展示怎么在几分钟内获取一个功能齐全的平台。如果你觉得基于文本的视频教程更容易,请试试访问opensips安装研讨会页面并下载研讨会记录

编译

切换到opensips源码更目录,在这个目录运行如下命令

make all

那么opensip以及配置的模块都会被编译

配置编译项

opensips有各种能力相关的的编译时选项,例如你可以启用内存条是分配器或者启用tls(默认情况下禁用)等等
为了更改这些编译时选项,你需要使用menuconfig工具,因为menuconfig工具依赖于curses,在使用之前需要安装nurses 开发库。在基于debian的系统中,应该运行如下命令

apt-get install libncurses5-dev

之后在opensips源码根目录,运行如下命令

make menuconfig

导航到 配置编译选项菜单,你只需要使用arrows键(UP + DOWN)去浏览遨游上午选项(在控制台底部简要介绍了他们)。启用或者禁用他们是通过空格键完成的。完成配置后,可以使用q键返回然后点击“保存配置”
修改编译选项后,你应该重新编译安装opensips

配置具有外部依赖的编译项

有些opensips模块默认不编译,因为他们需要一些外呼依赖,而这些依赖并非来自你的系统。因此当你下载并安装源码是,这些模块需要特别关注。比如 DB_MYSQL(依赖于mysql开发库),JSON(依赖于外部的JSON_parse)
为了使用这些模块,你需要使用menuconfig工具
在opensips源代码根目录,运行’make menuconfig’,并且切到’configure excluded modules’,在这里你可以看到所有默认不开启的模块列表,并且模块功能的简明描述位于控制台底部。
使用空格启用或者禁用某个模块。一旦你选择了你需要的模块,按“q”返回上一个选项,然后点击“save changes”。工具将会展示你启用的模块,并展示成功编译这些模块锁需要的依赖。
更改之后需要重新编译安装。

安装

为了安装opensips,切到源代码根目录,运行如下指令

make install

默认情况下opensips将会安装在根目录\

减少编译时间

为了减少opensips的编译时间,可以使用FASTER变量。改功能利用‘-jNR_OF_CORES’多核并行编译所有模块。鉴于此,该方法会只能用大量的资源和进程(不大于内核的数目)当然这个变量会减少大部分编译输出
例如在4核机器上安装opensips,在根目录运行如下指令

FASTER=1 make -j4 install

配置安装路径

因为各种原因(在同一台机器上安装两个不同版本的opensips),有的时候我们需要更改opensips安装路径。为了达到该目的,你需要使用menuconfig工具
运行“make menuconfig”并且切换到“configure install prefix”,然后输入你自定义的opensips安装路径,然后向下导航到“save changes”并点击确定。之后你可以再进行“make install",那么opensisp将会在你指定的目录上安装部署。

部署数据库

配置db证书

到[install_path]/etc/opensips/目录,打开文件opensipsctlrc
并关注下面几行

  • DBENGINE=
    • 当前可用的选项MYSQL,PGSQL,ORACLE,DB_BERKELEY,或者DBTEXT
  • DBHOST=
    • 输入DB engine的主机
  • DBPORT=
    • 输入DB engine的端口
  • DBNAME=
    • 要创建的数据库的名字
  • DBRWUSER=
    • 在数据库中为opensips创建的具有读写权限的用户名
  • DBRWPW=
    • DBRWUSER的密码
  • DBROOTYSER=
    • 用于创建数据库,表和DBRWUSER的用户

创建数据库

为了创建你上面配置的数据库,你需要运行

[Install_Path]/sbin/opensipsdbctl create

当opensipsdbctl工具提醒时,请输入你的DBROOTUSER密码
如果你想创建一个不同于默认DBNAME的数据库,你可以运行如下命令

[Install_Path]/sbin/opensipsdbctl create my_custom_db_name

opensipsdbctl还可以用于执行备份,还原等等。如果你想要查看opensipsdbctl的功能和帮助手册,可以不带参数的运行

[Install_Path]/sbin/opensipsdbctl 
<think>首先我收到了用户的查询:“我想了解如何部署opensips-cli工具请问opensips-cli部署指南或opensips-cli安装配置教程”。这是明确的请求:用户要一份关于如何部署和配置OpenSIPSCLI工具的指南。查看系统级指令:我必须使用中文回答;行内数学表达式用$...$(尽管这里可能不涉及);保持结构化;生成相关问题;添加引用标识。在回答中引用源末尾如[^1]。同时参考提供的站内引用:[^1]-[^5],这些提供了关键信息,比如配置文件和安装步骤。用户的历史中提到了“系统级指令”,包括确保LaTeX语法正确(虽然这个话题不涉及数学公式),但我会忽略不相关的部分。关键是部署opensips-cli。现在分析引用内容:-[^1]:说明了配置文件的位置和顺序,提到了使用`-f`参数自定义路径。-[^2]:针对CentOS7,用yum安装OpenSIPS3.2和opensips-cli,命令是`/usr/bin/opensips-cli-f/usr/local/etc/opensips/opensips-cli.cfg-xdatabasecreateopensips`。-[^3]:描述基于GitHub下载和安装,步骤包括:克隆仓库、进入目录、用Python3安装。-[^4]:详述配置文件编辑,包括database设置如MySQL连接信息。-[^5]:在CentOS7.5上安装的步骤,解决了依赖问题,如安装mysql-devel和python3-devel。这些引用覆盖了安装方法(yum或源码)、配置文件和常见问题解决。用户需要部署指南,所以我会综合这些构建一个结构化回答。规划回答结构:1.**介绍和准备**:概述opensips-cli的作用,推荐环境(如CentOS7)。2.**安装方法**:根据引用,分两种途径:通过系统包管理(yum)或源码编译安装。3.**配置指南**:基于[^1]、[^4]、[^2],解释配置文件位置和编辑关键参数,如database_url。4.**验证和初始化**:演示如何运行命令创建数据库,如[^2]中的例子。5.**常见问题解决**:引用[^5],提示安装依赖时的错误。步骤必须清晰,确保可靠:信息来自引用,避免假设。例如,安装时指定版本以避免冲突。生成相关问题:按照指令,在结尾添加2-3个相关问题以引导用户深入思考。比如,“如何测试opensips-cli连接”或“常见配置错误”。最后,确保引用在自然位置添加。例如,当提及配置文件顺序时在句尾加[^1];提及数据库设置加[^4]。中文语言流畅。现在草拟大纲:-步骤1:系统准备(安装依赖)-步骤2:安装方法(A.yum安装;B.源码安装)-步骤3:配置文件设置-步骤4:初始化和验证-相关问题</think> ### OpenSIPS-CLI 部署与安装配置指南 OpenSIPS-CLI 是管理 OpenSIPS 服务器的命令行工具,适用于 Linux 系统(如 CentOS)。以下是基于引用[^1]-[^5]的完整部署指南,分步说明安装、配置和初始化过程。 #### **步骤 1: 系统环境准备** 在部署前,确保系统满足依赖要求: - **操作系统**:推荐 CentOS 7([^2] 和 [^5] 均在 CentOS 7 环境验证)。 - **依赖包安装**: ```bash sudo yum install python3 python3-pip mysql-devel python3-devel git -y ``` > 注意:如引用[^5]所述,`mysql-devel` 解决 "my_config.h 缺失" 错误,`python3-devel` 解决 "Python.h 缺失" 错误[^5]。 #### **步骤 2: 安装 OpenSIPS-CLI** 提供两种安装方式(任选其一): - **A. 通过 yum 快速安装(推荐)** 适用于 OpenSIPS 3.2+: ```bash sudo yum install opensips-3.2 opensips-cli -y ``` 安装后工具默认路径为 `/usr/bin/opensips-cli`[^2]。 - **B. 通过源码编译安装** 适合自定义版本或开发环境: ```bash cd /usr/local/src/ git clone https://github.com/opensips/opensips-cli cd opensips-cli sudo pip3 install mysqlclient sqlalchemy sqlalchemy-utils # 解决数据库依赖[^5] sudo python3 setup.py install clean ``` #### **步骤 3: 配置文件设置** 配置文件优先级为 `~/.opensips-cli.cfg` > `/etc/opensips-cli.cfg` > `/etc/opensips/opensips-cli.cfg`[^1],建议编辑统一路径: 1. **创建或编辑配置文件**: ```bash sudo vi /etc/opensips/opensips-cli.cfg ``` 2. **添加核心参数**(参考引用[^4]): ```ini [default] log_level: INFO database_url: mysql://opensips:opensipsrw@localhost # MySQL连接地址及密码 database_name: opensips # 数据库名称 fifo_file: /tmp/opensips_fifo # 通信管道 database_modules: ALL # 启用所有数据库模块 database_force_drop: true # 允许强制删除旧数据库 ``` > 需替换 `opensipsrw` 为实际数据库密码。 #### **步骤 4: 初始化与验证** 1. **创建数据库**: ```bash /usr/bin/opensips-cli -f /etc/opensips/opensips-cli.cfg -x database create opensips ``` 输入 MySQL root 密码后自动创建库和表结构[^2]。 2. **测试连接**: ```bash opensips-cli ``` 进入交互界面后输入 `version` 检查版本,或 `database list` 验证数据库连接[^5]。 #### **常见问题解决** - **依赖错误**:如编译时报 "my_config.h" 缺失,运行 `sudo yum install mysql-devel`[^5]。 - **Python 头文件缺失**:执行 `sudo yum install python3-devel`[^5]。 - **配置文件路径**:使用 `-f` 参数指定自定义路径,例如 `opensips-cli -f /usr/local/etc/opensips-cli.cfg`[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值