Wednesday, October 29, 2014

CentOS 6.5 Removing Duplicate Packages


CentOS 6.5 Removing duplicate packages


After running yum.cron, the yum update did not complete on my CentOS 6.5 server

CODE: SELECT ALL

** Found 200 pre-existing rpmdb problem(s), 'yum check' output follows:

and then lists 200 packages.


CODE: SELECT ALL

yum-complete-transaction --cleanup-only

reports no unfinished transactions and


CODE: SELECT ALL

package-cleanup --cleandupes


Completes.
Then run update.

CODE: SELECT ALL

yum update --exclude=kernel*


yum update

Friday, September 19, 2014

How To Install FreePBX 12 on CentOS 6.5

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
You may receive a warning:
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
At this time it is safe to ignore that message

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 and Configure Asterisk

Install DAHDI.

If you have no TDM cards you can skip this step
yum install dahdi-linux dahdi-tools libpri

Install Asterisk

Each major version of Asterisk has its own repository. Within the repository, there are many different packages available for Asterisk. Different packages will install Asterisk with different modules enabled, such as ODBC voicemail.
By default, the various Asterisk repositories are disabled. This allows you to have multiple Asterisk repository definitions installed on a single machine, and to choose which major version of Asterisk you'd like to install when running yum install.
You can select Asterisk 11 instead by switching "asterisk-12" out for "Asterisk-11"
yum install asterisk asterisk-configs --enablerepo=asterisk-12

Install Asterisk-Extra-Sounds

yum install asterisk-sounds*

Install and Configure FreePBX

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

Configure Asterisk database in MYSQL.

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 clean all

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

For Further information see: Install FreePBX