Asterisk, instalace - krok za krokem, 5.díl

Napsal (») 18. 12. 2009 v kategorii Mobilní sítě, přečteno: 3265×

Asterisk - instalace - rozbor instalačního skriptu

Pro zájemce sem připravil rozbor instalačního skriptu, rozbor může napomoci i v případě problému při instalaci, ačkoliv postup byl již několikrát ověřen na několika virtuálních strojích.

Skript tedy pokračuje následujícími příkazy:

nastavení toho, aby skript nevyžadoval interakci uživatele

apt-get -y install debconf-utils
debconf-set-selections <<CONF_EOF
debconf debconf/frontend select noninteractive
CONF_EOF
 

nainstalujeme mysql-server, který vyžaduje freepbx

apt-get -y install mysql-server

nastavíme root heslo do databáze

mysqladmin -u root password ${MYSQL_ROOT_PW}

nainstalujeme zbývající balíčky potřebný pro korektní instalaci

apt-get -y install linux-headers-`uname -r` --force-yes
apt-get -y install make bison flex g++ gcc apache2 php5 php5-curl
apt-get -y install php5-cli php5-mysql php-pear php-db php5-gd curl
apt-get -y install sox libncurses5-dev libssl-dev libmysqlclient15-dev
apt-get -y install mpg123

#clear

přesuneme se do standardní složky pro ukládání balíčků

cd /usr/src

instalace DAHDI, což je podpora analogové telefonie. Dříve známá pod Zaptel

sudo wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz
tar -xvzf dahdi-linux-current.tar.gz
cd dahdi-linux*
make clean
make
make install
cd ..
sudo wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz
tar -xvzf dahdi-tools-current.tar.gz
cd dahdi-tools*
make clean
./configure
make
make install
make config
cd ..
sudo wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
tar xfz libpri-1.4-current.tar.gz
cd `find . -name "libpri-1.4.*" -print`
#./configure
make install
cd ..

instalace Asterisk 1.6.0 + doplňky

wget http://downloads.digium.com/pub/asterisk/asterisk-1.6.0-current.tar.gz
tar xfz asterisk-1.6.0-current.tar.gz
cd `find . -name "asterisk-1.6.0.*" -print`
./configure
make install
make samples
cd ..
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.6.0-current.tar.gz
tar xfz asterisk-addons-1.6.0-current.tar.gz
cd `find . -name "asterisk-addons-1.6*" -print`
./configure
make install
cd ..
mkdir asterisk-sounds
cd asterisk-sounds
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
tar -zxf asterisk-extra-sounds-en-gsm-current.tar.gz
cp -rf * /var/lib/asterisk/sounds
cd ..

Nyní probíhá úprava apache serveru, aby spolupracoval s asteriskem a freepbx.

vytvoření apache uživatele a skupiny, přidání do www-data skupiny pro apache server

adduser asterisk --disabled-password --gecos "asterisk PBX"
adduser www-data asterisk

úprava apache konfigurace k běhu jako asterisk uživatel

cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf-orig
sed -i "s/\(^User *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf
sed -i "s/\(^Group *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf

patch safe_asterisk skriptu k používání bash

sed -i "s|#!/bin/sh|#!/bin/bash|" /usr/sbin/safe_asterisk

přidání asterisk do startupu

cat > /etc/init.d/asterisk <<-END_STARTUP
#!/bin/bash
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
instalace freepbxu
wget http:mirror.freepbx.org/freepbx-${FREEPBX_VERSION}.tar.gz
tar xfz freepbx-${FREEPBX_VERSION}.tar.gz
cd freepbx-${FREEPBX_VERSION}
# nastavení databáze
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

rekonfigurace php pro freepbx

cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini-orig
sed -i "s/\(upload_max_filesize *= *\)\(.*\)/\120M/" /etc/php5/apache2/php.ini
sed -i "s/\(memory_limit *= *\)\(.*\)/\1100M/" /etc/php5/apache2/php.ini
sed -i "s/\(magic_quotes_gpc *= *\)\(.*\)/\1Off/" /etc/php5/apache2/php.ini

asterisk úprava práv pro asterisk

mkdir /var/run/asterisk
chown asterisk:asterisk /var/run/asterisk
chown asterisk:asterisk -R /etc/asterisk
chown asterisk:asterisk -R /var/lib/asterisk
# chmod a+x /var/lib/asterisk/bin/*
chown asterisk:asterisk -R /var/log/asterisk
chown asterisk:asterisk -R /var/spool/asterisk
chown asterisk:asterisk -R /var/www
sed -i "s/\[directories\](!) .*/[directories]/" /etc/asterisk/asterisk.conf
sed -i "s|astrundir *=> */var/run|astrundir => /var/run/asterisk|" /etc/asterisk/asterisk.conf

instalace freepbx

./install_amp

restart apache web server

/etc/init.d/apache2 restart

loading dahdi ovladačů

/etc/init.d/dahdi start

úprava špatně nastavené cesty k music on hold

 ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

nastartujeme asterisk amportal

amportal start
Štítky: asterisk
Hodnocení:     nejlepší   1 2 3 4 5   odpad
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel nula a osm