Installing FreePBX 2.11 on Ubuntu 12.04 Server (Precise Pangolin)
Install Ubuntu 12.04 Server LTS 32 or 64-bit
Commercial Modules
Commercial modules and add-ons are not currently supported on the Ubuntu platform. Commercial Modules can be purchased in the FreePBX Distro Market Place and are only supported on the FreePBX Distro platform.
Initial System Setup
Configure your root password.
sudo passwd root
Switch to the Root User
sudo -i
Update Your System
apt-get update && sudo apt-get upgrade -y
Install Required Dependencies
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion uuid uuid-dev
Install PearDB
pear uninstall db pear install db-1.7.14
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
Install iksemel
cd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-1.4.tar.gz cd iksemel-* ./configure make make install
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-11-current.tar.gz
Compile and install DAHDI.
cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz cd dahdi-linux-complete-* make all make install make config
Compile and install LIBPRI.
cd /usr/src tar xvfz libpri-1.4-current.tar.gz cd libpri-* make make install
Compile and install Asterisk
cd /usr/src tar xvfz asterisk-11-current.tar.gz cd asterisk-* ./configure contrib/scripts/get_mp3_source.sh make menuselect make make install make config
Install Asterisk-Extra-Sounds
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz tar xfz asterisk-extra-sounds-en-gsm-current.tar.gz rm asterisk-extra-sounds-en-gsm-current.tar.gz
Install and Configure FreePBX
Download and extract FreePBX.
cd /usr/srcwget http://mirror.freepbx.org/freepbx-2.11.0.43.tgz tar vxfz freepbx-2.11.0.43.tgz
Now create the Asterisk user and set ownership permissions.
adduser asterisk --disabled-password --gecos "Asterisk User" 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/php5/apache2/php.ini cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf service apache2 restart
Configure Asterisk database in MYSQL.
export ASTERISK_DB_PW=amp109 mysqladmin -u root create asterisk -p mysqladmin -u root create asteriskcdrdb -p mysql -u root asterisk -p < SQL/newinstall.sql mysql -u root asteriskcdrdb -p < SQL/cdr_mysql_table.sql
Set permissions on MYSQL database.
mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -p -e "flush privileges;"
Restart Asterisk and install FreePBX.
./start_asterisk start ./install_amp --webroot /var/www amportal a ma installall amportal a reload
** If “. /install_amp” fails to run correctly, in terminal type:
./install_amp --username=asteriskuser --password=$ASTERISK_DB_PW --webroot /var/www
Finally, one last mod and start FreePBX.
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3 amportal start
Start FreePBX
Navigate:
http://yourlocalipaddress/html or if you prefer http://localhost/admin
After you enable and update the modules in FreePBX You might see the following error.
Symlink from modules failed
To correct this error do the following:
Delete the list of failed files
cd /etc/asterisk
rm ccss.conf confbridge.conf features.conf sip.conf iax.conf logger.conf extensions.conf sip_notify.conf
Then on the FreePBX webUI go to the ‘Module Admin’ and uninstall and reinstall the ‘Camp On’ module. This should resolve the Symlink issue.