freeswitch 改用mysql_FreeSwitch安装及使用(含启用内置mariadb(mysql))

本文档详细介绍了如何将FreeSwitch配置改为使用MySQL数据库,包括安装CentOS自带的mariadb,配置FreeSwitch启用mariadb,修改配置文件以连接数据库,并解决了yum安装时的不兼容问题。同时,提到了源码编译安装FreeSwitch的步骤,以解决yum安装的模块缺失问题。
摘要由CSDN通过智能技术生成

-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值