Initial System Setup
When installing the machine, at package selection make sure you pick - at least - OpenSSH Server, and 'LAMP Packages'. This installs the base packages required.
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 libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\ libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev\ libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\ libspandsp-dev
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-12-current.tar.gz git clone https://github.com/akheron/jansson.git git clone https://github.com/asterisk/pjproject.git
Compile and install DAHDI.
If you don't have any physical hardware you don't need to run these commands
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.
If you don't have any physical hardware you don't need to run these commands
cd /usr/src tar xvfz libpri-1.4-current.tar.gz cd libpri-* make make install
Compile and install pjproject
cd /usr/src/pjproject ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr make dep make make install
Compile and Install jansson
cd /usr/src/jansson autoreconf -i ./configure make make install
Compile and install Asterisk
cd /usr/src tar xvfz asterisk-12-current.tar.gz cd asterisk-* ./configure contrib/scripts/get_mp3_source.sh make menuselect make make install make config ldconfig
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.
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}
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
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 --installdb --username=asteriskuser --password=${ASTERISK_DB_PW} amportal chown amportal a ma installall amportal chown amportal a reload
Finally, one last mod and start FreePBX.
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3 amportal start
Start FreePBX
Navigate:
http://yourlocalipaddress or if you prefer http://localhost/admin