云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

2020-07-15 15:40:15作者:叶云稿源:云网牛站

本文介绍在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、对于成功的编译,您将看到如下输出:

在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

接下来,安装freeswitch:

sudo make install

输出:

在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

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正确安装并正在运行,则输出应如下所示:

在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

14、现在,您可以使用以下客户端连接到FreeSWITCH:

# fs_cli -r

您将看到如下输出:

在Ubuntu 20.04/18.04服务器上安装FreeSwitch的步骤

至此,安装FreeSwitch的步骤全部完成。

 

相关主题

Linux系统中sudo命令的10个技巧

精选文章
热门文章