Freepbx是一个集成了Asterisk的工具,提供GUI (graphical user interface)用户图形界面。通过Freepbx可以十分方便的配置各类电话系统。由于Asterisk 包含广泛的 VoIP 协议诸如:SIP, IAX2 和 H.323 等等,所以安装了Freepbx之后,我们便可以通过Web页面,搭建属于自己的网络语音系统。
FreePBX 要求
您可以在各种操作系统上安装 FreePBX。但是,以下教程基于搬瓦工 CentOS 8系统 上。需要具有 root 访问权限和 LAMP(Linux、Apache、MongoDB、PHP)的 VPS 或专用服务器。
FreePBX安装前准备工作
在安装 FreePBX 之前,您需要首先通过 SSH 登录您的服务器,在您的服务器上准备以下内容。
验证 SELinux 是否已禁用
步骤 1: 使用以下命令确保禁用 SELinux。
sestatus
如果启用了 selinux,请运行以下命令将其禁用
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
然后重新启动,并通过运行“sestatus”来验证 SELinux 状态:
SELinux status: disabled
第 2 步:在开始进一步安装之前,通过运行以下命令确保操作系统是最新的
sudo dnf -y update
安装依赖
第一步:安装开发工具。
dnf -y group install "Development Tools."
第 2 步:创建一个名为“asterisk”的新用户
adduser asterisk -m -c "Asterisk User"
第 3 步:安装其他必需的依赖项
启用工具
dnf config-manager --set-enabled powertools
安装依赖
dnf -y install lynx tftp-server unixODBC mariadb-server mariadb httpd ncurses-devel sendmail sendmail-cf newt-devel libxml2-devel libtiff-devel gtk2-devel subversion git wget vim uuid-devel sqlite-devel net-tools gnutls-devel texinfo libuuid-devel libedit-devel
禁用电动工具
dnf config-manager --set-disabled powertools
第 4 步:安装 mysql odbc 连接器 8.0.2
dnf install -y https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.21-1.el8.x86_64.rpm dnf install -y epel-release dnf install -y libid3tag dnf install -y https://forensics.cert.org/cert-forensics-tools-release-el8.rpm dnf --enablerepo=forensics install -y sox dnf install -y audiofile-devel dnf install -y python3-devel
第五步:安装php7.2
dnf remove php* dnf install -y php php-pdo php-mysqlnd php-mbstring php-pear php-process php-xml php-opcache php-ldap php-intl php-soap php-json
第 6 步:安装 Nodejs 版本 12
dnf module enable nodejs:12 -y dnf install -y nodejs
安装和配置 MariaDB
第 1 步:启用并启动 mariadb
systemctl enable mariadb.service systemctl start mariadb
第 2 步:保护 mariaDB 安装。
提示将询问您当前的 root 密码。由于您刚刚安装了 MySQL,因此您不会进行任何设置,因此请按 Enter 将其留空。然后提示会询问您是否要设置root密码。不要设置root密码。作为安装脚本的一部分,我们会自动保护数据库。您可以为其余选择 yes 删除一些示例用户和数据库,禁用远程 root 登录,并加载这些新规则。
mysql_secure_installation
启用并启动 Apache Web 服务器
步骤 1:运行以下命令以启用和启动 Apache 网络服务器
systemctl enable httpd.service systemctl start httpd.service
第 2 步:验证 Apache 服务状态
systemctl status httpd.service
安装 Legacy Pear
运行以下命令安装
pear install Console_Getopt
下载并安装
第 1 步:下载 Asterisk 源文件
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
第 2 步:提取您的 drupal 下载。
tar xvfz asterisk-16-current.tar.gz
第 3 步:删除 tar 文件
rm -f asterisk-*-current.tar.gz
编译安装星号
第 1 步:转到
cd asterisk-* contrib/scripts/install_prereq install ./configure --libdir=/usr/lib64 --with-jansson-bundled contrib/scripts/get_mp3_source.sh make menuselect
第 2 步:此时将提示您选择要构建的模块。您已经启用了其中的大部分功能,但是如果您想要 MP3 支持(例如,用于音乐保持),您需要手动打开第一页上的“format_mp3”。选择“保存并退出”。
第 3 步:制作 Asterisk 包
make make install make config make samples ldconfig chkconfig asterisk off
第 4 步:设置 Asterisk 所有权权限
chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib64/asterisk chown -R asterisk. /var/www
更新 Apache 设置
步骤1:更新以下参数。
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini sed -i 's/\(^memory_limit = \).*/\1256M/' /etc/php.ini sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf sed -i 's/\(^user = \).*/\1asterisk/' /etc/php-fpm.d/www.conf sed -i 's/\(^group = \).*/\1asterisk/' /etc/php-fpm.d/www.conf sed -i 's/\(^listen.acl_users = apache,nginx\).*/\1,asterisk/' /etc/php-fpm.d/www.conf
第二步:重启apache和PHP-fpm
systemctl restart httpd.service systemctl restart php-fpm
下载并安装 FreePBX。
步骤 1:下载并安装 FreePBX 源文件。
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz tar xfz freepbx-15.0-latest.tgz rm -f freepbx-15.0-latest.tgz cd freepbx ./start_asterisk start ./install -n
第 2 步:创建 FreePBX 启动脚本
vi /etc/systemd/system/freepbx.service
将以下内容添加到文件中。
[Unit] Description=FreePBX VoIP Server After=mariadb.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/sbin/fwconsole start -q ExecStop=/usr/sbin/fwconsole stop -q [Install] WantedBy=multi-user.target
第 3 步:运行脚本
systemctl enable freepbx.service
第 4 步:启动 PBX 服务
systemctl start freepbx
步骤 5:检查 PBX 服务的状态
systemctl status -l freepbx.service
使用 FreePBX GUI(图形用户界面)完成设置
第 1 步:在您的浏览器中,转到您的服务器 IP 地址 (http:\\192.xx1)
第 2 步:创建管理员用户名和密码。
第 3 步:输入您要发送通知的电子邮件地址。
第 4 步:命名您的 FreePBX 服务器。
步骤 5:确保启用模块更新、安全更新和安全电子邮件,然后单击设置系统。
搬瓦工优惠/性价比套餐推荐
搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用。下面表格整理了更多的搬瓦工优惠套餐。
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
CN2 (最便宜) |
1GB | 1核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET |
$49.99/年 | 购买 |
CN2 | 2GB | 1核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 |
购买 | |
CN2 GIA-E (最推荐) |
1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 联通荷兰 EUNL_9 |
$49.99/季度 $169.99/年 |
购买 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 |
购买 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 香港 CN2 GIA | $89.99/月 $899.99/年 |
购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 |
购买 |
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,价格适中,速度超快,可选机房多,性价比最高。
- 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。