Installation d’un PABX (Asterisk FreePbx …)

Communication, Connaissances, Informatique, Internet, Linux, Logiciel, Téléphonie Aucun commentaire »
No Gravatar

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

Installation d’un système Debian Etch de base

Connaissances, Geek, Informatique, Internet, Linux, Logiciel Aucun commentaire »
No Gravatar

Voilà les différentes étapes a suivre pour installer un système Debian de base avec l’aide d’un serveur dhcp (qui permet de fournir une ip a votre Debian.

Première étape :
Télécharger un iso de Debian.
Choisir l’iso en fonction de votre processeur.
Choisir l’iso en fonction de vos médias (CD Rom, Clef Usb, Installation par internet…)
J’ai choisi un système Debian pour Intel avec le CD Rom Netinstall (convient parfaitement à une ligne ADSL).

Relancer votre machine (de préférence une machine propre sans OS …)

Mettre votre disque Debian dans la machine normalement une fenetre de Debian apparait !

Appuyez sur entrer !
Nous voilà dans l’installation voilà les différentes étapes a suivre :
1.1 Choose language

French - Français

1.2 Choisissez un pays, territoire ou lieu géographie :

France

1.3 Carte de clavier à utiliser :

Français (fr-latin9)

Détection du matériel…
Examen du CD…
Charger des composants supplémentaires…
Détection du matériel réseau…
Configuration du réseau avec DHCP…
1.4 Nom de machine :

Debian

(vous pouvez choisir un autre nom… ;) )
1.5 Domaine :
[vide]
1.6 Méthode de partitionnement :

Assisté - utilisé un disque entier

1.7 Disque à partitionner :

IDE1 maître (hda) - 6.3 GB Virtual HDD

(j’ai utilisé une machine virtuel)
1.8 Schéma de partitionnement :

Tout dans une seule partition (recommandé pour les débutants)
1.9 IDE1 maître (hda) - 6.3 GB Virtual HDD
n° 1 primaire     6.0 GB B f ext3     /
n° 5 logique    320.8 MB   f swap     swap

Terminer le partitionnement et appliquer les changements
1.10 Faut-il appliquer les changements sur les disques ?

Oui

1.11 Mot de passe root

**********

1.12 Confirmation du mot de passe

**********

1.13 Nom complet du nouvel utilisateur

Monnomdefamille

(ou pseudo ou autre c’est le premier utilisateur créer sur votre système)
1.14 Identifiant de votre compte utilisateur

Pseudo

1.15 Mot de passe pour le nouvel utilisateur

******

1.16 Confirmation du mot de passe

******

Installation du système de base…
1.17 Faut il utilisé un miroir sur le réseau ?

Oui

1.18 Pays du miroir de l’archive debian

France

1.19 Miroir de l’archive debian

ftp.fr.debian.org

1.20 Mandataire HTTP
[vide]
1.21 Souhaitez-vous participer à l’étude statistique sur l’utilisation des paquets ?

Non

1.22 Logiciels à installer :

Système standard

1.23 Installer le programme de démarrage GRUB sur le secteur d’amorçage ?

Oui

Installation terminée !
Enlevez le cd ou autre.. et cliquez sur continuer :)

Une fois booter loguez vous en root.
et tapez :

apt-get install ssh

pour installer le serveur ssh ;)

apt-get install vim

pour mettre a jour la vielle version de vim qui est dans la version de base (cette commande est facultative mais étant un grand user de vi :-) )

Par : ChoiZ

ntpdate pour rester à l’heure !

Communication, Connaissances, Informatique, Internet, Linux, Logiciel Aucun commentaire »
No Gravatar

A chaque installation d’une machine que ça soit une Debian, Windows ou Mac Os X, je modifie les serveurs de temps et surtout les mises à jours !

Sur debian j’install généralement ntpdate via apt

apt-get install ntpdate

puis j’édit le fichier crontab (/etc/crontab) pour rajouter :

*/10 *  * * *   root    /usr/sbin/ntpdate -s ntp.unice.fr

Comme ça le serveur se met à jour toutes les 10mn (après a vous de voir si ça vaut le coup de faire ça toutes les 10mn suivant votre usage).

Pour voir si l’heure est bonne il suffit d’utiliser :

date

Enjoy !

Par : ChoiZ

Postfix Envoi de mail en ligne de commande

Communication, Connaissances, Geek, Informatique, Internet, Linux, Logiciel Aucun commentaire »
No Gravatar

Voilà les quelques lignes a faire pour envoyer un mail en telnet avec Postfix :

telnet (ip) 25
EHLO (hostname)
MAIL FROM: <mail@envoi.fr>
RCPT TO: <mail@destination.fr>
DATA
Subject : ici votre sujet (cette ligne est facultative)
Ici votre mail ensuite allez a la ligne et faites . puis entrer pour finir
.
quit

Petite démo :

Normalement vous avez envoyer un mail avec Postfix pour vérifier allez voir dans le fichier :

tail /var/log/mail.log

Par : ChoiZ

Encore un peu de lecture !

Connaissances, Informatique, Lecture, Logiciel Aucun commentaire »
No Gravatar

Aujourd’hui c’est la journée !

Pour finir voilà encore des bases de données avec :

MySQL précis & concis est un petit livre d’O'Reilly qui fait seulement 100 Pages avec un format d’une page A5 environ. Ce livre est l’essentiel de ce qu’il faut savoir pour utiliser MySQL. L’essentiel voir même un peu plus, c’est plus un aide mémoire.

Et pour finir le dernier livre de la journée :

Je crois qu’il n’y a pas grand chose a dire de plus sur ce livre (le titre étant très évocateur du contenu). Très utile pour se former a MySQL 5 !

Par : ChoiZ

Lecture

Connaissances, Geek, Informatique, Lecture Aucun commentaire »
No Gravatar

Voilà ce matin en sortant de mon rendez-vous avec la banquière j’ai fait un saut a la fnac et j’ai sauté sur les bouquins O’Reilly qui restaient…

Celui-ci va me permettre de connaitre Ruby et Rails !
Ruby est un langage de programmation informatique orienté objet (son nom vient d’un jeu de mot avec le célèbre langage Perl).
Rails est un framework libre pour Ruby. Il utilise la conception avec le modèle MVC (Model View Controler).

Le second livre est sur SQL.

SQL est un langage de requête pour les bases de données. Dans ce livre plus de 160 requêtes expliquées, commentées pour différentes bases de données : SQL Server, PostgreSQL, Oracle, MySQL et DB2.

Par : ChoiZ

Les Kensington sont ils vraiment sécurisés ?

Connaissances, Informatique, Matériel Aucun commentaire »
No Gravatar

Par : ChoiZ

Faire un iso avec Mac Os X

Apple, Connaissances, Informatique, Logiciel Aucun commentaire »
No Gravatar

J’ai cherché cette aprem pour faire un iso facilement avec Mac Os 10.5 (Léopard)

Il suffit d’aller dans une console et de taper la commande suivante :

Pour un cd par exemple j’ai fait :

hdiutil makehybrid -o /Users/ChoiZ/monfichier.iso -iso /Volumes/moncd/

Changez /Users/ChoiZ/monfichier.iso par le répertoire de destination de l’iso ainsi que le nom du fichier iso.
Et modifiez également /Volumes/moncd/ par le répertoire que vous voulez mettre en iso.

Par : ChoiZ

Mon Fichier de configuration pour vim

Connaissances, Geek, Informatique, Linux, Logiciel Aucun commentaire »
No Gravatar

Voilà mon nouveau fichier de configuration de vim !

Je vous invite a le modifier a votre convenance :)

N’hésitez pas a rajouter un commentaire si vous avez d’autres fonctions utiles ^

Par : ChoiZ

Vim

Connaissances, Geek, Informatique, Linux, Logiciel Aucun commentaire »
No Gravatar

Voilà une petite liste de commande que j’utilise pas mal avec mon éditeur texte favoris ^^

Pour d’autres commandes n’hésitez pas a visiter : le guide de survie de vi ou même la page de Nicolas George

Rechercher
/mot                                    Recherche “mot” vers le bas
?mot                                    Recherche “mot” vers le haut
/choi[xz]                               Recherche “choix” ou “choiz”
/choiz\|sinac                           Recherche “choiz” ou “sinac”
/^\n\{2}                                Recherche 2 lignes vides
:bufdo /mot                             Recherche “mot” dans tous les fichiers ouverts

Remplacer
:%s/microsoft/apple/g                   Remplace toutes les occurences de “microsoft” par “apple” dans le fichier
:%s/microsoft/apple/gw                  Remplace toutes les occurences de “microsoft” par “apple” dans le fichier avec confirmation
:2,35s/microsoft/apple/g                Remplace toutes les occurences de “microsoft” par “apple” entre les lignes 2 et 35
:5,$s/microsoft/apple/g                 Remplace toutes les occurences de “microsoft” par “apple” de la ligne 5 à la fin du fichier
:%s/microsoft/apple/gi                  Remplace toutes les occurences de “microsoft” par “apple” sans tenir compte de la casse
:s/microsoft/apple/                     Remplace la première occurence de “microsoft” par “apple” dans la ligne courante
:s/microsoft/apple/g                    Remplace toutes les occurences de “microsoft” par “apple” dans la ligne courante
:%s/^/ChoiZ/g                           Ajoute au début de chaque ligne : “ChoiZ”
:%s/$/ChoiZ/g                           Ajoute a la fin de chaque ligne : “ChoiZ”
:%s/ *$//g                              Supprime les espaces blancs
:g/microsoft/d                          Supprime toutes les lignes contenant “microsoft”
:v/apple/d                              Supprime toutes les lignes ne contenant pas “apple”

Caracteres spéciaux
:%s/\r//g                               Supprime les caractères de retour DOS (^M)
:%s/\r/\r/g                             Transforme les caractères de retour DOS en retours
:%s#<[^>]\+>##g                         Supprime les tags HTML en laissant le texte

Doublons
:%s/^\(.*\)\n\1$/\1/                    Supprime les lignes en doublon

Case
Vu                                      Transforme la ligne en minuscule
VU                                      Transforme la ligne en majuscule
g~~                                     Inverse la casse de la ligne
vE~                                     Modifie la casse du mot
vEU                                     Mets le mot en majuscule
ggguG                                   Mets tout le texte en majuscule
:%s/.*/\U&                              Mets toutes les lettres en majuscule
:%s/.*/\L&                              Mets toutes les lettres en minuscule
:%s/\<./\u&/g                           Mets la première lettre de chaque mot en majuscule
:%s/\<./\l&/g                           Mets la première lettre de chaque mot en minuscule
:%s/.*/\u&                              Mets la première lettre de chaque ligne ne majuscule
:%s/.*/\l&                              Mets la première lettre de chaque ligne en minuscule
:set ignorecase                         Ignore la casse lors des recherches
:set smartcase                          Ignore la casse lors des recherches sauf si une majuscule est utilisée

Interaction avec Unix
:sh ou :shell                           Lance une console dans mais reste dans vi
ctrl+d                                  Retourne sous vi

Onglets
:tabnew                                 Création d’un nouvel onglet
gt                                      Affiche l’onglet suivant
:tabfirst                               Affiche le premier onglet
:tablast                                Affiche le dernier onglet
:tabm n(position)                       Réarrange les onglets
:tabdo %s/foo/bar/g                     Execute une commande dans tous les onglets
:tab ball                               Mets tous les fichiers ouverts dans des onglets

Mode fenestré
:e fichier                              Ouvre le fichier “fichier” dans la fenetre actuel
:new fichier                            Divise la fenetre horizontalement et ouvre le fichier “fichier”
:split fichier                          Divise la fenetre horizontalement et ouvre le fichier “fichier”
:vsplit fichier                         Divise la fenêtre verticalement et ouvre le fichier “fichier”
ctrl+w fleche du haut                   Déplace le curseur dans la fenêtre du haut
ctrl+w fleche du bas                    Déplace le curseur dans la fenêtre du bas
ctrl+w fleche de droite                 Déplace le curseur dans la fenêtre de droite
ctrl+w fleche de gauche                 Déplace le curseur dans la fenêtre de gauche
ctrl+w ctrl+w                           Déplace le curseur dans la fenêtre suivante
ctrl+w_                                 Maximise la fenêtre courante
ctrl+w=                                 Donne la même taille à toutes les fenêtres
10 ctrl+w+                              Agrandis la fenêtre courante de 10 lignes

Complétion
ctrl+n ctrl+p (en insertion)            Compléter le mot
ctrl+x ctrl+l                           Compléter la ligne

Indentation
:set autoindent                         Active l’indentation automatique
:set smartindent                        Indentation automatique intelligente
:set shiftwidth=2                       Défini 2 espaces comme taille d’indentation
>>                                      Indente
<<                                      Désindente

Coloration syntaxique
:syntax on                              Active la coloration syntaxique
:syntax off                             Désactive la coloration syntaxique
:set syntax=perl                        Force la coloration syntaxique

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