ubuntu下asterisk安装

环境:Ubuntu 12.04      asterisk 11.12.0


安装过程

1.下载asterisk源码,网址:http://downloads.asterisk.org/pub/telephony/asterisk/,我下载的是 asterisk-11.12.0.targz ,下载到了  /home/sa

2.选择安装目录,我的安装目录为: /usr/local/src

3.解压,先进入要安装的目录,然后解压。命令:

    su root  //切换到root  安装过程中一直是root权限

    cd /usr/local/src   //进入要安装目录

    tar -zvxf  /home/sa/asterisk-11.12.0.targz  //解压

    cd asterisk-11.12.0 //进入到解压后的目录下,准备安装

4. ./configure    //检测环境和配置,基本都会出错。。根据提示安装缺少的包

出现*图案,表示环境配置和检测成功。


(我是按这个教程安装的  图片直接拿过来用)

   我遇到的问题以及网上其他问题总结

   (1)  configure: *** XML documentation will not be available because the ‘libxml2′ development package is missing.

             configure: *** Please run the ‘configure’ script with the ‘–disable-xmldoc’ parameter option

             configure: *** or install the ‘libxml2′ development package.

            解决办法:apt-get install libxml2-dev

   (2)  Warning: Install SQLite3 development packege

          解决办法:sudo apt-get install sqlite3 libsqlite3-dev

   (3) configure: error: C++ preprocessor “/lib/cpp” fails sanity check (缺少gcc g++编译器,下面的代码一次解决)

         解决办法:apt-get install build-essential

   (4)  configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)

          解决办法:apt-get install ncurses-dev

   如果缺少其他的包接着安装。基本上这样就可通过,但是后面还有问题。。出现了上面的 * 图案,开始下面的安装

5.make menuselect  (可选的命令,一般也不执行)//可以看哪些模块会被装上 或者看某块间的依赖关系,比如一个模块要依赖另一个,另一个没装,那这个模块就不会被编译安装,一般都跳过。。

6. make  //开始编译

  成功后出现下图

  

7. make install //安装

成功后出现下图



8. make samples 是安装一些模板 很快

    make progdocs 是安装一些文档 比较大  几百兆

   一般第一次安装会选择安装 make samples

9.上述操作成功后 输入   asterisk -vvvc 就可以进入asterisk了  出现

   *CLI>

   安装成功。


其他问题——安装完没有chan_sip模块

安装asterisk后可以使用eyeBeam或者X-Lite进行测试的,但是输入help命令,发现找不到跟sip相关的命令,输入 make menuselect ,发现Channel Drievers里面的chan_sip.so前面是XXX   也就是说chan_sip.so没有被安装上,可以看到它下面依赖(depend)三个模块,(模块已安装前面应该是[*],至少不是XXX),我的情况是三个模块chan_local.so (貌似是这个名字记不清了 反正是第一个)已经安装,第三个应该也安装了,因为第二个模块res_crypto的问题解决后,sip模块就安装上了。解决办法

找到res_crypto模块,发现它依赖于openssl。我没有安装openssl,搜了一下,用如下命令解决:(如果在./configure之前就安装好这些就不会出现这问题,但作为初学者,也没有找到该事先安装好哪些包的列表。。)

apt-get install openssl

apt-get install libssl-dev

一般这样就可以解决了,但很遗憾。。我的还是有问题,还是没有chan_sip模块 搜了一下 发现还是缺包,下面一条命令解决:

apt-get install  zlibc zlib-bin libidn11-dev libidn11

再重新编译安装,就有chan_sip模块了


官方安装文档:http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/README-11.12.0

其中提到  On many distributions, these dependencies are installed by packages with names like 'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel'  or similar.

其实安装出现种种问题,都是由于这几个包没有提前装好,最好按照官方文档直接安装,Ubuntu本身也没有安装gcc g++编译器,要提前安装好,不然没法编译asterisk源文件。


作为一名初学者,折腾了很久,不过还不是很明白……现在想想,在最开始 ./configure 前就应该安装的上述的包,执行命令如下:

apt-get install build-essential  //安装g++ gcc编译器,及库函数 也解决了glibc-devel安装,这个东西在Ubuntu下叫libc,后缀devel是rpm系的习惯,deb系用的是dev

apt-get install libxml2-dev

sudo apt-get install sqlite3 libsqlite3-dev

apt-get install ncurses-dev  //安装ncurses-dev包

apt-get install openssl     //openssl

apt-get install libssl-dev

apt-get install  zlibc zlib-bin libidn11-dev libidn11   //zlib-dev


如果还缺别的包再根据提示安装,先安装好这些包再装asterisk楼主还没有试过。。不过应该可以。。


   


展开阅读全文

没有更多推荐了,返回首页