Linux centos7浪潮服务器安装Ffeeswitch
发布时间:2022-06-15 17:10:12 查看:3728
一、编译环境和FreeSWITCH依赖库
1、让网卡自动启用
CentOS 7安装后,有时候网卡并未自动启用,需要修改配置文件,让网卡跟随系统自动启用。
1)用root帐号xshell后
vim /etc/sysconfig/network-scripts/ifcfg-ens3f1
vim /etc/sysconfig/network-scripts/ifcfg-ens3f0
GATEWAY=172.16.10.254
3) 将ONBOOT=no改成yes
4) 保存后重启即可 这个没执行
2、会用到的工具软件
1)ifconfig工具
ifconfig常用来查询IP地址等信息,CentOS7最小化安装时没有安装这个工具。
安装命令:yum install net-tools.x86_64 (这个好象我没装)
说明:
也可以使用ip addr命令查看IP地址
2)patch工具
libav库编译之前需要打一个补丁文件。patch的安装命令是:
yum install patch
3)rzsz工具(这个应该没用)
该工具用于配合xshell上传文件到CentOS系统中,安装命令是:
yum install lrzsz
说明:
XShell连上CentOS后,直接把文件拖到XShell窗口,就可以上传文件到CentOS系统中。
4、关闭防火墙
firewall-cmd --state
CentOS7的防火墙会阻止客户端连接FreeSWITCH,需要关闭它。CentOS 7.0默认使用的是firewalld防火墙。
停止firewalld :systemctl stop firewalld.service
禁止firewall开机启动 :systemctl disable firewalld.service
说明:
可以使用systemctl status firewalld.service命令检查firewalld是否已经启动。
sudo useradd freeswitch
sudo groupadd freeswitch
5、查看SELinux状态:(这个试下不执行,因为后面把这个又改回来了)
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
3、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
4、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可(这个没重启)
5、指定动态链接库的搜索目录
在/etc/ld.so.conf.d目录下建立一个文件,文件名随便取,例如:locallib.conf,
然后在locallib.conf输入一行:/usr/local/lib。
说明:
编译x264和libav时,它们的库默认会安装到/usr/local/lib中。CentOS 64位版链接动态库时默认不会搜索这个目录。
为了让程序链接时可以找到这些库,需要把 /usr/local/lib 加到动态库的搜索列表中
安装动态库后,可以执行ldconfig刷新。也可以直接重启电脑,让系统自动刷新。
6、FreeSWITCH默认只支持VP8视频编码,为了支持使用H264编码的终端,需要使用libav进行转码。libav库依赖x264库做H264的编码。所以,
需要先编译x264库,然后编译libav库。
1、nasm
cd /usr/local/src 上传下载的软件到这
然后先安装
tar -xjf nasm-2.13.03.tar.bz2
cd nasm-2.13.03
./configure
make
make install
2、yasm
cd /usr/local/src 上传下载的软件到这
然后先安装
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
2)编译、安装
tar -xvf x264-master.tar.gz
cd x264-master
./configure --enable-static --enable-pic (这个好象报错,但仍执行make后仍安装Ffeeswitch成功)
make
make install
3、FreeSWITCH官方环境和依赖库
二、安装Ffeeswitch
依次执行如下两条命令,安装编译环境和依赖库:
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
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 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
执行命令:本机上传到/usr/local/src/ 然后cd /usr/local/src/ 解压 unzip -o -d /usr/local/src/ freeswitch-1.6.zip
执行命令:cd /usr/local/src/freeswitch-1.6
执行命令:./bootstrap.sh -j (权限不够赋权:chmod -R 777 /usr/local/src/freeswitch )
执行命令:
./configure --enable-core-odbc-support --enable-zrtp --enable-core-pgsql-support --enable-static-v8 --disable-parallel-build-v8
编辑 vi modules.conf
执行命令:i
#applications/mod_callcenter 、 #say/mod_say_zh #applications/mod_curl 给开放出来
执行命令::wq!
执行命令:make
执行命令:make -j install
执行命令:make -j cd-sounds-install
执行命令:make -j cd-moh-install
执行到这安装完成
装完后要用老的conf下的文件进行替换以下内容
172.17.16.12 内网IP 192.168.122.1
106.54.172.123 外网IP 172.16.10.131
172.16.10.99 语音网关IP 172.16.10.111
ps -ef|grep freeswitch 查看目前运行的
cd /usr/local/freeswitch 进入目录
bin/freeswitch -nc 后台启动freesiwtch
bin/fs_cli
五、启动脚本
为了让FreeSWITCH在主机启动时可以自动运行,需要创建自启动脚本。
1、freeswitch.service文件
在目录/usr/lib/systemd/system下创建文件freeswitch.service,内容如下:
[Unit]
Description=FreeSWITCH
After=syslog.target network.target
After=postgresql.service postgresql-9.3.service postgresql-9.4.service mysqld.service httpd.service
[Service]
User=root
EnvironmentFile=-/etc/sysconfig/freeswitc
WorkingDirectory=/usr/local/freeswitch
ExecStart=/usr/local/freeswitch/bin/freeswitch -nc -nf $FREESWITCH_PARAMS
ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
2、freeswitch文件
在目录/etc/sysconfig下创建文件freeswitch,内容如下:
FREESWITCH_PARAMS=""
3、修改文件夹属性
cd /usr/local/
chown -R root:root freeswitch
chmod -R g+w freeswitch
4、启动
systemctl enable freeswitch.service
systemctl start freeswitch.service
以上部分内容参考 https://blog.csdn.net/tanningzhong/article/details/79884700