opensips源代码安装与配置的技巧方法_Linux

1.源代码下载

1.1 opensips源码包下载

  最新的opensips下载位置:http://opensips.org/pub/opensips/latest/src/

  所有版本的opensips下载位置:http://opensips.org/pub/opensips/

1.2 opensips依赖包下载

  源代码安装软件要注意查看README,INSTALL等文件,这些文件里有很重要的说明和安装信息。

  在INSTALL文件中有opensips所依赖的软件包的说明,这里仅缺少如下几个软件包:

  1) bison or yacc (Berkley yacc)

  2) flex

  3) libncurses5-dev and m4

  缺少什么软件包可以选择在线安装或下载源代码包安装。

  $apt-cache search xxxx   搜索软件包

  $apt-get install xxxxx   安装软件包

  ./configure,make,sudo make install  源代码安装的一般步骤

1.2.1 bison

    bison的安装依赖m4, m4 是一个宏处理器,将输入拷贝到输出,同时将宏展开。
    m4下载地址为:ftp://ftp.gnu.org/gnu/m4/
    GNU http://www.gnu.org/software/bison/ 中对bison的介绍。
    下载源代码包地址:http://ftp.gnu.org/gnu/bison/
    安装bison很简单:./configure,make,sudo make install

1.2.2 flex

      使用google搜索linux flex,不要用baidu!

  flex是最快的词法分析器。flex:The Fast Lexical Analyzer,网址:http://flex.sourceforge.net/

  如下链接中说明了在ubuntu系统中安装flex的具体过程。flex也依赖m4宏处理包,同上。

http://www.geeksww.com/tutorials/operating_systems/linux/installation/installing_flex_fast_lexical_analyzer_ubuntu_linux.php

  选择一个版本下载后,解压安装,./configure,make,sudo make install

  以上就是我安装opensips的过程中缺少的包,如果还缺少什么包都会提示的,下载安装即可。

2.opensips安装

2.1 安装

   INSTALL文件中有关于opensips安装的说明:

  最简单的安装方法:

  $make all

  $sudo make install

   注意事项:如果在安装的过程中使用了prefix选项,那就必须要在前面的编译中也使用prefix选项,并且使用的目录

也是相同的。如果没有按照这样做的话,那就会导致opensips找不到默认的配置文件,也就是说opensips会在错误的

目录中寻找配置文件。因为中编译阶段,默认的配置文件目录已经被硬编码到opensips中。

   默认安装的位置为/usr/local,而使用了prefix则指定了安装目录。

  1)一个错误的例子:  make all  make prefix=/ install  2)正确的使用方法:  make prefix=/ all  make prefix=/ install 2.2 卸载方法(个人想法)

  如果将opensips安装在/usr/local下,则与opensips相关的文件所在的位置如下所示:  /usr/local/etc/opensips   /usr/local/sbin/opensips*   /usr/local/lib/opensips   此时如果想把opensips安装在根目录下 / ,则需要卸载opensips,方法是删除以上目录中的文件。2.3 安装后目录结构

       opensips安装之后的文件目录:

       /sbin/中的可执行命令有如下:opensips 、opensipsctl  、  opensipsdbctl  、 opensipsunix

       /etc/opensips/中的配置文件有:opensips.cfg、opensipsctlrc和osipsconsolerc

       /lib/opensips/中的库文件有:modules/ 和 opensipsctl/两个目录。modules/ 为当前opensips所支持的模块,

opensipsctl/中是/sbin中启动命令要使用到的文件。

3.opensips启动

3.1 opensips命令启动

  $sudo opensips3.2 opensipsctl命令启动

  启动opensips命令: $sudo opensipsctl start

  如果出现一下错误:

  INFO: Starting OpenSIPS :

  ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed

  可以查看系统日志来检查失败的原因:

  $tail –n 20 /var/log/syslog

  1) 错误一:ERROR:core:daemonize: unable to create pid file /var/run/opensips.pid: Permission denied

   解决方法:这个问题就是权限问题,在命令前加上sudo。

  2)  错误二:ERROR:core:main:loading config file(/usr/local/etc/opensips/opensips.cfg):No such file or directory

   分析:这个问题就是启动配置文件找不到。经过分析发现opensips从/usr/local/中读取默认配置文件,原因是

犯了2.1节中的错误,在编译时使用默认的路径/usr/local/,而在安装时使用prefix=/选项,这就导致了配置文件找不到。

   解决方法:make clean, make prefix=/ all, sudo make prefix=/ install重新编译安装,然后启动opensips。

4.opensips配置文件

  opensips的配置文件都在/etc/opensips/中,分别为opensips.cfg、opensipsctlrc和osipsconsolerc。

  opensips.cfg文件主要用于opensips启动的配置,所有应用功能的配置都在这个文件中说明。该配置文件主要由

三个部分组成:

       第一部分是全局变量,如:

       listen=udp:127.0.0.1:5060

       disable_tcp=yes

       disable_tls=yes等。

       第二部分主要用来加载模块,并设置相应参数,如:

       loadmodule "db_mysql.so"

       loadmodule "auth.so"

       loadmodule "auth_db.so"

       modparam("auth", "calculate_ha1", yes)

       modparam("auth_db", "password_column", "password")等。

       第三部分主要是路由策略和功能应用,如:

       route[relay] {

              # for INVITEs enable some additional helper routes

              if (is_method("INVITE")) {

              t_on_branch("per_branch_ops");

              t_on_reply("handle_nat");

              t_on_failure("missed_call");

       }

       ……

}

       opensipsctlrc文件中包含了数据库配置的信息。

时间: 2024-10-25 10:52:22

opensips源代码安装与配置的技巧方法_Linux的相关文章

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置的详细方法_Linux

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装,如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数据的存储呀!!!没错,咱们还差一个最重要的软件没有装,也就是数据库!!!如果没有了数据库,咱们做项目简直是空想

介绍CVS服务器的安装、配置与使用方法

CVS是目前比较流行与优秀的版本管理与控制工具,它深受大多数http://www.aliyun.com/zixun/aggregation/7155.html">开发人员与系统管理者的喜爱,同时也是用来管理其它日常文档的强有力工具.下面,小编就对CVS服务器的安装.配置与使用方法进行简单.扼要的介绍,以帮助大家尽快的使用CVS来进行一些版本的管理与控制工作. 1.CVS服务器的安装 CVS服务器版可以从网上的很多地方下载到,也可以到CVS的官方网站进行下载.根据你所使用的系统,下载相应的版

linux下安装php扩展memcache的方法_Linux

memcache 的工作就是在专门的机器的内存里维护一张巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率,减轻后端数据库的读写压力. 实验环境:centos 6.6 x86_64 LAMP环境搭建完毕:php版本5.6.8.apache版本2.4.12    1.在安装memcached之前需要安装libevent支持: # wget http://syslab.comsenz.com/downloads/linux/libevent-1.4.12-stable.

CentOS 7安装完成后初始化的方法_Linux

1.添加用户 新增名为"wang"的用户 [root@vdevops ~]# useradd wang #添加账户 [root@vdevops ~]# passwd wang #设置密码 Changing password for user wang. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@vdevops ~]# exit #退出

RHEL 7中防火墙的配置和使用方法_Linux

RHEL7 中使用了firewalld代替了原来的iptables,操作设置和原来有点不同: 查看防火墙状态:systemctl status firewalld 启动防火墙:systemctl start firewalld 停止防火墙:systemctl stop firewalld 防火墙中的一切都与一个或者多个区域相关联,下面对各个区进行说明: Zone Description ----------------------------------------------------- d

rhel5.7下安装gearmand及启动的方法_linux shell

本文简述了在rhel5.7下安装gearmand及启动的方法,供大家学习参考! 首先,到官网https://launchpad.net/gearmand/下载gearmand的源码包,传到rhel5.7的系统上,并解压.   运行configure: [@localhost gearmand-1.1.11]# ./configure --prefix=/usr/local/gearman --with-mysql --with-sqlite3=no 这时候会出现报如下错误: checking f

在CentOS 6.3中安装与配置SVN的方法

安装说明 系统环境:CentOS-6.3 安装方式:yum install (源码安装容易产生版本兼容的问题) 安装软件:系统自动下载SVN软件 检查已安装版本 复制代码 代码如下: #检查是否安装了低版本的SVN [root@zck /]# rpm -qa subversion #卸载旧版本SVN [root@zck modules]# yum remove subversion 安装SVN [root@zck modules]# yum install httpd httpd-devel s

CentOS 6.7系统下安装配置JDK的方法_Linux

前言 本文是主要是记录CentOS 6.7系统下安装JDK7的过程记录,下面话不多说,来一起看看吧. 方法如下: 1.上Oracle官方下载最新的JDK安装包,为了方便安装建议下载rpm包       http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.在服务器端执行安装 sudo rpm -ivh /目录/jdk-7-linux-x64.rpm 3.设置环境变量 这里我们需要找到profile文件,添加环境变

详细CentOS-6.3安装配置SVN的方法_Linux

安装说明 系统环境:CentOS-6.3 安装方式:yum install (源码安装容易产生版本兼容的问题) 安装软件:系统自动下载SVN软件  检查已安装版本 #检查是否安装了低版本的SVN [root@localhost /]# rpm -qa subversion #卸载旧版本SVN [root@localhost modules]# yum remove subversion 安装SVN [root@localhost modules]# yum install httpd httpd