初始系统设置
所有命令必须在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 |
重启服务器,并通过运行“sestatus”验证selinux状态。应该为:
SELinux status: disabled |
更新系统
yum -y update yum -y groupinstall core base "Development Tools" |
安装其他必需的依赖项
yum -y install lynx mariadb-server mariadb php php-mysql php-mbstring tftp-server \ httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel \ audiofile-devel gtk2-devel subversion kernel-devel git php-process crontabs cronie \ cronie-anacron wget vim php-xml uuid-devel sqlite-devel net-tools gnutls-devel php-pear unixODBC mysql-connector-odbc |
安装Pear
pear install Console_Getopt |
防火墙基本配置
必须打开端口80才能访问管理接口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload |
启用和启动 MariaDB
必须运行MariaDB才能使freepbx正常运行。它必须自动启动,并连续运行。
systemctl enable mariadb.service systemctl start mariadb |
现在MariaDB数据库正在运行,我们希望运行一个简单的安全脚本,该脚本将删除一些危险的默认值,并稍微锁定对数据库系统的访问
mysql_secure_installation |
提示将询问你当前的root密码。自从安装MySQL以来,不要只按enter键,所以您很可能会将其留空。然后提示将询问您是否要设置root密码。不要设置root密码。作为安装脚本的一部分,我们自动保护数据库。除此之外,其余的你可以选择是。这将删除一些示例用户和数据库,禁用远程根登录,并加载这些新规则,以便MySQL使用我们的配置。
启用和启动 Apache
FreePBX使用apache web服务器,因此必须启动并运行它。
systemctl enable httpd.service systemctl start httpd.service |
为Google Voice安装依赖项(如果需要)
安装 iksemel
cd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-*.tar.gz rm -f iksemel-1.4.tar.gz cd iksemel-* ./configure make make install |
增加 Asterisk 用户
adduser asterisk -m -c "Asterisk User" |
安装和配置 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 http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2 |
编译和安装 DAHDI
如果没有任何物理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 |
编译和安装pjproject
cd /usr/src tar -xjvf pjproject-2.4.tar.bz2 rm -f pjproject-2.4.tar.bz2 cd pjproject-2.4 CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound\ --disable-resample --disable-video --disable-opencore-amr --libdir=/usr/lib64 make dep make make install |
编译和安装 jansson
cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure --libdir=/usr/lib64 make make install |
编译和安装 Asterisk
BUG:
Asterisk的某些版本会缺少ari.conf https://issues.asterisk.org/jira/browse/ASTERISK-27026
你可能希望“mkdir-p/etc/asterisk&&touch/etc/asterisk/ari.conf文件“编译Asterisk后
cd /usr/src tar xvfz asterisk-13-current.tar.gz rm -f asterisk-13-current.tar.gz cd asterisk-* contrib/scripts/install_prereq install ./configure --libdir=/usr/lib64 contrib/scripts/get_mp3_source.sh make menuselect |
此时将提示你选择要构建的模块。大多数功能都已启用,但如果想支持MP3(例如,保留音乐),则需要在第一页手动打开“format_mp3”。
选择“保存并退出”后,可以继续
make make install make config ldconfig chkconfig asterisk off |
安装Asterisk 声音文件
上面的“make install”默认安装一个标准的低质量基本声音文件。如果你在一个小的,性能不足的系统上(比如Rasberry Pi),这是足够的,但是在一个更大的系统上你应该安装更高质量的声音文件。请注意,这将安装(8khz)“wav”声音文件和G722(高清“宽带”)音频。
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz tar xvf asterisk-core-sounds-en-wav-current.tar.gz rm -f asterisk-core-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-wav-current.tar.gz # Wideband Audio download wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-extra-sounds-en-g722-current.tar.gz rm -f asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-core-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-g722-current.tar.gz |
设置 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/ |
安装和配置 FreePBX
对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 |
下载和安装 FreePBX.
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz tar xfz freepbx-13.0-latest.tgz rm -f freepbx-13.0-latest.tgz cd freepbx ./start_asterisk start ./install -n |
就这样!
你现在可以开始使用FreePBX了。打开web浏览器,连接到新FreePBX服务器的IP地址或主机名。您将看到管理员设置页面,在这里您可以设置“admin”帐户密码,并配置电子邮件地址以接收更新通知。