简介
之前已经简单介绍了freeswitch的安装,windows版本的安装请参考之前的文章,本文重点介绍centos7下的环境安装。
从源码开始安装
首先安装freeswitch的运行库
--更新yum
yum update
--安装依赖
yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel
下载源码包
--进入安装目录
cd /usr/local/src
--下载源码包
wget http://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.6.-release.tar.gz
--解压源码压缩包
tar zxvf freeswitch-1.10.6.-release.tar.gz
安装必要的模块
--进入目录
cd freeswitch-1.10.6.-release
--编译(会出现编译错误)
./configure
- 错误一
原因:缺少sofia-sip和spandsp模块
- 安装必要模块
--安装sofia-sip模块
cd /usr/local/src/freeswitch-1.10.6.-release
git clone https://github.com/freeswitch/sofia-sip.git cd sofia-sip
./bootstrap.sh -j
./configure
make
make install
ldconfig
--安装spandsp模块
cd /usr/local/src/freeswitch-1.10.6.-release
git clone https://github.com/freeswitch/spandsp.git
cd spandsp
./bootstrap.sh -j
./configure
make
make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
ldconfig
备注:若出现上面两个文件无法下载,请检查网络并多次下载尝试,笔者也遇到多次无法下载的情况
- 继续安装
--重新编译
./configure
make
- 错误二
Configuration failed. This could reflect a misconfiguration of your toolchains, improper options selected, or another problem. If you don't see any useful error messages above, the next step is to look at the configure error log file (config.log) to determine what configure was trying to do when it died. make: *** [libs/libvpx/Makefile] Error 1
原因:缺少必要组件,安装组件
git clone https://github.com/yasm/yasm.git && cd yasm && ./autogen.sh && make && make install
- 继续安装,继续出错
make[2]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release”
Making all in src
make[2]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src”
Making all in mod
make[3]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod”
making all mod_amr
make[4]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/codecs/mod_amr”
CC mod_amr_la-mod_amr.lo
CCLD mod_amr.la make
[4]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/codecs/mod_amr”
making all mod_av make
[4]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/applications/mod_av”
Makefile:1446: *** You must install libavformat-dev and libswscale-dev to build mod_av。 停止。
make[4]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/applications/mod_av”
make[3]: *** [mod_av-all] 错误 1
make[3]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod”
make[2]: *** [all-recursive] 错误 1
make[2]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release”
make: *** [all] 错误 2
错误原因:由于许多模块未安装导致无法安装成功。因为这些模块未使用到所以选择不安装
在/usr/local/src/freeswitch-1.10.6.-release/modules.conf中注释掉对应模块即可不安装
禁用的模块有:mod_opus mod_signalwire applications/mod_av
取消禁用 mod_xml_curl
- 继续安装
make
make install
安装声音文件
make cd-sounds-install
make cd-moh-install
安装完毕
**至此,简单的freeswitch已经安装完毕,如需要其中的其他模块可单独安装**