本文介绍在Ubuntu 20.04/18.04服务器上安装FreeSwitch的具体步骤。FreeSwitch是一个免费的开源通信平台,它可以实现实时通信、视频以及IP和WebRTC上的语音,能在Windows、MacOS、Linux和FreeBSD上运行。
在Ubuntu 20.04/18.04上安装FreeSwitch的步骤 1、首先更新您的系统软件包: sudo apt -y update 2、接下来,安装所需的依赖项: sudo apt install -y git subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev libtool libtool-bin libsqlite3-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev yasm liblua5.2-dev libopus-dev cmake 3、以下软件包是可选的,但我们可以安装它们: sudo apt install -y libcurl4-openssl-dev libexpat1-dev libgnutls28-dev libtiff5-dev libx11-dev unixodbc-dev libssl-dev python-dev zlib1g-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev uuid-dev libsndfile1-dev 4、安装libks和signal wire: sudo apt install -y cmake cd /usr/src sudo git clone https://github.com/signalwire/libks.git cd libks sudo cmake . sudo make sudo make install cd /usr/src git clone https://github.com/signalwire/signalwire-c.git cd signalwire-c sudo cmake . sudo make sudo make install 5、接下来,使用wget从发行版页面https://files.freeswitch.org/freeswitch-releases/获取FreeSwitch版本,当前下载的是1.10.3版本: cd /usr/src sudo wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.zip sudo apt -y install unzip sudo unzip freeswitch-1.10.3.-release.zip cd freeswitch-1.10.3.-release/ 6、请注意,如果尚未安装解压缩工具,请通过运行apt -y install unzip进行安装: sudo apt -y install unzip 参考:Ubuntu 18.04中安装和使用unzip以在命令行及图形下解压缩zip文件。 7、现在运行标准安装过程: sudo ./configure -C sudo make 如果在编译期间遇到错误,则可以注释掉引发错误的任何模块或安装缺少的依赖项,就我而言,我最初已注释掉language/mod_lua和applications/mod_signalwire,但是您可以根据收到的错误来注释更多,之后,重新启动编译,如下所示: sudo ./configure && sudo make clean && sudo make 8、对于成功的编译,您将看到如下输出:
接下来,安装freeswitch: sudo make install 输出:
9、现在编译sounds: sudo make all cd-sounds-install cd-moh-install 10、创建simlink以轻松使用服务: sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/ sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin 11、添加具有较少特权的新组和用户以运行FreeSWITCH服务: cd /usr/local sudo groupadd freeswitch sudo adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup freeswitch freeswitch sudo chown -R freeswitch:freeswitch /usr/local/freeswitch/ sudo chmod -R ug=rwX,o= /usr/local/freeswitch/ sudo chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/ 12、我们需要将FreeSwitch添加为systemd单位文件,使用您喜欢的编辑器打开新文件/etc/systemd/system/freeswitch.service,粘贴以下内容: sudo vim /etc/systemd/system/freeswitch.service 粘贴以下内容: [Unit] Description=freeswitch Wants=network-online.target Requires=syslog.socket network.target local-fs.target After=syslog.socket network.target network-online.target local-fs.target [Service] Type=forking Environment="DAEMON_OPTS=-nonat" EnvironmentFile=-/etc/default/freeswitch ExecStartPre=/bin/chown -R freeswitch:freeswitch /usr/local/freeswitch ExecStart=/usr/bin/freeswitch -u freeswitch -g freeswitch -ncwait $DAEMON_OPTS TimeoutSec=45s Restart=always RestartSec=90 StartLimitInterval=0 StartLimitBurst=6 User=root Group=daemon LimitCORE=infinity LimitNOFILE=100000 LimitNPROC=60000 LimitSTACK=250000 LimitRTPRIO=infinity LimitRTTIME=infinity IOSchedulingClass=realtime IOSchedulingPriority=2 CPUSchedulingPolicy=rr CPUSchedulingPriority=89 UMask=0007 NoNewPrivileges=false [Install] WantedBy=multi-user.target 13、启动FreeSwitch服务并在启动时启用它: sudo chmod ugo+x freeswitch.service sudo systemctl start freeswitch.service sudo systemctl enable freeswitch.service 现在检查FreeSWITCH服务的状态: sudo systemctl status freeswitch.service 如果freeswitch正确安装并正在运行,则输出应如下所示:
14、现在,您可以使用以下客户端连接到FreeSWITCH: # fs_cli -r 您将看到如下输出:
至此,安装FreeSwitch的步骤全部完成。
相关主题 |