Asterisk + FreePBX on Debian Etch
Par Yoann, lundi 31 mars 2008 à 11:22 :: VOIP Asterisk & Telephonie :: #108 :: rss
Voici une procédure plus qu'un how-to sur l'installation et la configuration d'un serveur asterisk avec l'interface d'administration FreePBX sur une Debian Etch fraichement installé.
Vous trouverez dans la suite de ce billet toutes les opérations que j'ai dû effectuer après avoir installé Debian Etch sur une machine pour avoir un serveur Asterisk avec son interface d'administration FreePBX fonctionnelle.
- FreePBX : http://freepbx.org/
- Asterisk : http://www.asterisk.org/
Je ne vous details pas dans ce billet le details des opérations, je vous laisse juger par vous même, du bien fondé de mes choix, et si ceux-ci n'etaient pas les bons, je vous invite à laissé un commentaire, afin d'en faire profiter tout le monde.
UPDATE : 31/03/2008 : Mise à jours de la procédure d'installation afin de corriger le problème avec le PID de asterisk et rajoût des 3 scripts bash (fortement demandé) en fin de billets.
UPDATE : 02/07/2008 : Création d'une mailing liste sur le sujet de la VOIP ( voir le billet : asterisk-freepbx-mailing-list )
UPDATE : 13/08/2008 : Nouvelle version du script, voir le nouveau billet dans la catégorie VOIP Asterisk & Telephony.Installation d'Asterisk
Telechargement des sources dans /tmp/asterisk/
mkdir /tmp/asterisk/ wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.18.tar.gz -O /tmp/asterisk/asterisk-1.4.18.tar.gz wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.8.tar.gz -O /tmp/asterisk/zaptel-1.4.8.tar.gz wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.3.tar.gz -O /tmp/asterisk/libpri-1.4.3.tar.gz wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.5.tar.gz -O /tmp/asterisk/asterisk-addons-1.4.5.tar.gz
Construction de l'environment de compilation
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/ tar xvjf linux-source-2.6.18.tar.bz2 ln -s /usr/src/linux-source-2.6.18 /usr/src/linux cd /usr/src/linux/ make oldconfig make prepare make prepare scripts
Decompresion des sources dans /usr/src/
cd /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 /usr/src/zaptel-1.4.8 ./configure make menuconfig make install make config
Compilation de libpri
cd /usr/src/libpri-1.4.3 make install
Compilation de Asterisk
cd /usr/src/asterisk-1.4.18 ./configure make menuconfig make install make samples
Compilation des Addons Asterisk
cd /usr/src/asterisk-addons-1.4.5 ./configure make menuconfig make install
Liens Symboliques (Modules)
ln -s /lib/modules/2.6.18/ /lib/modules/`uname -r`/asterisk depmod
Lancement de ztdummy au démarrage
echo ztdummy >> /etc/modules
Installation de FreePBX
Construction de l'environment
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
Telechargement des sources dans /tmp/freepbx/
mkdir /tmp/freepbx/ wget http://mesh.dl.sourceforge.net/sourceforge/amportal/freepbx-2.4.0.tar.gz -O /tmp/freepbx/freepbx-2.4.0.tar.gz
Decompresion des sources de freepbx dans /usr/src/
cd /usr/src tar zxvf /tmp/freepbx/freepbx-2.4.0.tar.gz
Changement de la taille maximum des upload PHP
cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini-orig 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
Musique d'attente (Lien symbolique)
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
Utilisateur & Permissions du user 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 apache
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf-orig 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
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 de Asterisk pour utilisation avec FreePBX
cp /etc/asterisk/asterisk.conf /etc/asterisk/asterisk.conf.orig 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 de Asterisk Post Installation
/usr/sbin/asterisk
Modification des fichiers de configuration de FreePBX
cp /usr/src/freepbx-2.4.0/install_amp /usr/src/freepbx-2.4.0/install_amp-orig 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 de Asterisk Post Installation
kill -9 $(cat /var/run/asterisk/asterisk.pid)
Remove Apache2 Redirect
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
Redemarrage de apache
/etc/init.d/apache2 restart
Changement des 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/
Copie des images manquantes
cp /var/www/admin/modules/dashboard/images/notify_* /var/www/admin/images/
Changement des mots de passe par default
Changement du mot de passe SQL pour le user SQL asteriskuser
Remplacer <PWD> par votre mot de passe
sed -e "s/\(^AMPDBPASS=*\)\(.*\)/\1<PWD>/" /etc/amportal.conf > /etc/amportal.conf.tmp
mv /etc/amportal.conf.tmp /etc/amportal.conf
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('<PWD>');" | mysql -u root
Changement du mot de passe Asterisk Manager
Remplacer <PWD> par votre mot de passe
sed -e "s/\(^secret = *\)\(.*\)/\1<PWD>/" /etc/asterisk/manager.conf > /etc/asterisk/manager.conf.tmp mv /etc/asterisk/manager.conf.tmp /etc/asterisk/manager.conf sed -e "s/\(^AMPMGRPASS=*\)\(.*\)/\1<PWD>/" /etc/amportal.conf > /etc/amportal.conf.tmp mv /etc/amportal.conf.tmp /etc/amportal.conf
Changement du mot de passe ROOT Mysql
Remplacer <PWD> par votre mot de passe
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<PWD>');" | mysql -u root
Scripts d'auto-installation
C'est un bien grand mot auto-installation, mais j'ai déjà pu installer à plusieurs reprises installer Asterisk+FreePBX sur une Debian Etch en moins de 30 Minutes (configuration comprise) grâce à ces 3 scripts.
NOTE IMPORTANTE : Ces scripts sont prévu pour être excecutés sur un serveur fraichement installé avec une Debian Etch.
Avant de lancer le 1er script, vous devez vous assurer que votre serveur est bien connecté à internet, et que votre fichier /etc/apt/sources.list est correctement renseigné.
- Script n°1 : inst1-1.4.18.sh : Installation de Asterisk 1.4.18
- Script n°2 : inst2-2.4.0.sh : Installation de FreePBX 2.4.0
- Script n°3 : inst3.sh : Changement des mots de passe par default
Commentaires
1. Le samedi 16 février 2008 à 10:24, par Frealais
2. Le jeudi 6 mars 2008 à 17:44, par david
3. Le jeudi 6 mars 2008 à 21:44, par Yoann
4. Le vendredi 7 mars 2008 à 12:26, par david
5. Le vendredi 7 mars 2008 à 12:30, par Yoann
6. Le vendredi 7 mars 2008 à 12:54, par david
7. Le vendredi 7 mars 2008 à 13:59, par Yoann
8. Le dimanche 9 mars 2008 à 15:52, par Julien
9. Le lundi 31 mars 2008 à 22:38, par Benoit
10. Le lundi 31 mars 2008 à 23:52, par Yoann
11. Le mardi 1 avril 2008 à 14:28, par Sen
12. Le vendredi 4 avril 2008 à 01:46, par gesper
13. Le samedi 5 avril 2008 à 14:36, par Benoit
14. Le lundi 7 avril 2008 à 14:01, par Mo
15. Le lundi 7 avril 2008 à 14:42, par Yoann
16. Le lundi 7 avril 2008 à 15:02, par Mo
17. Le lundi 7 avril 2008 à 15:07, par Yoann
18. Le lundi 7 avril 2008 à 15:13, par Mo
19. Le lundi 7 avril 2008 à 15:16, par Yoann
20. Le lundi 14 avril 2008 à 11:37, par Chris
21. Le mercredi 16 avril 2008 à 17:25, par mikimoto
22. Le vendredi 18 avril 2008 à 19:06, par chris
23. Le vendredi 18 avril 2008 à 19:08, par Yoann
24. Le jeudi 24 avril 2008 à 14:45, par MikeGyver42
25. Le vendredi 25 avril 2008 à 09:24, par MikeGyver42
26. Le vendredi 25 avril 2008 à 09:50, par MikeGyver42
27. Le lundi 28 avril 2008 à 17:04, par chris
28. Le mercredi 21 mai 2008 à 06:02, par Trevisa
29. Le mercredi 21 mai 2008 à 14:30, par Trevisa
30. Le dimanche 25 mai 2008 à 02:00, par Stephane
31. Le dimanche 25 mai 2008 à 02:06, par Stephane
32. Le lundi 26 mai 2008 à 16:57, par chris
33. Le vendredi 30 mai 2008 à 15:35, par eric
34. Le vendredi 30 mai 2008 à 18:21, par joselito
35. Le vendredi 30 mai 2008 à 19:51, par Jason
36. Le vendredi 30 mai 2008 à 19:56, par Jason
37. Le vendredi 27 juin 2008 à 12:07, par Tripapote
38. Le samedi 28 juin 2008 à 14:37, par voisip
39. Le samedi 28 juin 2008 à 16:11, par voisip
40. Le samedi 28 juin 2008 à 17:11, par Yoann
41. Le samedi 28 juin 2008 à 20:53, par voisip
42. Le samedi 28 juin 2008 à 20:57, par voisip
43. Le dimanche 29 juin 2008 à 23:40, par chris
44. Le mardi 1 juillet 2008 à 19:26, par Yoann
45. Le mardi 1 juillet 2008 à 19:30, par Yoann
46. Le mercredi 2 juillet 2008 à 22:25, par voisip
47. Le mercredi 2 juillet 2008 à 22:49, par Yoann
48. Le mercredi 2 juillet 2008 à 23:10, par Yoann
49. Le dimanche 6 juillet 2008 à 21:42, par voisip
50. Le dimanche 6 juillet 2008 à 22:41, par Yoann
51. Le jeudi 17 juillet 2008 à 20:55, par Nono751
52. Le vendredi 1 août 2008 à 16:56, par Jenifer
53. Le lundi 4 août 2008 à 05:08, par jsgrenon
54. Le mercredi 6 août 2008 à 00:50, par mrs1
55. Le samedi 16 août 2008 à 17:55, par ButterflyOfFire
Ajouter un commentaire