-lang-en freeswitch-sounds-en-* freeswitch-sounds-music-*
freeswitch-lua freeswitch-xml-cdr
freeswitch-database-mariadb
systemctl enable freeswitch
4、使用内置mariadb数据库:注意,如果使用FS的mariadb支持就不能使用最新的mariadb,要用centos自带的,否则mysql
C connector版本不兼容!
yum install -y mariadb mariadb-sever
service mariadb start
systemctl enable mariadb
mysql_secure_installation
上面修改root用户密码,后面需要创建freeswitch的空数据库(建议用默认字符集)
5、修改FS配置文件,启用mariadb:里面默认启用的是pgsql,mariadb的被注释了,启用即可
vi
/etc/freeswitch/autoload_configs/pre_load_modules.conf.xml
6、修改FS配置文件,让FS的核心使用mariadb(mysql)数据库:需修改 core-db-dsn 或
odbc-dsn 数据库连接的相关信息,按上面自己设置的内容连接,连接串的格式为
mariadb://Server=localhost;Database=freeswitch;Uid=freeswitch;Pwd=pass;
vi
/etc/freeswitch/autoload_configs/switch.conf.xml
vi
/etc/freeswitch/autoload_configs/db.conf.xml
vi
/etc/freeswitch/sip_profiles/internal.xml
vi
/etc/freeswitch/sip_profiles/internal-ipv6.xml
7、启动FS
service freeswitch start
小记说明:测试运行正常,安装后配置文件中 mod_b64、mod_png、mod_av
这几个默认存在的模块都不可用,而且FS也没有相关的包,开发中需使用的ESL库(libesl.a)也不可用(没有相关包,安装了
freeswitch.devel
包也不包含,必须自己编译,所以,还是要下载源代码,又回到原点了)...,考虑到实际使用,看来源码编译安装还是不可替代的!所以吗,
yum安装,仅对一般使用者,对有扩展开发的还是不行!!
======FS1.10====== 源代码编译
======================
1、centos7.7 最小安装
2、FS的源代码编译基础环境,这里使用yum-builddep工具,基于FS的yum包依赖库批量安装,简单了很多:
yum install -y
https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm
epel-release yum-utils
yum-builddep -y freeswitch
yum install -y yum-plugin-ovl centos-release-scl
rpmdevtools git
yum install -y devtoolset-4-gcc*
scl enable devtoolset-4 'bash'
3、下面这个是对mod_av的补充,mod_av需要libavformat-dev,但centos没有,通过第三方yum库安装ffmpeg-devel包实现(yum的FS版本里面是没有mod_av、mod_b64、mod_png的,所以上面的安装也就没有):
rpm --import
http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh
http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install -y ffmpeg-devel
4、开始安装:
cd /usr/local/src
git clone -b v1.10
https://github.com/signalwire/freeswitch.git
freeswitch
cd /usr/local/src/freeswitch
./bootstrap.sh -j
./configure --enable-portable-binary \
--prefix=/usr --localstatedir=/var --sysconfdir=/etc
\
--with-gnu-ld --with-python --with-erlang --with-openssl
\
--enable-core-odbc-support --enable-zrtp
make
make -j install
make -j cd-sounds-install
make -j cd-moh-install
5、OK,又回到了熟悉的状态,yum没有的模块都回来了
6、对FS1.10新添加的mariadb模块的编译安装:
cd
/usr/local/src/freeswitch/src/mod/databases/mod_mariadb
make
make install
================老版本安装小记========================
******************************
更新说明:freeswitch已经切换到新的版本周期(1.10.X),下面文字的说明都是针对1.8及1.6的版本,请注意!
基本来说,1.10.X版本已经可以yum安装,但yum安装会把各个模块都打成独立的包,而且默认安装的基本包里面会把一般你不用的都给默认安装了,如mod_signalwire
******************************
1、FS1.8 安装
FS 用yum在centos7.3无法安装,在centos7.1安装OK
(centos7.1可以yum安装,但安装后还是发现有缺失文件现象,折腾好多次了,其实还是编译安装靠谱些)
#这是centos7下面对 delta的补充安装,centos7需加上这个
yum provides '*/applydeltarpm'
yum install deltarpm
#需要erlang,对centos6和7都一样的,FS官方没有提这个,但如果没装就有部分模块会无法工作:(主要是ERlang和lua的模块,不要忘记erlang和lua也是FS的开发语言哦~)
wget
http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import
http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
yum install -y erlang lua*
#如果是yum安装,需要freeswitch的rpm支持,否则不需要
yum install -y
http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm
epel-release
#需要更多的支持环境,centos6和centos7是不同的,这下面的包在centos7下有些会找不到
yum install -y alsa-lib-devel autoconf automake bison
broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel
flite-devel g722_1-devel gcc-c++ 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 libtheora-devel libtiff-devel
libtool libuuid-devel 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 wget which yasm zlib-devel
yum install perl cpio curl curl-devel zlib-devel openssl-devel
expat-devel gettex-devel perl-devel build-essential tcl8.4 tk8.4
gettext -y
yum安装时可能会提示freeswitch的404错,是因为freeswitch已经停止了centos6的支持,不提供相关rpm文件了!----
如果这样,只能在 /etc/yum.repos.d 删除相关文件源定义,而后老老实实用源码编译安装 或
换centos7 了...
#centos7下支持环境安装,补充上面的(因为有些库在centos6和7的命名不同):
yum install -y python-devel gettext-devel tcl db4-devel tk
epel-release
#centos6的git版本过老,需要进行git升级,以拉取FS的源代码,不装yum的版本,因为那个版本也好老了:(这是为源码编译而进行的准备工作,yum安装不需要这个)
yum remove git
wget https://github.com/git/git/archive/master.tar.gz
tar -zxvf master.tar.gz
cd master
make configure
./configure --prefix=/usr/local/git
make && make install
ln -f /usr/local/git/bin/git /usr/bin/
git时提示ssl连接错误,则更新nss和curl:
yum update nss curl libcurl
补充说明,装上面的那么多东东,是因为直接装下面的会有若干个库加载不了,如果上面都装了下面就OK了(但已经装了好多好多东西是吧...
)
开始进入正式安装了:
==================下面是是yum方式,在centos7.1下成功,如果deltarpm没有安装,会导致有部分依赖库被跳过,fs程序运行异常,所以前面的安装要到位,否则下面安装是不会报错,系统跑起来就会经常莫名其妙出问题了)
yum install -y
http://files.freeswitch.org/freeswitch-release-1-8.noarch.rpm
epel-release
yum install -y freeswitch-config-vanilla freeswitch-lang-*
freeswitch-sounds-*
systemctl enable freeswitch
==================下面是编译方式(最好是用编译模式)
cd /usr/local/src
#这个是1.6生产环境版本,1.6已经过期,FS官方建议使用1.8
git clone -b v1.6
https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch
#这个是1.8生产环境版本
git clone -b v1.8
https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch
#这个是最新开发版:
git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
freeswitch
cd /usr/local/src/freeswitch
./bootstrap.sh -j
./configure -C --enable-portable-binary --enable-sctp\
--prefix=/usr
--localstatedir=/var --sysconfdir=/etc \
--with-gnu-ld
--with-python --with-erlang --with-openssl \
--enable-core-odbc-support --enable-zrtp \
--enable-core-pgsql-support \
--en