Installation d’un PABX (Asterisk FreePbx …)
Communication, Connaissances, Informatique, Internet, Linux, Logiciel, Téléphonie Aucun 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





Derniers commentaires