登录 / 注册
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

宁夏银川舜新艺软件开发
ShunXinyi Soft develop
主要经营
软件开发,网站制作,网页设计,移动应用(安卓、苹果),微信,微网站,
FLASH动画,电子商务,计算机软硬件及网络设备等。
电话:18695132945 QQ:23923027
舜新艺软件开发 宁ICP备16001093号-1 宁公网安备 64010602000809号