今天在阿里云上申请了个免费的服务器,操作系统选择了Centos6.5。尝试安装 Asterisk13,几经周折,终于成功。记录如下。
经确认(rpm -q bison-devel),
以下组件没有安装,用yum 命令逐一安装
yum install bison-devel
yum install ncurses-devel
yum install zlib-devel
yum install openssl-devel(???)
yum install gnutls-devel
yum install gcc-c++
yum install mysql-devel
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
具体安装过程,网上说明很多,仅仅记录中间遇到的问题及解决办法
1) configure 过程中,提示 uuid support not found (this typically means the libjansson development package is missing):
解决办法:
yum -y install uuid-devel
yum -y install libuuid libuuid-devel
2)configure 过程中,提示: JSON support not found
解决:
下载:jansson-2.5.tar.gz
tar -zxf jansson-2.5.tar.gz
cd jansson*
./configure --prefix=/usr/ && make clean && make && make install && ldconfig
3 configure 过程中提示:'libxml2'development package,
configure: *** The Asterisk menuselect tool requires the 'libxml2' development package.
configure: *** Please install the 'libxml2' development package.
下载libxml2-2.6.32.tar.gz:http://download.chinaunix.net/down.php?id=28493&ResourceID=6095&site=1
解压:tar -zxf libxml2-2.6.32.tar.gz
编译、安装
4). configure: error: *** Asterisk now uses SQLite3 for the internal Asterisk database.
解决办法:
下载sqlite-3.3.5.tar.gz:http://download.chinaunix.net/down.php?id=19777&ResourceID=9862&site=1
解压:tar -zxf sqlite-3.3.5.tar.gz
编译、安装
至此,可以 configure通过,然后 make,make install, make samples 即可完成安装。
1)OpenSSL问题
安装后,用 asterisk命令启动,结果报错:
asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file or directory
以及,asterisk: error while loading shared libraries: libjansson.so.4: cannot open shared object file: No such file or directory
原来,是自己安装的动态链接库文件的路径不对,默认安装的/usr/local/lib目录下了,了,(可在系统根目下,用 find -name libasteriskssl* 命令搜索文件所在位置)。
用ln命令将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /usr/local/lib/*.so /usr/lib
ln -s /usr/local/lib/*.so.4 /usr/lib
ln -s /usr/local/lib/*.so.1 /usr/lib
然后重新载入:ldconfig 即可!
2)关于OpenSSL漏洞的问题
centos 系统默认的OpenSSL 版本是 1.0.1e,不知道是否已经修复了漏洞。
OpenSSL 暴露的Heartbleed 心脏流血漏洞极大地影响了网络安全。众所周知,
Asterisk使用了OpenSSL来对信令进行安全加密,支持的模块包括对SIP协议,XMPP,AMI和ARI。
如果用户在Asterisk中使用了TLS,并且OpenSSL的版本如果是有漏洞的版本,请用户及时更新OpenSSL版本。有漏洞的版本从OpenSSL1.0.1 到1.0。如果用户使用了以上的版本。
为保险起见,安装之后,将其升级到最新版本OpenSSL 1.0.1p。升级过程参见:
启动asterisk时,提示缺少动态连接库 *.so--cannot open shared object file: No such file or directory 之类的解决办法参见:
http://www.cnblogs.com/smartvessel/archive/2011/01/21/1940868.html
4)相关文件
安装过程中,需要的几个文件,已经分享,可从这里下载:
http://pan.baidu.com/s/1gdtuBuF