You are here: Home » Asterisk » Instalación de Asterisk 1.6 + FreeBPX 2.8 en Centos

Instalación de Asterisk 1.6 + FreeBPX 2.8 en Centos

FreeBPX es una herramienta de adminstración gráfica para asterisk, en este artículo veremos como instalar Asterisk 1.6 y FreePBX 2.8 en un servidor Centos 5.6

El primer requisito es tener intalado CentOS, acá les dejo una guía: http://hotfixed.net/2010/11/28/instalacion-centos-5/

Actualización Sistema Operativo

yum update

Reiniciamos el servidor

Instalación de dependencias

<strong>yum install gcc gcc-c++ wget bison mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring vim ntp  httpd make ncurses-devel libtermcap-devel caching-nameserver sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel openssl-devel  kernel-devel zlib-devel</strong>

Instalación de Lame

cd /usr/src/
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
tar -zxvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure
 make
make install

Descargamos freepbx, Asterisk, libpri y dahdi

wget http://mirror.freepbx.org/freepbx-2.8.0.tar.gz
tar -zxvf freepbx-2.8.0.tar.gz
wget hhttp://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.18.tar.gz
tar -zxvf asterisk-1.6.2.18.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.3.tar.gz
tar -xzvf asterisk-addons-1.6.2.3.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz
tar -zxvf dahdi-linux-complete-2.4.1+2.4.1.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
tar -zxvf libpri-1.4.11.5.tar.gz

Compilamos Lippri

cd /usr/src/libpri-1.4.11.5
make clean
make install
cd ..

Compilamos Dahdi

cd dahdi-linux-complete-2.4.0
make all
make config
cd ..

Compilando Asterisk

cd asterisk-1.6.X
./configure
make menuselect

Deshabilitamos el módulo ael
asterisk_ael

Habilitamos Core-Sound-ES-GSM
core_sound_es_gsm

Habilitamos Extra-sounds-en-gsm y seleccionamos save and exit
extra_sounds

make
make install
cd ..

Asignación de Permisos

cd /usr/src
useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
chown -R asterisk /var/run/asterisk
chown -R asterisk /var/log/asterisk
chown -R asterisk /var/lib/asterisk/moh
chown -R asterisk /var/lib/php/session

Creamos un enlace simbólico para la música en espera

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

Descargamos y compilamos mpg123

cd /usr/src
wget http://sourceforge.net/projects/mpg123/files/mpg123/1.13.1/mpg123-1.13.1.tar.bz2/download
tar -xjvf mpg123-1.13.1.tar.bz2
cd mpg123-1.13.1
make clean
./configure
make
make install

Creamos un link simbólico para que la libreria pueda ser encontrada por freepbx

ln -s /usr/local/bin/mpg123 /usr/bin/mpg123

Permisos de Asterisk en el apache

sed -i "s/User apache/User asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/AllowOverride All/AllowOverride None/" /etc/httpd/conf/httpd.conf

Iniciamos el servicio de MySQL

service mysqld start

Creación Base de datos para freepbx

cd /usr/src/freepbx-2.8.0
mysqladmin create asterisk
mysqladmin create asteriskcdrdb
mysql asterisk &lt; SQL/newinstall.sql
mysql asteriskcdrdb &lt; SQL/cdr_mysql_table.sql

Ingresamos a MySQL para crear los permisos,
Nota: el promt del sistema cambiara de root@localhost:# a mysql>

mysql
mysql&gt; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '3lp4ssw0rd';

Debe aparecer el siguiente mensaje -» Query OK, 0 rows affected (0.00 sec)

Nota: donde coloco el 3lp4ssw0rd debemos colocar el password que vamos a asignar al usuario asteriskuser y será el password con el que asterisk se somunicará con la base de datos, si no aparece el mensaje de Query OK verifica la sintaxis del comando.

mysql&gt; GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '3lp4ssw0rd';

Debe aparecer el siguiente mensaje -» Query OK, 0 rows affected (0.00 sec)

mysql&gt; flush privileges;

Debe aparecer el siguiente mensaje -» Query OK, 0 rows affected (0.00 sec)

mysql&gt; exit

En este paso colocamos un password al usuario root de MySQL

mysqladmin -u root password '3lp4ssw0rd'

Instalación de los addons de Asterisk

cd /usr/src/asterisk-addons-1.6.2.2
make clean &amp;&amp; ./configure &amp;&amp; make menuselect

salvar los cambios “X”

make &amp;&amp; make install

Finalizando la instalación de FreePBX

/usr/sbin/safe_asterisk
cd /usr/src/freepbx-2.8.0
./install_amp

Si todo va bien aparecerán los siguientes mensajes, allí debemos confirmar alguna información la pongo en negrilla
Checking for PEAR DB..OK
Checking for PEAR Console::Getopt..OK
Checking for libasteriskperl (perl bindings for asterisk)…Checking user..OK
Checking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the ‘asterisk’ database: [asteriskuser]
Enter your PASSWORD to connect to the ‘asterisk’ database: [3lp4ssw0rd]
Enter the hostname of the ‘asterisk’ database: [localhost]
Enter a USERNAME to connect to the Asterisk Manager interface: [admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:[elp4ssw0rd]
Enter the path to use for your AMP web root:[/var/www/html]
Enter the path to use for your FOP web root:[/var/www/html/panel]
Created /var/www/html/panel
Enter the path to your Apache cgi-bin:[/var/www/cgi-bin]
Enter the IP ADDRESS or hostname used to access the AMP web-admin:[192.168.X.X]-» Acá colocamos la ip de nuestro Asterisk
Flash Operator Panel: [passw0rd]
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]? extensions
Enter directory in which to store AMP executable scripts: [/var/lib/asterisk/bin]
Created /var/lib/asterisk/bin
Enter directory in which to store super-user scripts: [/usr/sbin]
/etc/amportal.conf writtenOK
Reading /etc/amportal.conf..OK
Checking for /etc/asterisk/asterisk.conf../etc/asterisk/asterisk.conf does not exist, copying default
OK
Module dashboard successfully enabled
installed
Please update your modules and reload Asterisk by visiting http://192.168.X.X/admin

Detenemos e iniciamos el servicio amportal

/usr/local/sbin/amportal stop
/usr/local/sbin/amportal start

Para que inicien los servicios de freepbx y asterisk automáticamente en cada inicio del sistema colocamos el siguiente comando para que se incluya en el rc.local

echo /usr/local/sbin/amportal start &gt;&gt; /etc/rc.local

Con los siguientes comandos se iniciarán con el sistema los servicios de apache y mysal

chkconfig httpd on
chkconfig mysqld on

Últimos Pasos de configuración

vim /etc/asterisk/cdr_mysql.conf

Colocamos e siguiente valor
loguniqueid=yes
Guardamos el archivo y salimos (comando :wq)

Cambiamos el password para el acceso a la sección recordings

vim /var/www/html/recordings/includes/main.conf.php

Editamos la siguiente línea
$ARI_ADMIN_PASSWORD =”3lp4ssw0rd”
Guardamos el archivo y salimos (comando :wq)

Reiniciamos Apache:

/etc/rc.d/init.d/httpd restart

Editamos el archivo amportal y establecemos el valor Authtype = database

vim /etc/amportal.conf

database-asterisk

Editamos el php.ini y cambiamos el parámetro upload_max_filesize, cambiarlo de 2MB a 10MB

vim /etc/php.ini

Upload_max

Logger.conf y rotación de Logs
Los logs de asterisk tienden a crecer bastante por lo que es recomendado generar rotación de estos logs

vim /etc/asterisk/logger.conf

Cambiamos
full => notice,warning,error,debug,verbose
a
full => notice,warning,error,verbose

Debe quedar como muestra la siguiente imagen
logrotate_asterisk

Creamos el archivo logger.conf para asterisk

vim  /etc/logrotate.d/asterisk

Colocamos la siguiente información

/var/log/asterisk/messages /var/log/asterisk/*log /var/log/asterisk/full {
missingok
notifempty
sharedscripts
create 0640 asterisk asterisk
postrotate
/usr/sbin/asterisk -rx ‘logger reload’ > /dev/null 2> /dev/null
endscript
}

Para finalizar ingresamos a través de un navegador desde un pc remoto a la ip de nuestro asterisk allí ingresamos a la opción FreePBX Administration

Allí recargaremos el asterisk dando click sobre el aviso naranja que dice Apply Configuration Changes

 

Founder of http://hotfixed.net - Co-Founder of @BusyToneGroup and @S3cT0 | Penetration Tester | Security Consultant | Linux | VoIP

http://hotfixed.net

15 Comments

  1. Muchas gracias por tan extensa y didáctica explicación, voy a realizar las pruebas y luego comenta…..

    saludos.

  2. Para poder instalar FreePBX, se necesita correr Asterisk en otra terminal con el usuario root de esta manera “usuario:~#asterisk -U asterisk -G asterisk -vvvc” y en la terminal principal correr el “./intall_amp” llenar todos los datos que piden usuario, claves mysql etc. Muchas veces al final muestra un error en la instalacion pero soluciona otra vez ejecutando “./install_amp”. Gracias

  3. Seguí paso a paso el manual y super funciona ok…..la verdad te luciste con esta info….gracias

  4. realice todo el tutorial al pie de la letra pero me ocurre un error, cuando intente ejecutar el comando “mysql” posterior a un reinicio me sale el siguiente mensaje:

    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

    Agradezco cualquier ayuda

    • claro, debes especificar el usuario y el password de mysql para ingresar a la línea de comandos de MySQL, ej:

      mysql -u root -p

      Luego solicitará el password de root establecido durante la instalación

  5. hola, como estas, como puedo comunicarme con usted, tienes cel, o tel donde te pueda llamar para realizar un curso presencial.

  6. Buenas tardes, miren soy nuevo en esto y quisiera que me ayuden con un par de preguntas que tengo.
    1.-Que version del asterisk(asterisk, tribox or elastix) me da las mejores ventajas para implementarlo con el freepbx.
    2.-Tambien si al bajar el tribox o elastix viene incluido el freepbx incluido por default o hay que instalarlo aparte.
    3.-Y Si este es el caso donde puedo bajarme el freepbx junto con el asterisk y linux de una sola vez, gracias..

    Saludos cordiales,

    Edgar

    • Edgar FreePBX es una herramienta web para la administración de Asterisk, Trixbox y Elastix son distribuciones que ya traen el asterisk, el freePBX y módulos adicionales. Puedes trabajar con asterisk 1.6 y freePBX como lo explica esta guía.

  7. Por favor me pueden decir porqué no aparece el módulo de IVR?. Como lo instalo?. Tengan en cuenta que soy súper novato en esto.
    Gracias

  8. Tengo una duda con respecto a los últimos pasos. Con respecto al archivo
    logger.conf y rotación de logs.
    Primero dice que lo editemos para quitar el debug y luego dice que creamos el mismo archivo. Según entiendo se hace referencia al mismo archivo.
    Le agradezco me aclare esta duda.

  9. SUPER, EXCELENTE MANUAL SOLO HAY UNA PEQUEÑA FALLA “asterisk-1.6.2.17.tar.gz” NO ESTÀ DISPONIBLE PERO SOLO CAMBIAMOS A LA asterisk-1.6.2.18.tar.gz Y LISTO GRACIAS DANIEL

    • Actualizado para CentOS 5.6 y los nuevos paquetes disponibles en el sitio oficial

  10. como puedo llegar a esas imagenes de Deshabilitamos el módulo ael
    y las otras

Comments are closed.