VoIP 是利用某个网络协议,比如SIP协议 和 RTP协议 等,从而实现通过因特网来传输声音
所有命令必须在root用户下操作!
必须禁止 selinux。 selinux 会导致一些奇怪的行为!
禁止selinux
在/etc/sysconfig/selinux , 更改以下行:
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
重启服务器, 检查selinux是否运行 ‘sestatus’。应该是:
SELinux status: disabled
更新你的系统
yum -y update
yum -y groupinstall core base "Development Tools"
adduser asterisk -m -c "Asterisk User"
必须打开端口80才能访问管理接口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
yum -y install lynx tftp-server unixODBC mysql-connector-odbc mariadb-server mariadb httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git crontabs cronie cronie-anacron wget vim uuid-devel sqlite-devel net-tools gnutls-devel python-devel texinfo libuuid-devel
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum remove php*
yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs
必须运行MariaDB才能使freepbx正常运行。它必须自动启动,并连续运行。
systemctl enable mariadb.service
systemctl start mariadb
现在MariaDB数据库正在运行,我们希望运行一个简单的安全脚本,该脚本将删除一些危险的默认值,并稍微锁定对数据库系统的访问
mysql_secure_installation
提示将询问你当前的root密码。安装MySQL以来,不要只按enter键,所以你很可能会将其留空。然后提示将询问你是否要设置root密码。不要设置root密码。作为安装脚本的一部分,我们会自动保护数据库。除此之外,你还可以为其余部分选择yes。这将删除一些示例用户和数据库,禁用远程root登录,并加载这些新规则,以便MySQL我们需要的配置。
FreePBX 使用 Apache web 服务器, 所以我们必须保证自动启动和启动中
systemctl enable httpd.service
systemctl start httpd.service
pear install Console_Getopt
安装和配置 Asterisk
下载Asterisk源码文件
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
Asterisk 15
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
如果没有任何物理PSTN硬件连接到此服务器,则不需要安装DAHDI(例如,T1或E1卡或USB设备)。大多数较小的设备将没有DAHDI硬件,可以跳过这一步。
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar xvfz libpri-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src/libpri-*
make
make install
cd /usr/src
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure --libdir=/usr/lib64
make
make install
cd /usr/src
tar xvfz asterisk-14-current.tar.gz
rm -f asterisk-*-current.tar.gz
cd asterisk-*
contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-pjproject-bundled
contrib/scripts/get_mp3_source.sh
make menuselect
此时将提示你选择要构建的模块。大多数功能都已启用,但如果你想支持MP3(例如,音乐保持),则需要在第一页手动打开“format_mp3”。
选择“保存并退出”后,可以继续
make
make install
make config
ldconfig
chkconfig asterisk off
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的一些小修改。
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /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
systemctl restart httpd.service
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar xfz freepbx-14.0-latest.tgz
rm -f freepbx-14.0-latest.tgz
cd freepbx
./start_asterisk start
./install -n
你现在可以开始使用FreePBX了。打开web浏览器,连接到新FreePBX服务器的IP地址或主机名。你会看到管理员设置页面,在这里你可以设置你的’admin’帐户密码,并配置一个电子邮件地址来接收更新通知。
1.在云服务器搭建是要设置防火墙的安全组,且安全组不生效的话需要重启服务器