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/selinux/config
reboot, and verify the selinux status by running 'sestatus'. It should say:
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
Add Asterisk/Digium CentOS Repos
cd
/etc/yum
.repos.d
wget http:
//packages
.asterisk.org
/centos/centos-asterisk-12
.repo
wget http:
//packages
.asterisk.org
/centos/centos-asterisk-11
.repo
wget http:
//packages
.asterisk.org
/centos/centos-asterisk
.repo
wget http:
//packages
.digium.com
/centos/centos-digium-12
.repo
wget http:
//packages
.digium.com
/centos/centos-digium-11
.repo
wget http:
//packages
.digium.com
/centos/centos-digium-1
.8-certified.repo
wget http:
//packages
.digium.com
/centos/centos-digium-1
.8.repo
wget http:
//packages
.digium.com
/centos/centos-digium
.repo
IPTables
Keeping IPTables turned off indefinitely is strongly discouraged. You will incur the wrath of high fees and hackers
You must disable the default iptables. You can re-enable it later, once you have made the appropriate changes. Information on iptables can be found with a quick Google search. If iptables is left running, it will (at very least) block you from accessing the web interface.
See the current status:
chkconfig iptables --list
Disable iptables:
chkconfig --level 0123456 iptables off
Stop the service (this skips rebooting again):
service iptables stop
Auto Start MySQL
You must have mysql running for freepbx to operate normally. You need to set it to start at boot time. with the following command:
chkconfig --level 345 mysqld on
Then start mysqld if you don't plan on rebooting during the installation phase:
service mysqld start
Auto Start Apache
You will want Apache running, so you can access the FreePBX admin interface, You need to set it to start at boot time. with the following command:
chkconfig --level 345 httpd on
Then start apache if you don't plan on rebooting during the installation phase:
service httpd start
Install PearDB
pear channel-update pear.php.net
pear
install
db
Reboot server
reboot
Install Dependencies for Google Voice (If needed/wanted)
Install iksemel
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
adduser asterisk -M -c "Asterisk User"
|
Install DAHDI.
If you have no TDM cards you can skip this step
yum install dahdi-linux dahdi-tools libpri
|
Install Asterisk
yum install asterisk asterisk-configs --enablerepo=asterisk-12
|
yum install asterisk-sounds*
|
Download and extract FreePBX.
export
VER_FREEPBX=12.0
cd
/usr/src
git clone http:
//git
.freepbx.org
/scm/freepbx/framework
.git freepbx
cd
freepbx
git checkout release/${VER_FREEPBX}
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
mkdir
/var/www/html
chown
-R asterisk.
/var/www/
A few small modifications to 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
cd
/usr/src/freepbx
export
ASTERISK_DB_PW=Change_Me109
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
chown
amportal a reload
If you see an error about "Uncaught exception 'RuntimeException' with message 'gpg took too long to run.'" it is safe to run "amportal a ma installall" again.
Finally, one last mod and start FreePBX.
ln
-s
/var/lib/asterisk/moh
/var/lib/asterisk/mohmp3
amportal start
Start FreePBX
Navigate:
Install and Setup Commercial Modules
Enable the FreePBX Commercial yum repos
wget -P /etc/yum.repos.d/ -N http://yum.schmoozecom.net/schmooze-commercial/schmooze-commercial.repo
yum clean all to clean out yum cache so it will find out new RPMs
yum install needed RPMs for Commercial Modules
yum -y install php-5.3-zend-guard-loader sysadmin fail2ban incron ImageMagick
|
Restart Apache and Install Sysadmin
service httpd restart
amportal a ma download sysadmin
amportal a ma
install
sysadmin