Instalación FreePBX 2.8.1 con Asterisk 1.6.2.17 - Linode CentOS 5.5 32bit

Aunque no uso y no me gusta apoyarme a GUI para la configuración de Asterisk, escribo este articulo ya que en muchas ocaciones los usuarios de este sitio me lo solicitaron.

Empezamos con la actualización del sistema:

yum update

Continuamos con la instalación de Vorbis (un codificador/decodificador de archivos audio) y las relativas librerías:

yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel

Curl, una utilidad que se utiliza en una línea de comando para enviar comandos, recibir respuestas a través de la sintaxis URL.

yum install curl curl-devel libidn-devel

Algunos programas y utilidades para la compilación de las fuentes:

yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel wget newt newt-devel libxml2 libxml2-devel

MySQL para las bases de datos:

yum install mysql mysql-server mysql-devel

ODBC como conector para bases de datos (muy útil para aprovechar de algunas funcionalidades de Asterisk y el RealTime):

yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel

Festival como sistema de text to speech:

yum install festival festival-devel

Ahora empezamos con la instalación de algunos programas desde las fuentes:

Speex (sistema de compresión audio especificadamente diseñado para la compresión de la voz).

cd /usr/src
wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
tar -xf speex-1.2rc1.tar.gz
cd speex-1.2rc1
./configure --prefix=/usr
make
make install

El codificador/decodificador para el formato MP3 (Lame):

cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.98.4.tar.gz
tar -xf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure --prefix=/usr
make
make install

Para “manipular” los archivos MP3 (por ejemplo para bajar la calidad de muestreo) antes de compilar SOX se necesita la librería libmad.

cd /usr/src
wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
tar -xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --prefix=/usr
make
make install

SOX (Sound eXchange) muy útil para convertir archivos audio de un formato a otro.

cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/sox/sox-14.3.1.tar.gz
tar -xf sox-14.3.1.tar.gz
cd sox-14.3.1
./configure --prefix=/usr
make
make install

SpanDSP para el soporte de la aplicación app_fax, que requieres las librerías libtiff:

yum install libtiff libtiff-devel

cd /usr/src
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre17.tgz
tar -xf spandsp-0.0.6pre17.tgz
cd spandsp-0.0.6
./configure --prefix=/usr
make
make install

Para instalar el modulo res_jabber (para el protocolo XMPP) necesitamos gnutls y iksemel.

yum install gnutls gnutls-devel gnutls-utils

Luego instalamos iksemel:

cd /usr/src
wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar -xf iksemel-1.4.tar.gz
cd iksemel-1.4
./configure --prefix=/usr
make
make check
make install

Seguimos con la instalación de SendMail (servidor para el correo electrónico), OpenLDAP y las librerías/programas para el protocolo SNMP:

yum install sendmail sendmail-devel sendmail-cf

yum install compat-openldap openldap openldap-clients openldap-devel openldap-servers

yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils

Además de MySQL podemos guardar los datos de las llamadas CDR y de las configuraciones en Realtime en distintos tipos de bases de datos. Seguimos con la instalación de PostreSQL, FreeTDS, Sqlite3 (desde las fuentes), el cliente Radius (desde las fuentes).

PostgreSQL:

yum install postgresql84 postgresql84-contrib postgresql84-devel postgresql84-docs postgresql84-libs postgresql84-server

FreeTDS:

yum install freetds.i386 freetds-devel.i386 freetds-doc.i386

Sqlite3 desde las fuentes:

primero unas dependencias:

yum install tcl tcl-devel

Luego la base de datos:

cd /usr/src
wget http://sqlite.org/sqlite-3.7.2.tar.gz
tar -xf sqlite-3.7.2.tar.gz
cd sqlite-3.7.2
./configure --prefix=/usr
make
make install

Terminamos con la instalación del cliente Radius:

cd /usr/src
wget http://ftp.iptel.org/pub/radiusclient-ng/radiusclient-ng-0.5.5.tar.gz
tar -xf radiusclient-ng-0.5.5.tar.gz
cd radiusclient-ng-0.5.5
./configure --prefix=/usr
make
make install

Ahora podemos empezar con la instalación de DAHDI y de Asterisk PBX. Las instrucciones que siguen son para un servidor virtual alquilado en Linode con Kernel 2.6.18.8-linode22. La única diferencia es que en un servidor CentOS no virtualizado hay que instalar los paquetes kernel-devel y kernele-headers

Creamos la carpeta:

mkdir /usr/src/kernel

entramos

cd /usr/src/kernel

Descargamos las fuentes desde la pagina dedicada de Linode.

wget http://www.linode.com/src/2.6.18.8-linode22.tar.bz2

Se descomprimen:

tar -xf 2.6.18.8-linode22.tar.bz2

Creamos un link simbólico a las fuentes descargadas:

cd /lib/modules/2.6.18.8-linode22/
ln -s /usr/src/kernel/2.6.18.8-linode22/ build

y pasamos a la instalación de DAHDI-Linux:

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-curr...
tar -xf dahdi-linux-current.tar.gz
cd dahdi-linux-2.4.1
make
make install

DAHDI Tools:

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-curr...
tar -xf dahdi-tools-current.tar.gz
cd dahdi-tools-2.4.1
./configure
make
make install
make config

Ahora modificamos estos archivos:

nano /etc/dahdi/modules

comentamos estas líneas:

wct4xxp
wcte12xp
wct1xxp
wcte11xp
wctdm24xxp
wcfxo
wctdm
wcb4xxp
wctc4xxp
xpp_usb

Para que queden:

#wct4xxp
#cte12xp
#wct1xxp
#wcte11xp
#wctdm24xxp
#wcfxo
#wctdm
#wcb4xxp
#wctc4xxp
#xpp_usb

En el archivo:

nano /etc/init.d/dahdi

modificamos estas dos líneas:

modprobe dahdi
modprobe dahdi_dummy 2> /dev/null

para que queden:

modprobe -f dahdi
modprobe -f dahdi_dummy 2> /dev/null

Ya podemos arrancar DAHDI:

/etc/init.d/dahdi start

No hardware timing source found in /proc/dahdi, loading dahdi_dummy
Running dahdi_cfg:
                                         [  OK  ]

Una vez inicializado DAHDI podemos instalar la ultima versión de Asterisk 1.6.2.X disponible:

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-curr...
tar -xf asterisk-1.6.2-current.tar.gz
cd asterisk-1.6.2.17.1
./configure
make
make install
make samples
make config

Lo mismo hacemos con asterisk-addons:

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6...
tar -xf asterisk-addons-1.6.2-current.tar.gz
cd asterisk-addons-1.6.2.2
./configure
make
make install
make samples

Como la GUI se basa en PHP lo instalamos junto al servidor Apache:

yum install php* httpd

Añadimos el usuario Asterisk y le configuramos como home directory /var/lib/asterisk

useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk

useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

Cambiamos los permisos en todas las carpetas creadas por la instalación de 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
chown -R asterisk /var/spool/asterisk
chown -R asterisk /etc/asterisk

Creamos un enlace simbólico a la carpeta moh que apunte a la carpeta mohmp3

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

Como para la música en espera Asterisk + FreePBX utilizan archivos en formato wav, si queremos utilizar archivos mp3 tenemos que instalar mpg123 que se encargará de convertir los archivos mp3 en wav:

cd /usr/src

wget http://sourceforge.net/projects/mpg123/files/mpg123/1.12.5/mpg123-1.12.5...
tar -xjvf mpg123-1.12.5.tar.bz2
cd mpg123-1.12.5
./configure --prefix=/usr
make

make install

Cambiamos el usuario predefinido del servidor WEB de apache a asterisk:

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

Para prevenir problemas de acceso modificamos el parámetro AllowOverride de All a None:

sed -i "s/AllowOverride All/AllowOverride None/" /etc/httpd/conf/httpd.conf

Iniciamos MySQL y lo configuramos para que arranque en automático:

/etc/init.d/mysqld start

chkconfig mysqld on

Creamos la password para el usuario root de MySQL:

mysqladmin -u root password sesamo

Entramos en el cliente y creamos dos bases de datos y los permisos:

mysql -u root -psesamo

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database asterisk;
Query OK, 1 row affected (0.02 sec)

mysql> create database asteriskcdrdb;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'sesamo';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'sesamo';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Bajamos la ultima versión estable de FreePBX:

cd /usr/src

wget http://mirror.freepbx.org/freepbx-2.8.1.tar.gz

Descomprimimos el paquete y entramos en la carpeta creada:

tar -xf freepbx-2.8.1.tar.gz

cd freepbx-2.8.1

Creamos las tablas para las bases de datos asterisk y asteriskcdrdb

mysql -u root -psesamo asterisk < SQL/newinstall.sql

mysql -u root -psesamo asteriskcdrdb < SQL/cdr_mysql_table.sql

Iniciamos Asterisk:

/etc/init.d/asterisk start

Iniciamos el servidor Apache y lo configuramos para que arranque en automático:

service httpd start

chkconfig httpd on

Lanzamos lo script de instalación de FreePBX:

./install_amp

freepbx1

Insertamos los datos como aparecen en la imagen y al terminar paramos FreePBX:

/usr/sbin/amportal stop

Entramo en el archivo de configuración de FreePBX y modificamos estas tres líneas (password para el administrador de la pagina de los buzones de voz personales, tipo de autenticación para acceder a la pagina de administración del FreePBX y la dirección IP publica del servidor LInux, respectivamente):

nano /etc/amportal.conf

ARI_ADMIN_PASSWORD=ari_password
AUTHTYPE=none
AMPWEBADDRESS=xx.xx.xx.xx

para que queden:

ARI_ADMIN_PASSWORD=sesamo
AUTHTYPE=database
AMPWEBADDRESS=IPservidor (poner la IP publica del servidor Linux)

Iniciamos nuevamente FreePBX:

/usr/sbin/amportal start

En el archivo rc.local insertamos esta línea para que el arranque sea automático:

echo /usr/local/sbin/amportal start >> /etc/rc.local

finalmente entramos a la pagina web para administrar FreePBX utilizando la siguiente dirección: http://IPservidor

freepbx2

Escogemos el enlace “FreePBX Adminsitration”:

freepbx3

Ponemos como usuario asteriskuser y como contraseña sesamo:

freepbx4

Desde el menú izquierdo vamos a Module Admin:

freepbx5

Averiguamos si hay actualizaciones y la instalamos. Del mismo modo podemos instalar todos los módulos que necesitamos.

freepbx6

Ya podemos empezar a configurar FreePBX.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

12 comentarios

varios errores en la guia

hola admin

solo para comentarte que esta guia tiene muchos errores, ya que si la sigues al pie de la letra no funciona, seria bueno que la revisaramos para poder poner un guia como todas las demas que hay en este sitio las cuales son excelentes y libres de errores.

Saludos

pd. cuentas con mi ayuda para depurarla

Hola admin hoy por la noche

Hola admin hoy por la noche volvere a hacer paso a paso la guia, pero tengo algunas dudas para que hacemos la instalación de PostreSQL, FreeTDS, Sqlite3 y  el cliente Radius ?

Saludos

NO tiene errores

La guía es muy buena.

Lo instale en un servidor físico y las únicas modificaciones que hice fueron.

Configure iptables y desistale el paquete selinux-policy.noarch, ya que me generaba un erro al actualizar el amportal.

Actualmente ya instale Asterisk 1.8, también con la guía de Voz to Voice y freePBX 2.9 que tiene soporte para asterisk 1.8.

También recomiendo realizar el siguiente comando si tienen problemas al instalar php*.

yum -y --skip-broken install php*.

Andres Ramirez
Administrador VoIP
Bogotá - Colombia

Checking if Asterisk is running..sh: pidof: command not found

Hola soy nuevo en esto y queria saber sime podian echar una mano con esto, cuando intento hacer el
./install_amp
obtengo este resultado:

Checking for PEAR DB..OK
Checking for PEAR Console::Getopt..OK
Checking user..OK
Checking if Asterisk is running..sh: pidof: command not found
FAILED
[FATAL] ./install_amp
Asterisk must be running. If this is a first time install, you should start
Asterisk by typing './start_asterisk start'
For upgrading, you should run 'amportal start'

preepbx con a2billing

Hola a todos, una consulta podrían, preparan un turorial con la instalación de a2billing también o si se puede instalar a2billing después de instalar freepbx, ya que realice el curso de a2billing, y me interesa ahora poder implementar a2billing con freepbx

CARLOS SANTIAGO TRUCCO

preepbx con a2billing

tengo un problema hay dos archivos que no se pueden descargar, ya que no estan disponibles, 

asterisk-addons-1.6.2-current.tar.gz

asterisk-1.6.2-current.tar.gz

Alguien los tiene, ya que no están el la web oficial. 

CARLOS SANTIAGO TRUCCO

error con DAHDI

Hola a todos, muchas gracias por sus respuestas, pero tengo un problema no puedo instalar los paquetes DAHDI, tengo un vps linode con Centos 5.6 solo que el kernel que esta es el por default Latest 3.0 (3.0.18-linode43) aguardo la pronta respuesta ya que no me permite seguir la instalación por no poder instalar el DAHDI Tools ni DAHDI-linuk si alguien observa algun problema sobre los link o comandos de la instalación de DAHI les pido que me la informen. 

CARLOS SANTIAGO TRUCCO

Suscribirse a Comentarios de "Instalación FreePBX 2.8.1 con Asterisk 1.6.2.17 - Linode CentOS 5.5 32bit" Suscribirse a VozToVoice - Todos los comentarios