INSTALACION DE FREEPBX EN UN SERVIDOR UBUNTU CON ASTERISK

image
Que es FreePBX?
FreePBX, es una interface gráfica, vía Web que facilita la gestión y administración de nuestro sistema de
telefonía IP, basado en Asterisk.
Con FreePBX, es posible modificar de una manera sencilla, la configuración del sistema de telefonía, evitando
tener que editar los ficheros de configuración, manualmente.
INSTALACION:
Antes de empezar con la instalación tenemos que tener instaladas algunas dependencias y librerías para poder instalar FreePbx y en todo caso tenemos que tener instalado Asterisk en nuestro servidor Ubuntu.
Estas son las dependencias para Asterisk, si ya las tienes instaladas omite este paso pero yo te recomendaria volver a intentar instalarlas que no pasa nada:
ncurses ncurses-dev openssl libcurl3-openssl-dev zlib-bin zlib1g-dev bison bison-1.35
Esatas son las dependencias que nos interesasa en este post para poder instalar FreePbx:
libxml2-utils libxml2-dev libtiff4 libtiff4-dev lame liblame0 liblame-dev apache2 apache2-dev mysql-client libmysqlclient15-dev mysql-server php5 php-pear php5-gd php5-mysql php5-cli linux-source-2.6.15 (es la version que yo tengo en mi Debian Etch) perl libaudiofile-dev curl sox sox-dev

  • Para intalar las dependencia por comandos ejecuta desde una terminal:
#sudo apt-get install (dependencias)
  • Creamos un directorio en la arpeta Raiz para descargar todos los modulos necesarios para FreePbx
#mkdir asterisk
#cd /asterisk
  • Instalamos los siguientes módulos para Perl
#perl -MCPAN -e "install Net::Telnet"
#perl -MCPAN -e "install IPC::Signal"
#perl -MCPAN -e "install Proc::WaitStat"
#apt-get install mime-construct
  • Nos situamos en la carpeta asterisk que hemos creado en el paso anterior y descargamos asterisk-perl, uqe es un gateway entre Asterisk y FreePbx
#wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
  • Descargamos la ultima version de FreePbx con los paquetes del administrador Web
#wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.3.1.tar.gz
  • Instalamos el gateway entre Asterisk y FreePBX
    #cd asterisk
    #sudo tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
    #cd asterisk-perl-0.10
    #sudo perl Makefile.PL
    #sudo make all
    #sudo make install
  • Nos situamos en la carpeta asterisk y descomprimimos FreePbx
#cd asterisk
#tar zxxvf freepbx-2.3.1.tar.gz
          #cd freepbx-2.3.1
image
  • Comenzamos a instalar la base de datos para el administrador web freepbx y para los cdr
    • Iniciacilizacion de la implementaci?n de Bases de Datos en Mysql para Asterisk
    • Accedemos a MySQL si no han configurado su password de root mysql, solo presionar Enter de lo contrario introducir el password que hemos configurado al instalar mysql
      #mysql -u root –p
    • Creamos el usuario para la base de datos del conmutador y del cdr
        #mysql>GANT ALL PRIVILEGES ON *.* to asterisk@localhost  IDENTIFIED BY "amp109";
        #mysql>flush privileges;
        #mysql>exit
    • Nos validamos con el usuario de Asterisk creado
        #mysql -u asterisk –p
    • Creamos las bases de datos dentro de la consola de mysql
         #mysql>create database asteriskcdrdb;
         #mysql>create database asterisk;
         #mysql>exit
    • Pasamos el esquema y la informacion de los scripts de bases de datos por default de FreePBX
        #mysql -u asterisk -p  asterisk < /asterisk/freepbx-2.3.1/SQL/newinstall.sql
        #mysql -u asterisk -p  asteriskcdrdb < /asterisk/freepbx-2.3.1/SQL/cdr_mysql_table.sql
    • Configuramos los permisos de acceso a las bases asteriskcdrdb y asterisk creadas en el párrafo anterior, el usuario y contraseña por default es asteriskuser y amp109 respectivamente, esto puede ser modificado de acuerdo a sus necesidad
     #mysql --user root --password=superpassword
          #mysql> GRANT ALL PRIVELEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED
BY 'amp109'
                    Query OK, 0 rows affected (0.00 sec) 
     #mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
                    Query OK, 0 rows affected (0.00 sec) 
     #mysql> quit
 
Con esto hemos terminado la configuracion de la base de datos de mysql para asterisk
  • creamos el usuario y grupo que manejara los procesos de asterisk, cambiamos su password y creamos el directorio de asterisk
    #sudo groupadd asterisk
    #sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
    #sudo passwd asterisk
    #sudo mkdir /home/asterisk             “este es el directorio”
    #sudo chown asterisk:asterisk /homea/sterisk
  • editamos el archivo de apache
    #sudo nano /etc/apache2/apache2.conf   
    cambiar el usuario y grupo de www-data a asterisk
      User www-data
      Group www-data
    cambiar por
      User asterisk
      Group asterisk
    guardamos para guardar es presionar F2 –>yes o si->ENTER
  • cambiamos los permisos para el directorio de sesiones de PHP
    #sudo chown -R asterisk /var/lib/php5
  • edicion de php para aumentar el tamano de archivos que se suben al servidor web y modificamos los siguientes valores 
    #sudo nano /etc/php5/apache2/php.ini
    upload_max_filesize = 32M
    max_execution_time = 120
    max_input_time = 120
  • reiniciamos el servidor web apache 
    #sudo /etc/init.d/apache2 restart
  • Editamos el archivo de configuracion de Asterisk  image
    #sudo nano /etc/asterisk/asterisk.conf
  • cambiamos el directorio de
      RUNASTERISK=/var/run
    a
      RUNASTERISK=/home/asterisk
  • asignamos los permisos 
    #sudo chown -R asterisk:asterisk /home/asterisk           “este paso se puede omitir ya que en otro paso anterios asignamos los permisos a asterisk”
  • Iniciar Asterisk para poder hacer la instalacion de FreePBX
    #sudo asterisk start
  • Verificar que Asterisk se haya inicido
    #ps aux | grep asterisk
    te dara algo como esto:      root 14992 0.2 1.7 22044 7752 ? Ssl 07:14 0:00 asterisk start
  • Ahora instalamos FreePbx
                 #cd asterisk/freepbx-2.3.1
       #./install_amp
  •  Si os da algun error como ves en las siguientes lineas, lo unico que tienes que hacer es instalar el modulo de pear DB
                #pear install DB

               [root@localhost Desktop]# /usr/src/freepbx-2.2.1/install_amp
                PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/imap.so' -     
                libc-client.so.0: cannot open shared object file: No such file or directory in Unknown on line 0
               PHP Warning: Module 'pgsql' already loaded in Unknown on line 0
               Checking for PEAR DB..FAILED
               [FATAL] PEAR must be installed (requires DB.php). Include path: .:/usr/share/pear

          Y ya no tendras problemas para ejecutar el instalador de freebpx (install_amp)

  • Despues de ejecutar install_amp pedira los valores para crear el archivo de configuracion.(que esta almacenado en etc/amportal.conf)
En primer lugar introducir el usuario de la base de datos que se creo previamente
asteriskuser  asterisk
Introducir el password de l usuario de la base de datos para asterisk que se creo
Enter your PASSWORD to connect to the 'asterisk' database:
amp109
Introducir el nombre del servidor de la base de datos, si esta de forma local intoducir localhost de lo contrario introducir la IP o nombre de dominio del servidor de base de datos
Enter the hostname of the 'asterisk' database:
localhost  localhost
Introducir el nombre de usuario del administrador que se usara como admin del AMI de Asterisk
Enter a USERNAME to connect to the Asterisk Manager interface:
admin asterisk
Password del usuario admin de AMI, importante para conectar aplicaciones terceras a Asterisk
Enter a PASSWORD to connect to the Asterisk Manager interface:
amp111
Ruta de instalacion del Servidor de Asterisk
Enter the path to use for your AMP web root:
/var/www/html  /home/asterisk
Dirección IP del servidor de Voz sobre IP
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
xx.xx.xx.xx  192.168.2.6            “esta direccion es en my caso tu pon la que tienes en tu pc”
Password para poder operar FOP
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
passw0rd  asterisk.01
Solo teclear enter para aceptar la opcion por default
Use simple Extensions
extensions admin or separate Devices and Users deviceanduser?
extensions      enter
Solo teclear enter para aceptar la opcion por default
Enter directory in which to store AMP executable scripts:
/var/lib/asterisk/bin   enter
Solo teclear enter para aceptar la opcion por default
Enter directory in which to store super-user scripts:
/usr/local/sbin  enter

  • si marcara algun error el script de install_amp revisar usuarios de base de datos, librerias de php y de mysql, reiniciar apache y peardb, php-db
  • en caso de que tuviera un error al ejecutar FreePBX puede reconfigurarlo pero previamente eliminar el archivo de configuracion en /etc/amportal.conf

  • Paramos previamente la ejecucion de asterisk
    #ps aux | grep asterisk
    root 14992 0.0 1.7 22524 7892 ? Ssl 07:14 0:00 asterisk start
    #sudo kill -s 9 14992
  • Editamos el archivo siguiente y agregamos una linea como la que se menciona
    #sudo nano /etc/default/asterisk
       RUNASTERISK=yes
  • ejecutamos amportal 
    #sudo amportal start 
  • verificamos que se haya ejecutado correctamente amportal
    #sudo ps aux | grep asterisk
  • deberiamos ver algo parecido
    root 15759 0.0 0.1 3864 736 pts/2 S 07:30 0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
    asterisk 15764 2.0 1.9 22436 8552 pts/2 Sl 07:30 0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
    asterisk 15811 0.0 0.1 1752 496 pts/2 S 07:30 0:00 sh /var/www/asterisk/panel/safe_opserver
    asterisk 15812 14.0 1.8 11072 8340 pts/2 S 07:30 0:00 /usr/bin/perl -w /var/www/asterisk/panel/op_server.pl
  • Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.2
    http://192.168.2.1/asterisk/admin/           “en my caso”
  • Por default no nos pedira un password, pero hay que ir a administradores y cambiar el nombre de usuario y password del administrador
    Nos desconectamos del servidor web de FreePBX
    Posteriormente editamos el archivo amportal.conf y cambiamos el valor de AUTHTYPE a database
    #sudo nano /etc/amportal.conf               “editamos o cambiamos la siguiente linea” 
    AUTHTYPE=database
  • Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y password, introducir los configurados
    login:admin
    password:assterisk
  • Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
    Y el administrador Web de Asterisk FreePBX.
  • Ahora lo primero que tenemos que hacer es descargar los modulos para FreePbx, Ir a la opcion de "Module Admin", seleccionar Check Update Online y descargar modulos de administracion de Asterisk necesarios, se requiere conexion a internet
  • Creamos los links con update-rc.d: #update-rc.d asterisk defaults
Creamos el archivo asterisk en /etc/default que contenga:
    #nano/etc/default/asterisk           “añadimos o editamos la siguiente línea” RUNASTERISK=yes              “esto es para que asterisk arranque en el inicio” image
Ahora ya tenemos instalado y configurado nuestro entorno web de Asterisk con FreePbx, lo siguiente será ver un poco sobre el manual de FreePbx que tambien lo he posteado en este blog en la seccion manuales.
“Espero que sea de mucha ayuda para aquellos que estén dentro de este mundo del software libre y la telefonía Ip saludosss…”

1 comentario:

  1. hola hoye hice todas las configuraciones que tienes en el manual pero al introducir el comando ./install_amp marca
    [FATAL]Cannot connect to database

    no se si estoy mal si alguien me puede ayudar
    mi correo es crisdianaC@hotmail.com

    ResponderEliminar

Si quiere que responda a tus comentarios deja tu correo