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.
- 1 Install Ubuntu 12.04 Server LTS 32 or 64-bit
- 1.1 Initial System Setup
- 1.1.1 Configure your root password.
- 1.1.2 Switch to the Root User
- 1.1.3 Update Your System
- 1.1.4 Install Required Dependencies
- 1.1.5 Install PearDB
- 1.1.6 Reboot server
- 1.2 Install Dependencies for Google Voice
- 1.2.1 Install iksemel
- 1.3 Install and Configure Asterisk
- 1.4 Install and Configure FreePBX
- 1.4.1 Download and extract FreePBX.
- 1.4.2 Now create the Asterisk user and set ownership permissions.
- 1.4.3 A few small modifications to Apache.
- 1.4.4 Configure Asterisk database in MYSQL.
- 1.4.5 Set permissions on MYSQL database.
- 1.4.6 Restart Asterisk and install FreePBX.
- 1.4.7 Finally, one last mod and start FreePBX.
- 1.5 Start FreePBX
- 1.5.1 Navigate:
- 1.1 Initial System Setup
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.