FreePBX-12 centos-6.5 源代码安装
在Centos 6.5 安装 FreePBX 12
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' 模块,系统将编译此模块。
选择 '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