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