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

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文件中包含了数据库配置的信息。

时间: 2013-04-17

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

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

Windows 安装和配置 WSL的方法步骤

什么是 WSL 引用百度百科的一段话: Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行. 我们简单的认为它是在 Windows 上安装了一个 Linux 环境就好了.也就是最好的

在Windows平台下安装与配置Memcached的方法分享

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信.但是它并不提供冗余(例如,复制其hashmap条目):当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失. Memcached由Da

Docker nginx安装与配置挂载的方法

在Docker下载Nginx镜像 docker pull nginx docker images 创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,html,logs} 编写nginx,conf配置文件,并放在文件夹中 # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Rus

mysql 5.7.14 下载安装、配置与使用详细教程

 下载 a.我这里用的是 ZIP Archive版的,win8 64位的机器都支持 这个所以我建议都用这个.还有这个比较简单而且还很干净.地址见图.拖到最下面,看清楚了64bit ZIP Archive,点击Download. b.点开之后会进入另一个页面,但却没有下载,这个时候不用怕,看不懂也没关系,他的意思就是让你登录(login),或者注册个账号(sign up)就行了,登录或者注册成功后就开始下载了.(记住密码要字母和数字组合,并且要大小写混合) c.当然如果你有的话也可以直接登录. 成

mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)

话说凌晨刚折腾完一台MySQL 5.7.19版本的安装,未曾料到早上MySQL官方就发布了最新的5.7.20版本.这个版本看似更新不多,但是加入了一个我们所急需的功能. MySQL 5.7.20版本新增了参数group-replication-member-weight,用来表示选主时服务器的优先级.若没有这个优先级,则之前版本的MGR会选择一个或许不是用户想要的节点,这是一个令人头疼的问题.相信5.7.20版本新增的该参数能解决一些用户的痛点. 1. 下载: mysql-5.7.20是解压版免

php版本CKEditor 4和CKFinder安装及配置方法图文教程

本文实例讲述了php版本CKEditor 4和CKFinder安装及配置方法.分享给大家供大家参考,具体如下: 下载并解压CKEditor 4和CKFinder CKEditor 4下载地址:https://ckeditor.com/cke4/builder,选择自定义的版本,记得加上中文语言包 CKFinder下载地址:https://download.cksource.com/CKFinder/CKFinder%20for%20PHP/3.4.4/ckfinder_php_3.4.4.zip

Symfony的安装和配置方法

本文实例讲述了Symfony的安装和配置方法.分享给大家供大家参考,具体如下: 手工安装Symfony很简单,几乎没有太多需要讲的.打开 http://symfony.com/download ,从页面的选择列表中选择一个 Symfony 的发行版本,再点击旁边的 "DOWNLOAD NOW",把下载到的文件包解压到你的 Web 服务器上的某个位置,安装就算完成了.(选择版本号最高的那个通常是最好的,tgz格式还是zip格式只是个人喜好问题,每个版本的Symfony还有一个"

PostgreSQL安装、配置及简单使用方法

一.PostgreSQL简介 1.什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON何JSONB类型,数组类型)和自定义类型.而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数.触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python.PL/Tcl,等等. 2.PostgreSQL数