Asterisk是一个流行的开源PBX平台,用于开发通信应用程序,例如会议服务器和VoIP网关。本文介绍在Ubuntu 20.04服务器上安装Asterisk 18并配置Asterisk的方法。当前Ubuntu 20.04存储库包含较旧的Asterisk版本,所以我们将从源代码中安装。
先决条件 安装以下软件包,这些软件包是下载和构建Asterisk 18所必需的: sudo apt update sudo apt install wget build-essential git autoconf subversion pkg-config libtool
安装DAHDI和LibPRI DAHDI是一组驱动程序和实用程序,允许Asterisk 18与模拟和数字电话进行通信。LibPRI库允许Asterisk与ISDN连接进行通信。如果不需要这些库,则可以跳过此部分。 切换到/usr/src目录并下载并安装DAHDI: cd /usr/src/ sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux cd dahdi-linux sudo make sudo make install 再接着以下操作: cd /usr/src/ sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools cd dahdi-tools sudo autoreconf -i sudo ./configure sudo make install sudo make install-config sudo dahdi_genconf modules 运行以下命令来构建LibPRI: cd /usr/src/ sudo git clone https://gerrit.asterisk.org/libpri libpri cd libpri sudo make sudo make install
安装Asterisk 18 在/usr/src目录中克隆Asterisk 18源: cd /usr/src/ sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18 在写本文时,当前Asterisk的版本是18.x。如果有可用的新版本,请在上面的命令中更改分支编号。 在继续下一步之前,请转到Asterisk 18源目录: cd asterisk-18/ 下载构建MP3模块并在Asterisk 18上使用MP3文件所需的MP3源: sudo contrib/scripts/get_mp3_source.sh 运行install_prereq脚本以安装必要的依赖项: sudo contrib/scripts/install_prereq install configure脚本执行多项检查,以确保系统上的所有依赖项都存在。通过输入以下命令来运行脚本: sudo ./configure 下一步是选择要编译和安装的模块,通过输入以下命令来访问菜单选择: sudo make menuselect 选择“format_mp3”选项,以告诉Asterisk 18构建MP3模块:
完成后,切换到“保存并退出(Save and Exit)”按钮,然后按“Enter”。 开始编译过程: sudo make -j2 编译可能需要一些时间,具体取决于您的系统。您可以根据处理器中的内核数量来修改-j标志。 完成后,通过输入以下命令安装Asterisk 18及其模块: sudo make install 您可以通过输入以下命令来安装通用配置文件和参考文档: sudo make samples 或安装基本的PBX配置文件: sudo make basic-pbx 最后一步是通过输入以下命令来安装Asterisk 18初始化脚本: sudo make config 运行ldconfig来更新共享库高速缓存也是一个好主意: sudo ldconfig
创建Asterisk 18用户 默认情况下,Asterisk 18以root用户身份运行。出于安全原因,我们将创建一个新的系统用户,并将Asterisk 18配置为以新创建的用户身份运行。 运行以下命令以创建一个名为asterisk的新系统用户: sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk 要将Asterisk配置为以asterisk用户身份运行,请打开/etc/default/asterisk文件并取消注释以下两行,运行的命令是sudo nano /etc/default/asterisk: AST_USER="asterisk" AST_GROUP="asterisk" 将asterisk用户添加到dialout和audio组: sudo usermod -a -G dialout,audio asterisk 我们还需要更改所有Asterisk文件和目录的所有权和权限,以便用户asterisk可以访问这些文件: sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
初始Asterisk 现在已经完成了所有设置,请使用以下命令启动Asterisk服务: sudo systemctl start asterisk 要验证Asterisk是否正在运行,请输入以下命令以连接到Asterisk命令行界面(CLI): sudo asterisk -vvvr 这时会看到默认的Asterisk CLI提示符: Connected to Asterisk GIT-18-263f906af4 currently running on ubuntu2004 (pid = 91303) ubuntu2004*CLI> 最后一步是启用Asterisk服务以启动时使用以下命令启动: sudo systemctl enable asterisk
配置防火墙 防火墙将保护Ubuntu 20.04服务器免受不必要的流量的攻击。 如果服务器上未配置防火墙,则可以参考Debian、Ubuntu、Linux Mint系统中的UFW防火墙入门教程。 默认情况下,SIP使用UDP端口5060打开端口运行: sudo ufw allow 5060/udp 如果启用了实时协议(RTP),则还需要打开以下端口范围: sudo ufw allow 10000:20000/udp 注:可以根据需要随意调整防火墙。 到了这里,配置Asterisk的操作全部完成了。
相关主题 |