Installation d’un PABX (Asterisk FreePbx …)

Communication, Connaissances, Informatique, Internet, Linux, Logiciel, Téléphonie Ajout d'un commentaire

Suite à l’installation de Debian Etch nous pouvons maintenant installer un PABX (Serveur Téléphonique) sur notre serveur tout propre.

J’ai utilisé en grande partie le tutoriel de Yoann Queret. J’ai modifier certaines parties qui n’était pas a mon goût.

Par la suite je ferais un tutorial pour créer vos utilisateurs, vos lignes etc… :-)

Connectez vous en ssh a votre serveur ou directement en console sur la machine.

Création d’un dossier temporaire pour stocker les archives

mkdir /tmp/asterisk/

On se rend dans le dossier temporaire

cd /tmp/asterisk

On telecharge ce que l’on a besoin

wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.18.tar.gz
wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.8.tar.gz
wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.3.tar.gz
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.5.tar.gz

On telecharge vim

apt-get install vim

On modifie le fichier sources.list

vi /etc/apt/sources.list

Rendez-vous avec les fleches devant la ligne suivante :

deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20070820-20:21]/ etch contrib main

Appuyez sur les touches du clavier :

i (pour passer en mode insertion)
# (pour rajouter un # en debut de ligne)
ESC (pour sortir du mode insertion)
:wq (pour sauver et fermer le fichier)

Vous revoilà dans la console maintenant nous récupérons d’autres paquets

apt-get -y install linux-source-2.6.18 kernel-package g++ libncurses5-dev linux-kernel-headers sqlite libnewt-dev libusb-dev zlib1g-dev libmysqlclient15-dev libsqlite0-dev

Configuration des sources du kernel

cd /usr/src/

On décompresse l’archive

tar -xvjf linux-source-2.6.18.tar.bz2

On créer un lien symbolique

ln -s /usr/src/linux-source-2.6.18 /usr/src/linux

On test le lien symbolique

cd /usr/src/linux

On compile

make oldconfig
make prepare
make prepare scripts

On retourne dans le répertoire parent

cd ..

On décompresse les archives du dossier temporaire vers /usr/src

tar -zxvf /tmp/asterisk/asterisk-1.4.18.tar.gz
tar -zxvf /tmp/asterisk/asterisk-addons-1.4.5.tar.gz
tar -zxvf /tmp/asterisk/libpri-1.4.3.tar.gz
tar -zxvf /tmp/asterisk/zaptel-1.4.8.tar.gz

Compilation de zaptel

cd zaptel-1.4.8
./configure
make menuconfig
make install
make config

Compilation de libpri

cd ../libpri-1.4.3
make install

Compilation d’Asterisk

cd ../asterisk-1.4.18
./configure
make menuconfig
make install
make samples

Compilation des addons d’Asterisk

cd ../asterisk-addons-1.4.5
./configure
make menuconfig
make install

Création des liens symboliques pour les modules

ln -s /lib/modules/2.6.18/ /lib/modules/`uname -r`/asterisk
depmod

Lancement de ztdummy au demarrage

echo ztdummy >> /etc/modules

Installation de FreePBX

apt-get install -y apache2 php5 php5-cli mysql-server-5.0 php-pear php5-mysql php-db libapache2-mod-php5 php5-gd php5-curl

Création d’un repertoire temporaire

mkdir /tmp/freepbx/

On se rend dans le dossier temporaire

cd /tmp/freepbx/

Téléchargement de l’archive

wget http://mesh.dl.sourceforge.net/sourceforge/amportal/freepbx-2.4.0.tar.gz

On se rend dans le dossier /usr/src

cd /usr/src

On extrait le fichier temporaire

tar -xvzf /tmp/freepbx/freepbx-2.4.0.tar.gz

Modification de la taille d’upload maximum dans le php.ini

cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini-original
sed -e "s/\(upload_max_filesize *= *\)\(.*\)/\120M/" /etc/php5/apache2/php.ini > /etc/php5/apache2/php.ini.tmp
mv /etc/php5/apache2/php.ini.tmp /etc/php5/apache2/php.ini

Création du lien symbolique pour la musique d’attente

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

Création des permissions pour l’utilisateur asterisk

adduser asterisk --disabled-password --gecos "asterisk PBX" --home /var/lib/asterisk
adduser www-data asterisk

Changement de l’utilisateur www-data en asterisk pour l’utilisation d’apache

cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf-original
sed -e "s/\(^User *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf > /etc/apache2/apache2.conf.tmp
mv /etc/apache2/apache2.conf.tmp /etc/apache2/apache2.conf
sed -e "s/\(^Group *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf > /etc/apache2/apache2.conf.tmp
mv /etc/apache2/apache2.conf.tmp /etc/apache2/apache2.conf

Création des bases de données et des tables MYSQL

echo "create database asteriskcdrdb;" | mysql -u root
echo "create database asterisk;" | mysql -u root
echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root
echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root
mysql -u asteriskuser -pamp109 asteriskcdrdb < /usr/src/freepbx-2.4.0/SQL/cdr_mysql_table.sql
mysql -u asteriskuser -pamp109 asterisk < /usr/src/freepbx-2.4.0/SQL/newinstall.sql

Configuration d’asterisk pour qu’il fonctionne avec Freepbx

cp /etc/asterisk/asterisk.conf /etc/asterisk/asterisk.conf.original
sed -e "s/\(astrundir *=> *\)\(.*\)/\1\/var\/run\/asterisk/" /etc/asterisk/asterisk.conf > /etc/asterisk/asterisk.conf.tmp
mv /etc/asterisk/asterisk.conf.tmp /etc/asterisk/asterisk.conf
mkdir /var/run/asterisk
chown -R asterisk:asterisk /var/run/asterisk

Demarrage d’asterisk post installation

/usr/sbin/asterisk

Modification de la configuration de Freepbx

cp /usr/src/freepbx-2.4.0/install_amp /usr/src/freepbx-2.4.0/install_amp-original
sed -e "s/\(^\$webroot*\)\(.*\)/\1 = \"\/var\/www\";/" /usr/src/freepbx-2.4.0/install_amp > /usr/src/freepbx-2.4.0/install_amp.tmp
mv /usr/src/freepbx-2.4.0/install_amp.tmp /usr/src/freepbx-2.4.0/install_amp
chmod 755 /usr/src/freepbx-2.4.0/install_amp

Installation de Freepbx

cd /usr/src/freepbx-2.4.0/
./install_amp

Arret d’asterisk post installation

kill -9 $(cat /var/run/asterisk/asterisk.pid)

Suppression de la redirection d’apache

sed -e "s/\(RedirectMatch*\)\(.*\)//" /etc/apache2/sites-enabled/000-default > /etc/apache2/sites-enabled/000-default.tmp
mv /etc/apache2/sites-enabled/000-default.tmp /etc/apache2/sites-enabled/000-default

On redemarre apache

/etc/init.d/apache2 restart

On change les droits

chown -R asterisk:asterisk /etc/asterisk
chmod 777 /etc/asterisk/
chown -R asterisk:asterisk /var/lib/asterisk/
chmod 775 /var/lib/asterisk/
chown -R asterisk:asterisk /var/www/

On copie les images

cp /var/www/admin/modules/dashboard/images/notify_* /var/www/admin/images/

Changement du mot de passe SQL pour le user SQL asteriskuser

sed -e "s/\(^AMPDBPASS=*\)\(.*\)/\1VOTREMOTDEPASSE/" /etc/amportal.conf > /etc/amportal.conf.tmp
mv /etc/amportal.conf.tmp /etc/amportal.conf
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('VOTREMOTDEPASSE');" | mysql -u root

Changement du mot de passe de Asterisk manager

sed -e "s/\(^secret = *\)\(.*\)/\1VOTREMOTDEPASSE/" /etc/asterisk/manager.conf > /etc/asterisk/manager.conf.tmp
mv /etc/asterisk/manager.conf.tmp /etc/asterisk/manager.conf
sed -e "s/\(^AMPMGRPASS=*\)\(.*\)/\1VOTREMOTDEPASSE/" /etc/amportal.conf > /etc/amportal.conf.tmp
mv /etc/amportal.conf.tmp /etc/amportal.conf

Changement du mot de passe root MySQL

echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('VOTREMOTDEPASSE');" | mysql -u root

Se logguer sur :

http://192.168.0.170/admin

(remplacer par votre ip)

Autres ressources :

http://fr.wikipedia.org/wiki/Asterisk_(logiciel)
http://wiki.lebourg.org/index.php?title=Asterisk

Par : ChoiZ

Ajout de commentaire

Théme par N.Design Studio 2006 - 2008 © Point2Zero.net
Flux RSS Billets Flux RSS Commentaires Log in