epelpad

Instalacion de Asterisk, Freepbx en ubuntu server 11.04

Antes de comenzar la instalación de la central telefónica asterisk con freepbx se asume que ya tienes configurado ubuntu server 11.04 con LAMP (Linux, Apache, Mysql, Php el cual sera publicado mas adelante (este procedimiento funciona desde la version 8.04 en adelante).

Ahora comencemos la instalación.

Cambiar a usuario root.

* sudo su
* ingresar password sudo y luego enter.

luego hay que instalar algunas librerías necesarias para la instalación.

* apt-get install build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev

Luego entrar en la carpeta src

* cd /usr/src/

Procedemos a descargar los archivos necesarios.

* wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.4.4.tar.gz
* wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.3.tar.gz
* wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz

Con los archivos descargados procedemos a la compilación e instalación de cada uno de ellos.

comenzamos con la instalación de las librerías necesarias para utilizar interfaces E1, T1 etc. y que además es necesaria para instalar asterisk.

* tar xvf libpri-1.4.11.5.tar.gz
* cd libpri-1.4.11.5
* make
* make install

Luego procedemos a compilar e instalar asterisk.

* cd ..
* tar xvf asterisk-1.8.4.4.tar.gz
* cd asterisk-1.8.4.4
* ./configure
* make
* make install
* make samples

Luego compilamos e instalamos los add-ons de asterisk.

* cd ..
* tar xvf asterisk-addons-1.6.2.3.tar.gz
* cd asterisk-addons-1.6.2.3
* ./configure
* make
* make install
* make samples

Instalamos Los sonidos extras de asterisk.

* cd /var/lib/asterisk/sounds
* wget -O – http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz | tar xvfz -

Creamos el usuario asterisk y lo agregamos al grupo apache asterisk.

* adduser asterisk –disabled-password –no-create-home –gecos “asterisk PBX user”
* adduser www-data asterisk

Cambiamos el usuario y grupo por defecto de apache.

* cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
* sed -i ‘s/^(User|Group).*/1 asterisk/’ /etc/apache2/apache2.conf

Cambiamos el script safe_asterisk de sh a bash.

* sed -i ’1 {s/<sh>/bash/}’ /usr/sbin/safe_asterisk

Creamos el script que gestionara el servicio de asterisk, esto solo lo copian y pegan en la consola.


cat > /etc/init.d/asterisk <<-END_STARTUP
#!/bin/bash
### BEGIN INIT INFO
# Provides: asterisk
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Asterisk daemon.
# Description: This script handles start/stop states of asterisk.
### END INIT INFO

set -e
set -a
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Asterisk"
NAME=amportal
DAEMON=/usr/sbin/$NAME

test -x $DAEMON || exit 0

d_start() {
amportal start
}

d_stop() {
amportal stop
}

d_reload() {
amportal restart
}

case "$1" in

start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;

stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;

restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 10
d_start
echo "."
;;

*)

echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;

esac

exit 0
END_STARTUP

Modificamos el arranque de asterisk.

* chmod 755 /etc/init.d/asterisk
* update-rc.d asterisk defaults 90 10

Ahora Instalamos FreePbx.

* tar xvf freepbx-2.9.0.tar.gz
* cd freepbx-2.9.0
* cp amportal.conf /etc/

Luego creamos la base de datos, aqui necesitaremos la contraseña de root, la cual ingresamos al momento de instalar mysql desde el instalador de LAMP.

* export MYSQL_ROOT_PW=rootpassword
* export ASTERISK_DB_PW=asterisk_password
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk
* mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
* mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql
* mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql
* mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS
* GRANT ALL PRIVILEGES ON asterisk.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO [email protected] IDENTIFIED BY “${ASTERISK_DB_PW}”;
* flush privileges;
* END_PRIVS

Modificamos amportal.conf

* sed -i “s/# (AMPDBUSER=.*)/1/” /etc/amportal.conf
* sed -i “s/# (AMPDBPASS=).*/1${ASTERISK_DB_PW}/” /etc/amportal.conf
* sed -i “[email protected](AMPWEBROOT=).*@1/var/www/@” /etc/amportal.conf
* sed -i “[email protected](FOPWEBROOT=).*@1/var/www/[email protected]” /etc/amportal.conf
* sed -i “[email protected](FOPWEBADDRESS=).*@[email protected]” /etc/amportal.conf

Modificamos php.ini

* sed -i ‘s/(^upload_max_filesize = ).*/120M/’ /etc/php5/apache2/php.ini

Cambiamos los permisos a los directorios de trabajo.

* chown asterisk. /var/run/asterisk
* chown -R asterisk. /etc/asterisk
* chown -R asterisk. /var/{lib,log,spool}/asterisk
* chown -R asterisk. /var/www/

Habilitamos la configuracion de asterisk.conf

* sed -i ’1 s/([directories]).*/1/’ /etc/asterisk/asterisk.conf

Instalamos FreePbx.

* ./start_asterisk start
* ./install_amp

Reiniciamos Apache

* /etc/init.d/apache2 restart

Luego.

* ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
* amportal start

Luego ya podemos ingresar por http a FreePbx.

http://direccionip/

Cuando entres a FreePbx te logueara sin password, para habilitar el password has lo siguiente.

* sudo nano /etc/amportal.conf

Busca la siguiente linea

* AUTHTYPE=none

y cambiala por.

* AUTHTYPE=database

luego cierras el navegador y vuelves a ingresar. si inicia sin password dale clic en logout y luevo vuelve a conectar y tendras autenticacion con los datos siguientes

usuario admin

clave admin

Para Cambiar la clave de amportal ejecuta lo siguiente.

* sudo nano /etc/amportal.conf

Busca AMPMGRPASS=passwordpordefecto y modificalo por tu password.

luego.

* sudo nano /etc/asterisk/manager.conf

busca secret =passwordpordefecto y modificalo por el passwor que utilizastes en AMPMGRPASS

guardas con control+x luego s luego enter.

una ves completado esto reinicia amportal.

* sudo amportal restart

Luego de esto reiniciamos y verificamos que asterisk y freepbx funcionan correctamente y tenemos un servidor de telefonia listo para funcionar.

una ves montado el servidor hay variedad de software de telefonia ip con el que podemos utilizar asterisk en mi caso utilizo SflPhone ya que utilizo linux pero para windows pueden utilizar X-lite, Bria etc.

7 comentarios - Instalacion de Asterisk, Freepbx en ubuntu server 11.04

germanssgg
Hola!!
excelente post!! llevaba muchos días teniendo problemas porque una vez instalado FreePBX al reiniciar Asterisk me daba error. El script para arrancar asterisk me ha salvado la vida.
Gracias!!

Muy completo este post
phipek
Hola,
Disculpa soy usuario de ubuntu (principiante) pero no se montar la BD MySQL, tampoco se PHP y no tienes un post sobre ese tema ???
Gracias !!!
eldany76
He montado una centralita con Elastix y justo necesita algo asi,para instalar de manera &quot;mas manual&quot; en un Debian (supongo que seria similar a Ubuntu).Gracias por el aporte
lagoma619
essaaaaa vaina asi era que lo buscaba...


probando...
pokerlan
amigo gracias lo veo mas detenidamente! cualquier cosa comento otro asunto es? solo en ubuntu server o se puede tambien en ubuntu normal?? gracias de antemano y espero tu respuesta!