Asterisk, CentOS, FreePBX, Portada, Tutoriales

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

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

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 < SQL/newinstall.sql
mysql asteriskcdrdb < 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> 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> 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> flush privileges;

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

mysql> 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 && ./configure && make menuselect

salvar los cambios “X”

make && 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 >> /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

 

Tags: , , ,

15 Comentarios

  1. jhonatan cano says:

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

    saludos.

  2. Ricardo Vargas says:

    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. ale baquero says:

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

  4. julian e says:

    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. carlos says:

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

  6. Edgar says:

    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. Carlos says:

    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. Carlos Gomez says:

    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. Edduin says:

    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

  10. sebastian says:

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

WordPress Blog
WordPress Themes