Lucid (Ubuntu 10.04) için çalışan bir yol şu:
http://hmontoliu.blogspot.com/2010/03/installing-asterisk-and-freepbx-on.html
Bu yolu izleyerek kurarken izlenen adımlar şöyle:
- İlk adım. mysql kurulumu
- Yazılım derleme vs. için gerekli paketlerin yüklenmesi
- Kaynakların indirilmesi
- dahdi derlemesi
- libpri derlemesi
- asterisk derlemesi
- asterisk-addons derlemesi
- asterisk ekstra seslerin yüklenmesi
- asterisk kullanıcı ve grubunun yaratılması
- bazı konfigürasyon dosyalarının vs. ayarlanması
- asterisk init scriptinin yaratılması
- freepbx'in indirilmesi
- mysql veritabanının yaratılması kullanıcının ayarlanması
- dosya düzenlemeleri
- asterisk ve freepbx'in başlatılması
Scriptlere geçelim:
aptitude update aptitude install -y mysql-server
aptitude install -y build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev
cd /usr/src/
xargs wget << SOURCES
http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.2.1+2.2.1.tar.gz
http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.10.2.tar.gz
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.6.tar.gz
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.0.tar.gz
SOURCES
tar xvf dahdi-linux-complete-2.2.1+2.2.1.tar.gz
cd dahdi-linux-complete-2.2.1+2.2.1
make all && make install && make config
cd ..
tar xvf libpri-1.4.10.2.tar.gz
cd libpri-1.4.10.2
make && make install
cd ..
tar xvf asterisk-1.6.2.6.tar.gz
cd asterisk-1.6.2.6
./configure
make && make install
make samples
cd ..
tar xvf asterisk-addons-1.6.2.0.tar.gz
cd asterisk-addons-1.6.2.0
./configure
make && make install
make samples
cd /var/lib/astersik/sounds
wget -O - http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz | tar xvfz -
adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX user"
adduser www-data asterisk
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i '1 {s/\/bash/}' /usr/sbin/safe_asterisk
cat > /etc/init.d/asterisk <<-END_STARTUP #!/bin/bash ### BEGIN INIT INFO # Provides: asterisk # Required-Start: \$network \$syslog # Required-Stop: \$network \$syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Asterisk daemon. # Description: This script handles start/stop states of asterisk. ### END INIT INFO
set -e
set -a
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Asterisk"
NAME=amportal
DAEMON=/usr/sbin/\$NAME
test -x \$DAEMON || exit 0
d_start() {
amportal start
}
d_stop() {
amportal stop
}
d_reload() {
amportal restart
}
case "\$1" in
start)
echo -n "Starting \$DESC: \$NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping \$DESC: \$NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting \$DESC: \$NAME"
d_stop
sleep 10
d_start
echo "."
;;
*)
echo "Usage: \$SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
END_STARTUP
chmod 755 /etc/init.d/asterisk
update-rc.d asterisk defaults 90 10
cd /usr/src/
wget -O - http://mirror.freepbx.org/freepbx-2.7.0.tar.gz | tar xvfz -
cd freepbx-2.7.0/
cp amportal.conf /etc/
export MYSQL_ROOT_PW=1234
export ASTERISK_DB_PW=4321
mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk
mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY "${ASTERISK_DB_PW}"; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY "${ASTERISK_DB_PW}"; flush privileges; END_PRIVS
sed -i "s/# \(AMPDBUSER=.*\)/\1/" /etc/amportal.conf
sed -i "s/# \(AMPDBPASS=\).*/\1${ASTERISK_DB_PW}/" /etc/amportal.conf
sed -i "s@\(AMPWEBROOT=\).*@\1/var/www/@" /etc/amportal.conf
sed -i "s@\(FOPWEBROOT=\).*@\1/var/www/panel@" /etc/amportal.conf
sed -i "s@\(FOPWEBADDRESS=\).*@PUTIPADDRESS@" /etc/amportal.conf
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /var/www/
sed -i '1 s/\(\[directories\]\).*/\1/' /etc/asterisk/asterisk.conf
./start_asterisk start
./install_amp
/etc/init.d/apache2 restart
/etci/init.d/dahdi restart
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal start
Kurulum dökümanına bir iki ek
Konuyla ilgili en iyi çalışan kurulum dökümanlarından birisi olan bu dökümanın eksik bıraktığı bir iki konu var. Bunları ekleyelim.- Analog kartımızla ilgili dahdi konfigürasyonu amaçlı bir iki düzeltme.
/etc/modprobe.d/dahdi.blacklist dosyasının sonuna aşağıdaki bölüm eklenecek.
Bunun nedeni kullandığımız kartın (Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface) bunlarla karışmasına engel olmak.
DİKKAT: Eğer kullandığınız analog kart (pbx kartı) farklı bir modelse bunu yapmamamnız gerekiyor olabilir.
blacklist netjet
blacklist isdn
blacklist mISDN_core
blacklist mISDN_ipac - dahdi_genconf. Bu işlem bütün her şey tamamlandıktan sonra yapılabilir. kart için gerekli dahdi konfigürasyonunu oluşturur. Sanırım uygun olan, yukardaki yolu (ek1 dahil) izleyip kurulumu tamamlamak ve sonra makineyi yeniden başlattıktan sonra bu işlemi yapmak.
- /etc/dahdi/modules içinde sadece wctdm'i aktif bırakmak diğerlerini "comment out" etmek uygundur. Bu gereksiz yere tüm donanım modüllerinin yüklenmesini engeller. (Yine karta bağlı olarak yapılacak bir işlem.)
Freepbx arayüzü ile yapılacaklar
Bütün bu işlemlerin ardındanİki asterisk pbx'i birbirine bağlama
Link şudur. Detaylı ve iyi bir anlatım:
http://www.cadvision.com/blanchas/Asterisk/IAX2Trunk.html
Olası problemler ve kaynakları
- Derleme işlemleri sırasında çıkan pek çok problemin kaynağı dil seçimi ile ilgilidir.
# export LANG=POSIX
diye devam edebilir...
# /usr/src/asterisk-1.6.2.6
# make clean
# . configure
# make