FreePBX-12 centos-6.5 源代码安装
在Centos 6.5 安装 FreePBX 12
Install Centos 6.5
1 Install Centos 6.5 2 Initial System Setup 3 Disable selinux 4 Update Your System 5 Install Additional Required Dependencies 6 IPTables 7 Auto Start MySQL 8 Auto Start Apache 9 Install PearDB 10 Reboot server 11 Install Dependencies for Google Voice (If needed/wanted) 12 Install ikseme 13 Add the Asterisk User 14 Install and Configure Asterisk 15 Download Asterisk source files 16 Compile and install DAHDI and LibPRI 17 Compile and install pjproject 18 Compile and Install jansson 19 Compile and install Asterisk 20 Install Asterisk-Extra-Sounds 21 Install and Configure FreePBX 22 Download and extract FreePBX 23 Set ownership permissions 24 A few small modifications to Apache 25 Configure Asterisk database in MYSQL.  26 Set permissions on MYSQL database 27 Restart Asterisk and install FreePBX 28 Finally, one last mod and start FreePBX 29 Start FreePBX 30 Navigate:  31 Install and Setup Commercial Modules 32 Enable the FreePBX Commercial yum repos 33 yum clean all to clean out yum cache so it will find out new RPMs 34 yum install needed RPMs for Commercial Modules 35 Restart Apache and Install Sysadmin
Initial System Setup
用户必须是root 用户!
必须关闭 selinux. selinux 可能引起安装错误。
Disable selinux
在 /etc/sysconfig/selinux , 修改以下几行:
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
reboot 启动系统,执行命令 sestatus 查看 selinux 状态。结果应该是:
SELinux status: disabled
Update Your System
yum -y update
yum groupinstall core
yum groupinstall base
Install Additional Required Dependencies
执行以下命令安装系统所需的依赖包
yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel
IPTables
用户必须关闭默认的 iptables,安装完成用户可以重新开启。
查看当前状态:
chkconfig iptables --list
关闭 iptables:
chkconfig --level 0123456 iptables off
停止系统服务:
service iptables stop
Auto Start MySQL
确定mysql 已经运行。通常情况下,需要在系统启动时也同时启动mysql。所以,我们要在系统中添加一个启动任务:
chkconfig --level 345 mysqld on
通过命令启动 mysqld :
service mysqld start
Auto Start Apache
用户必须确认 Apache 也是正在运行的,所以用户才能访问 FreePBX 管理员界面,在系统启动任务中添加以下命令:
chkconfig --level 345 httpd on
手动启动 apache 命令:
service httpd start
Install PearDB
pear channel-update pear.php.net
pear install db-1.7.14
用户可以收到以下告警信息:
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
此消息现在可以忽略
Reboot server
reboot
Install Dependencies for Google Voice (If needed/wanted)
安装 iksemel // 如果无需Google 语音服务,则无需安装
cd /usr/src
wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar xf iksemel-*.tar.gz
cd iksemel-*
./configure
make
make install
Add the Asterisk User
添加一个Asterisk 用户
adduser asterisk -M -c "Asterisk User"
Install and Configure 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-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
git clone https://github.com/akheron/jansson.git
wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2
Compile and install DAHDI and LibPRI
注意
如果用户没有安装Asterisk 语音包括,则无需安装这两个软件包,可以忽略此步。.
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar xvfz libpri-1.4-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src/libpri-1.4.*
make
make install
Compile and install pjproject
注意
如果用户使用的是 64 bit 系统,必须首先执行以下配置:
--libdir=/usr/lib64
cd /usr/src
tar -xjvf pjproject-2.2.1.tar.bz2
cd pjproject-2.2.1
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
Compile and Install jansson
注意
如果用户使用的是 64 bit 系统,必须首先执行以下配置命令:
--libdir=/usr/lib64
cd /usr/src/jansson
autoreconf -i
./configure --libdir=/usr/lib64
make
make install
Compile and install Asterisk
注意
如果用户使用的是 64 bit 系统,必须首先执行以下命令:
--libdir=/usr/lib64
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' 模块,系统将编译此模块。
说明: C:\4ab2827d031c397139b24060d5dd4927
选择 'Save & Exit' , 用户可以进行执行以下命令:
make
make install
make config
ldconfig
Install Asterisk-Extra-Sounds
注意,我们现在安装的是 (8khz) 'wav' 语音文件和 G722 (High Definition 'Wideband') 语音文件:
mkdir -p /var/lib/asterisk/sounds
cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-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-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
Install and Configure FreePBX
下载解压FreePBX 源代码.
wget http://mirror.freepbx.org/freepbx-12.0.3.tgz
tar vxfz freepbx-12.0.3.tgz
Set ownership permissions. // 设置系统权限,这一步非常重要。
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
chown -R asterisk. /usr/lib64/asterisk
mkdir /var/www/html
chown -R asterisk. /var/www/
A few small modifications to Apache.
修改Apache 配置文件
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
service httpd restart
Configure Asterisk database in MYSQL.
配置创建MYSQL 的asterisk 数据库
cd /usr/src/freepbx
export ASTERISK_DB_PW=amp109
mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb
Set permissions on MYSQL database.
设置数据库访问权限
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "flush privileges;"
Restart Asterisk and install FreePBX.
cd /usr/src/freepbx
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
amportal chown
amportal a ma installall
amportal a reload
amportal a ma refreshsignatures
amportal chown
如果用户看到错误关于 "Uncaught exception 'RuntimeException' with message 'gpg took too long to run.'"
不用担心,重新执行 "amportal a ma installall" 可以解决此错误.
Finally, one last mod and start FreePBX.
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal restart
Start FreePBX
通过浏览器访问PBX 管理员界面:
http://yourlocalipaddress/html 或者 http://localhost/admin
Install and Setup Commercial Modules
通过yum repos 开启 FreePBX 商业模块
wget -P /etc/yum.repos.d/ -N http://yum.schmoozecom.net/schmooze-commercial/schmooze-commercial.repo
yum 命令将清除所有的yum 缓存,找到新的RPM
yum clean all
通过 yum install 安装所需要的RPM 商业模块
yum -y install php-5.3-zend-guard-loader sysadmin fail2ban incron ImageMagick
Restart Apache and Install Sysadmin
完成安装后,重新启动Apache 和sysadmin 管理员商业模块
service httpd restart
amportal a ma download sysadmin
amportal a ma install sysadmin