FreePBX-13 Centos-7 源代码安装

来自最权威最新完整开源SIP,语音通信,融合通信中文技术文档资料,提供详细的Asterisk Freepbx, FreeSBC, 免费会话边界控制器,网关,语音板卡,IPPBX,SBC配置资料-asterisk,freepbx,freesbc 用户手册 界面配置,呼叫路由,IVR, 网关对接,拨号规则,SIP 分机呼叫,pjsip, IVR, 录音, CDR, 队列呼叫,振铃组,CLI 命令中文资料手册
James.zhu讨论 | 贡献2015年10月18日 (日) 17:22的版本 (创建页面,内容为“'''Installing FreePBX 13 on CentOS 7''' '''Install Centos 7''' * [ Install Centos 7] ** [ Initial System Setup] *** [ Disable selinux] *** [ Updat...”)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Installing FreePBX 13 on CentOS 7

Install Centos 7

  • [ Install Centos 7]
    • [ Initial System Setup]
      • [ Disable selinux]
      • [ Update Your System]
      • [ Install Additional Required Dependencies]
      • [ Install Legacy Pear requirements]
      • [ Firewalld Basic Configuration]
      • [ Enable and Start MariaDB]
      • [ Enable and Start Apache]
    • [ Install Dependencies for Google Voice (if required)]
      • [ Install iksemel  ]
    • [ Add the Asterisk User]
    • [ Install and Configure Asterisk]
      • [ Download Asterisk source files.]
      • [ Compile and install DAHDI]
    • [ Compile and install pjproject]
    • [ Compile and Install jansson]
    • [ Compile and install Asterisk]
    • [ Install Asterisk Soundfiles.]
      • [ Set Asterisk ownership permissions.]
    • [ Install and Configure FreePBX]
      • [ A few small modifications to Apache.]
      • [ Download and install FreePBX.]
    • [ That's it!]
    • [ Automatic Startup]

Initial System Setup

You MUST run all of these commands as the root user!

You MUST disable selinux.  selinux can cause strange behavior during the install

Disable selinux

In /etc/sysconfig/selinux , change the following lines:

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

reboot, and verify the selinux status by running 'sestatus'. It should say:

SELinux status: disabled

Update Your System

yum -y update

yum -y groupinstall core base "Development Tools"

''''Install Additional Required Dependencies

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

Install Legacy Pear requirements

pear install Console_Getopt

Firewalld Basic Configuration

You must open port 80 so that you can access the administration interface

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

Enable and Start MariaDB

You must have MariaDB running for freepbx to operate normally.  It must start automatically, and be running continuously.

systemctl enable mariadb.service

systemctl start mariadb

Now that our MariaDB database is running, we want to run a simple security script that will remove some dangerous defaults and lock down access to our database system a little bit

mysql_secure_installation

The prompt will ask you for your current root password. Since you just installed MySQL, you most likely won’t have one, so leave it blank by pressing enter. Then the prompt will ask you if you want to set a root password. Do not set a root password. We secure the database automatically, as part of the install script.  Apart from that you can chose yes for the rest. This will remove some sample users and databases, disable remote root logins, and load these new rules so that MySQL immediately respects the changes we have made.

Enable and Start Apache

FreePBX uses the Apache web server, so this must be started and running.

systemctl enable httpd.service

systemctl start httpd.service

Install Dependencies for Google Voice (if required)

Install 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

Add the Asterisk User

adduser asterisk -M -c "Asterisk User"

Install and Configure Asterisk

Download Asterisk source files.

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

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

Compile and install DAHDI

If you don't have any physical PSTN hardware attached to this machine, you don't need to install DAHDI (For example, a T1 or E1 card, or a USB device). Most smaller setups will not have DAHDI hardware, and this step can be safely skipped.

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

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

Compile and 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

Compile and install 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

You will be prompted at the point to pick which modules to build. Most of them will already be enabled, but if you want to have MP3 support (eg, for Music on Hold), you need to manually turn on 'format_mp3' on the first page.

C:\4ab2827d031c397139b24060d5dd4927

After selecting 'Save & Exit' you can then continue

make

make install

make config

ldconfig

chkconfig asterisk off

''''Install Asterisk Soundfiles.

The 'make install' above installs a standard low-quality base sound file by default. This is suitable if you are on a small, underpowered system (such as a Rasberry Pi), but on a larger system you should install higher quality soundfiles. Note that this installs the (8khz) 'wav' soundfiles and G722 (High Definition 'Wideband') audio.

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

Set Asterisk ownership permissions.

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/

Install and Configure FreePBX

A few small modifications to 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

Download and install 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

That's it!

You can now start using FreePBX.  Open up your web browser and connect to the IP address or hostname of your new FreePBX server.  You will see the Admin setup page, which is where you set your  'admin' account password, and configure an email address to receive update notifications. 

We hope you enjoy using FreePBX 13!

Automatic Startup

Please note you need to set up FreePBX to start asterisk (and it's associated services) on bootup. [/display/FOP/Example+systemd+startup+script+for+FreePBX You can view an example systemd startup script here].