06 Agustus 2011

Instalasi VOIP Server (Ubuntu, Asterisk, FreePBX)



Voip (Voice Over IP - http://id.wikipedia.org/wiki/Voip) adalah salah satu teknologi yang membuat kita bisa berkomunikasi melalu internet. Kali ini saya coba sharing untuk instalasi server VOIP menggunakan Ubuntu 10.04.02(Latest Stable Edition)-Server.

Setelah instalasi ubuntu servernya selesai (dalam keadaan bersih belum terinstall apa-apa dan belum di update), recomended siyh rubah reponya terlebih dahulu supaya agak cepet pada saat proses update, upgrade, dan instalasi paket yang lainnya. Arahkan reponya ke:
deb http://dl2.foss-id.web.id/ubuntu lucid main restricted universe multiverse
deb-src http://dl2.foss-id.web.id/ubuntu lucid main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-updates main restricted universe multiverse
deb-src http://dl2.foss-id.web.id/ubuntu lucid-updates main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-security main restricted universe multiverse
deb-src http://dl2.foss-id.web.id/ubuntu lucid-security main restricted universe multiverse

deb http://kambing.ui.edu/ubuntu lucid main restricted universe multiverse
deb-src http://kambing.ui.edu/ubuntu lucid main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-updates main restricted universe multiverse
deb-src http://kambing.ui.edu/ubuntu lucid-updates main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-security main restricted universe multiverse
deb-src http://kambing.ui.edu/ubuntu lucid-security main restricted universe multiverse

deb http://kambing.ui.ac.id/ubuntu lucid main restricted universe multiverse
deb-src http://kambing.ui.ac.id/ubuntu lucid main restriced universe multiverse
#deb http://kambing.ui.ac.id/ubuntu lucid-backport main restricted universe multiverse
#deb-src http://kambing.ui.ac.id/ubuntu lucid-bakport main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-proposed main restricted universe multiverse
deb-src http://kambing.ui.ac.id/ubuntu lucid-proposed main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-security main restricted universe multiverse
deb-src http://kambing.ui.ac.id/ubuntu lucid-security main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu lucid-updates main restricted universe multiverse
deb-src http://kambing.ui.ac.id/ubuntu lucid-updates main restricted universe multiverse

gunakan salah satunya.

Setelah selesai dirubah, lakukan update lalu di upgrade.
Instal paket-paket yang dibutuhkan:
apt-get install tasksel
tasksel install lamp-server
apt-get install asterisk asterisk-mysql asterisk-mp3 php-db php5-gd php-pear sox curl asterisk asterisk-mysql asterisk-mp3 php-db php5-gd php-pear sox curl


setelah selesai terinstall, lakukan penambahan user:
adduser www-data asterisk


rubah hak akses folder /usr/share/asterisk menjadi miliknya www-data dan group asterisk:
chown www-data.asterisk -R /usr/share/asterisk


rubah Apache agar jalan sebagai asterisk. caranya dengan merubah apache usernya menjadi asterisk di file /etc/apache2/envvars :
#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk


restart apache:
apache2ctl graceful


Untuk menjalankan server FOP(Flash Operator Panel), coba ganti default user shell untuk user asterisk di set menjadi "false":
usermod -s /bin/bash asterisk

di /usr/sbin/safe_asterisk rubah variable "BACKGROUND" yang tadinya 0 menjadi 1

download freepbx di http://www.freepbx.org/download-freepbx untuk melihat release terakhirnya. Untuk update terakhir pada saat dibuatnya tutorial ini adalah versi 2.9.0:
cd /usr/src
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
tar freepbx-2.9.0.tar.gz
cd freepbx-2.9.0


Kondisi terakhir kita berada di folder /usr/src/freepbx-2.9.0/. Lakukan persiapan database:
mysqladmin create asterisk -u root -p
mysqladmin create asteriskcdrdb -u root -p
mysql asterisk < SQL/newinstall.sql -u root -p
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -u root -p
mysql -u root -p
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
flush privileges;
quit


SSEBELUM MELAKUKAN INSTALASI, BACKUP TERLEBIH DAHULU FILE /etc/asterisk/modules.conf:
cp /etc/asterisk/modules.conf /home/(user)/


Memulai instalasi freepbx:
./install_amp


Pada saat instalasi, yang wajib diganti adalah pada saat dia meminta IP Address, kita ketikkan dengan alamat IP kita sendiri. Dan rubah default folder web aplikasinya ke [b]/var/www/freepbx[/b]
Perhatian: Jika kita manjadikan folder freepbx sebagai subfolder, panel tidak akan berjalan dengan lancar. kita lakukan sedikit hard code lagih :-D dengan membuat virtual Host di web server kita.
buat file di /etc/apache2/sites-available/freepbx dan taro code berikut ini:
################# Named VirtualHosts


ServerName freepbx
ServerAlias freepbx

ServerAdmin yourname@yourdomain.com
ErrorLog /var/log/apache2/freepbx.error.log
CustomLog /var/log/apache2/freepbx.access.log combined

DocumentRoot /var/www/freepbx

Options Indexes FollowSymLinks MultiViews
Order allow,deny
AllowOverride All
Allow from all



AuthType Basic
AuthName "Restricted Area"
AuthUserFile freepbx-passwd
Require user admin





##################################################################


Buatlah symlink untuk menjalankan file diatas:
ln -s /etc/apache2/sites-available/freepbx /etc/apache2/sites-enabled/099-freepbx


dan tambahkan password file sesuai dengan yang diinginkan:
htpasswd -c /etc/apache2/freepbx-passwd admin


Restart Apache
/etc/init.d/apache2 restart


Restore backup dari modules.conf
cp /home/(user)/ /etc/asterisk/modules.conf


Jika apachenya masih running sebagai www-data, tambahkan script ini di /etc/amportal.conf
AMPASTERISKUSER=www-data
AMPASTERISKGROUP=asterisk


Untuk menjadikannya selalu jalan setiap saat, kita lakukan sedikit injeksi di /etc/rc.local sebelum line exit 0:
/usr/local/sbin/amportal start
exit 0


Reboot Ubuntunya dan lakukan administrasi di http://alamatIP/freepbx. Server voip sudah running, selamat menikmati. :-D
Untuk testing, nantikan di postingan berikutnya :-D

2 komentar:

gopen mengatakan...

Maaf mau nanya....

ada kendala di step
/etc/init.d/apache2 restart
apachenya g mau di restart..

keterangannya :
open@UbuntuQ:/usr/src/freepbx-2.9.0$ sudo /etc/init.d/apache2 restart
Syntax error on line 5 of /etc/apache2/sites-enabled/099-freepbx:
ServerAlias only used in
Action 'configtest' failed.
The Apache error log may have more information.
...fail!


mohon arahannya...

Makasih..

Ozi mengatakan...

ada yang error di config virtual site nya gan