Diferencia entre revisiones de «FreePBX»

 
(No se muestran 3 ediciones intermedias del mismo usuario)
Línea 2: Línea 2:
 
|nombre= FreePBX
 
|nombre= FreePBX
 
|familia= Interfaz web de usuario
 
|familia= Interfaz web de usuario
|imagen= FreePBX
+
|imagen= freePBX
|tamaño= 26.6 kb
+
|tamaño=
 
|descripción= es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema [[VoIP Asterisk]].
 
|descripción= es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema [[VoIP Asterisk]].
 
|imagen2=
 
|imagen2=
Línea 60: Línea 60:
 
En sistemas como CentOS, por defecto habilitan el servicio selinux, una especie de [[firewall]]. Asterisk recomienda desactivar el servicio para evitar problemas derivados del mismo.
 
En sistemas como CentOS, por defecto habilitan el servicio selinux, una especie de [[firewall]]. Asterisk recomienda desactivar el servicio para evitar problemas derivados del mismo.
 
Editamos el fichero /etc/selinux/config
 
Editamos el fichero /etc/selinux/config
#> vi /etc/selinux/config
+
 
 +
"#"> vi /etc/selinux/config
 +
 
 
Debemos de setear la variable SELINUX = disabled
 
Debemos de setear la variable SELINUX = disabled
 
Reiniciamos la máquina
 
Reiniciamos la máquina
#> init 6  
+
 
 +
"#"> init 6  
 +
 
 
Servicio NTP
 
Servicio NTP
 
Instalamos el servicio  [[NTP]] Network Time Protocol
 
Instalamos el servicio  [[NTP]] Network Time Protocol
#> yum install ntp  
+
 
 +
"#"> yum install ntp  
 +
 
 
Lo configuramos para que inicie el servicio en el arranque
 
Lo configuramos para que inicie el servicio en el arranque
#> chkconfig ntpd on  
+
 
 +
"#"> chkconfig ntpd on  
 +
 
 
Arrancamos el servicio
 
Arrancamos el servicio
#> /etc/init.d/ntpd start  
+
 
 +
"#"> /etc/init.d/ntpd start  
 +
 
 
Actualizamos fecha y hora del sistema (hora.roa.es es optativo y).
 
Actualizamos fecha y hora del sistema (hora.roa.es es optativo y).
#> ntpdate -b -s hora.roa.es  
+
 
 +
"#"> ntpdate -b -s hora.roa.es  
 +
 
 
Descarga de software Asterisk con funciones VoIP
 
Descarga de software Asterisk con funciones VoIP
 +
 
Creamos un directorio especifico para almacenar el software descargado.
 
Creamos un directorio especifico para almacenar el software descargado.
#> cd /usr/src/
+
 
#> mkdir asterisk
+
"#"> cd /usr/src/
#> cd asterisk/
+
 
 +
"#"> mkdir asterisk
 +
 
 +
"#"> cd asterisk/
 +
 
 
Descargamos los paquetes a compilar para la instalación de Asterisk.  
 
Descargamos los paquetes a compilar para la instalación de Asterisk.  
#> wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download
+
 
#> wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-1.8.11-current.tar.gz
+
"#"> wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download
#> wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
+
 
#> wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
+
"#"> wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-1.8.11-current.tar.gz
#> wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz
+
 
 +
"#"> wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
 +
 
 +
"#"> wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
 +
 
 +
"#"> wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz
 +
 
 
==Instalación dependencias de Asterisk==  
 
==Instalación dependencias de Asterisk==  
#> yum install gcc gcc-c++ make libxml2-devel ncurses-devel openssl-devel curl-devel subversion
+
"#"> yum install gcc gcc-c++ make libxml2-devel ncurses-devel openssl-devel curl-devel subversion
#> yum install kernel-devel.x86_64
+
 
==Compilación e instalación de LAME==
+
"#"> yum install kernel-devel.x86_64
#> tar -xvf lame-3.99.5.tar.gz
+
 
#> cd lame-3.99.5
+
==Compilación e instalación de LAME==  
#> ./configure
+
 
#> make && make install
+
"#"> tar -xvf lame-3.99.5.tar.gz
 +
 
 +
"#"> cd lame-3.99.5
 +
 
 +
"#"> ./configure
 +
 
 +
"#"> make && make install
 +
 
 
==Compilación e instalación de LIBPRI==  
 
==Compilación e instalación de LIBPRI==  
#> tar -xvf libpri-1.4-current.tar.gz
+
 
#> cd libpri-1.4.13/
+
"#"> tar -xvf libpri-1.4-current.tar.gz
#> make && make install
+
 
 +
"#"> cd libpri-1.4.13/
 +
 
 +
"#"> make && make install
 +
 
 
==Compilación e instalación de DAHDI==  
 
==Compilación e instalación de DAHDI==  
#> tar -xvf dahdi-linux-complete-current.tar.gz
+
 
#> cd dahdi-linux-complete-2.6.1+2.6.1/
+
"#"> tar -xvf dahdi-linux-complete-current.tar.gz
#> make && make install
+
 
#> make config
+
"#"> cd dahdi-linux-complete-2.6.1+2.6.1/
 +
 
 +
"#"> make && make install
 +
 
 +
"#"> make config
 +
 
 
==Compilación e instalación de Asterisk==  
 
==Compilación e instalación de Asterisk==  
#> tar -xvf certified-asterisk-1.8.11-current.tar.gz
+
 
#> cd certified-asterisk-1.8.11-cert8/
+
"#"> tar -xvf certified-asterisk-1.8.11-current.tar.gz
#> cd contrib/scripts/
+
 
#> ./get_mp3_source.sh
+
"#"> cd certified-asterisk-1.8.11-cert8/
#> ./configure
+
 
#> make menuselect
+
"#"> cd contrib/scripts/
#> make
+
 
#> make install
+
"#"> ./get_mp3_source.sh
#> make samples
+
 
#> make config
+
"#"> ./configure
 +
 
 +
"#"> make menuselect
 +
 
 +
"#"> make
 +
 
 +
"#"> make install
 +
 
 +
"#"> make samples
 +
 
 +
"#"> make config
 +
 
 
Damos los permisos adecuados a los directorios implicados  
 
Damos los permisos adecuados a los directorios implicados  
#> groupadd asterisk
+
 
#> useradd -c "Usuario Asterisk" -d /var/lib/asterisk/ -g asterisk asterisk
+
"#"> groupadd asterisk
#> chown -R asterisk:asterisk /etc/asterisk
+
 
#> chown -R asterisk:asterisk /var/run/asterisk/
+
"#"> useradd -c "Usuario Asterisk" -d /var/lib/asterisk/ -g asterisk asterisk
#> chown -R asterisk:asterisk /usr/lib/asterisk/
+
 
#> chown -R asterisk:asterisk /var/spool/asterisk/
+
"#"> chown -R asterisk:asterisk /etc/asterisk
#> chown asterisk:asterisk /usr/sbin/asterisk
+
 
#> chown asterisk:asterisk /var/lib/php/session
+
"#"> chown -R asterisk:asterisk /var/run/asterisk/
 +
 
 +
"#"> chown -R asterisk:asterisk /usr/lib/asterisk/
 +
 
 +
"#"> chown -R asterisk:asterisk /var/spool/asterisk/
 +
 
 +
"#"> chown asterisk:asterisk /usr/sbin/asterisk
 +
 
 +
"#"> chown asterisk:asterisk /var/lib/php/session
 +
 
 
==FreePBX==
 
==FreePBX==
#> yum install httpd  
+
 
 +
"#"> yum install httpd  
 +
 
 
A continuación, indicaremos que el servicio web apache se ejecute con usuario asterisk y grupo asterisk.
 
A continuación, indicaremos que el servicio web apache se ejecute con usuario asterisk y grupo asterisk.
 
En la línea 242 del fichero /etc/httpd/conf/httpd.conf, debemos modificar la directiva User y Group que por defecto aparecen con el usuario y grupo apache.  
 
En la línea 242 del fichero /etc/httpd/conf/httpd.conf, debemos modificar la directiva User y Group que por defecto aparecen con el usuario y grupo apache.  
#> vi +242 /etc/httpd/conf/httpd.conf
+
 
 +
"#"> vi +242 /etc/httpd/conf/httpd.conf
 +
 
 
==Instalación de soporte PHP==
 
==Instalación de soporte PHP==
#> yum install php.x86_64
+
 
#> yum install php-pear.noarch php-mysql.x86_64 php-gd.x86_64
+
"#"> yum install php.x86_64
 +
 
 +
"#"> yum install php-pear.noarch php-mysql.x86_64 php-gd.x86_64
 +
 
 
Instalación de servidor de base de datos MySQL  
 
Instalación de servidor de base de datos MySQL  
#> yum install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64
+
 
 +
"#"> yum install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64
 +
 
 
==Instalación de otras dependencias: ==
 
==Instalación de otras dependencias: ==
#> yum install perl-CPAN.x86_64
+
 
#> yum install audiofile-devel.x86_64
+
"#"> yum install perl-CPAN.x86_64
#> yum install sox.x86_64
+
 
#> yum install libtiff.x86_64 libtiff-devel.x86_64
+
"#"> yum install audiofile-devel.x86_64
 +
 
 +
"#"> yum install sox.x86_64
 +
 
 +
"#"> yum install libtiff.x86_64 libtiff-devel.x86_64
 +
 
 
Asignamos una contraseña al usuario root de MySQL.
 
Asignamos una contraseña al usuario root de MySQL.
#> mysqladmin -u root password 'xxx'
+
 
#> mysql -uroot -p'xxx'  
+
"#"> mysqladmin -u root password 'xxx'
 +
 
 +
"#"> mysql -uroot -p'xxx'  
 +
 
 
Desde la consola de administración de MySQL, crearemos las dos bases de datos donde albergarán toda la estructura de tablas asociadas a FreePBX.  
 
Desde la consola de administración de MySQL, crearemos las dos bases de datos donde albergarán toda la estructura de tablas asociadas a FreePBX.  
 
cli-mysql> CREATE DATABASE asterisk;
 
cli-mysql> CREATE DATABASE asterisk;
Línea 146: Línea 222:
 
cli-mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY ‘xxx’
 
cli-mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY ‘xxx’
 
A continuación ejecutamos los scripts sql predefinidos en el directorio ./SQL de tu directorio FreePBX
 
A continuación ejecutamos los scripts sql predefinidos en el directorio ./SQL de tu directorio FreePBX
#> mysql -u asterisk -p xxx asteriskcdrdb asteriskcdrdb < ./SQL/cdr_mysql_table.sql #> mysql -u asterisk -p xxx asterisk < ./SQL/newinstall.sql
+
 
 +
"#"> mysql -u asterisk -p xxx asteriskcdrdb asteriskcdrdb < ./SQL/cdr_mysql_table.sql #> mysql -u asterisk -p xxx asterisk < ./SQL/newinstall.sql
 +
 
 
Una vez finalizado este proceso, estamos preparados para instalar freePBX.
 
Una vez finalizado este proceso, estamos preparados para instalar freePBX.
#> ./install_amp
+
 
 +
"#"> ./install_amp
 +
 
 
Durante la instalación, pedirá que introduzcas los siguientes parámetros de configuración. Si omitimos el valor, tomará el de por defecto [entre corchetes]
 
Durante la instalación, pedirá que introduzcas los siguientes parámetros de configuración. Si omitimos el valor, tomará el de por defecto [entre corchetes]
 
* Usuario con permisos en base de datos asterisk: asterisk
 
* Usuario con permisos en base de datos asterisk: asterisk
Línea 161: Línea 241:
 
Durante la instalación de la interfaz VoIP FreePBX, se obtuvieron dos errores que me gustaría recalcar a continuación:
 
Durante la instalación de la interfaz VoIP FreePBX, se obtuvieron dos errores que me gustaría recalcar a continuación:
 
Mensaje      de error: “Checking for PEAR      DB..FAILED”
 
Mensaje      de error: “Checking for PEAR      DB..FAILED”
     Solución: #> pear install db  
+
     Solución: "#"> pear install db  
 +
 
 
Mensaje      de error:“Checking user..PHP      Fatal error: Call to undifined function posix_getpwuid() in..”  
 
Mensaje      de error:“Checking user..PHP      Fatal error: Call to undifined function posix_getpwuid() in..”  
     Solución:     #> yum install php-process (esta dependencia no viene detallada en la      ayuda de FreePBX)
+
     Solución: "#"> yum install php-process (esta dependencia no viene detallada en la      ayuda de FreePBX)
  
 
Una vez finalizado todo el proceso, ya estamos en disponibilidad de acceder al panel de administración web y comenzar con la configuración de los módulos deseados.
 
Una vez finalizado todo el proceso, ya estamos en disponibilidad de acceder al panel de administración web y comenzar con la configuración de los módulos deseados.

última versión al 07:13 18 may 2014

FreePBX
Información sobre la plantilla
Parte de la familia Interfaz web de usuario
260px
es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema VoIP Asterisk.
Lanzamiento inicial28 de Noviembre del 2004
Versiones0.2, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.5, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11.
Última versión estable2.11
Plataformas soportadasLinux
GéneroInterfaz web de usuario
Sistemas Operativos compatiblesLinux
IdiomaInglés, Español, Japonés, Ruso, Chino, Aleman, Frances, Portugés, Polaco, Italiano, Arabe.
LicenciaAGPL v3 and GPL v3
Sitio web
http://www.freepbx.org

Introducción a FreePBX

FreePBX es una interfaz web de usuario que facilita la interoperabilidad del usuario con el sistema VoIP Asterisk. Abstrae en ciertas ocasiones de tareas de cierta complejidad y por tanto resulta muy útil para usuarios o administradores que no estén muy familiarizados con Asterisk. Corre bajo licencia GPL.

Estructura

Se estructura se divide modularmente y dispone de las siguientes funcionalidades del mundo VoIP. Cabe destacar:

Compilación e instalación de Asterisk y FreePBX

A continuación se describe el procedimiento realizado para la instalación de Asterisk y FreePBX. Trabajaremos sobre un sistema operativo CentOS release 6.3, por tanto no todas las instrucciones que aparecen son análogas para el resto de distribuciones GNU/Linux, aunque podéis haceros una idea de los paquetes y dependencias VoIP instaladas.

Software utilizado

  • Lame 3.99.5 -> Codificador MP3
  • Libpri 1.4.14 -> Librerías soporte ISDN
  • Dahdi 2.6.1 (Linux + tools) -> Soporte para tarjetas de comunicaciones.
  • Asterisk 1.8.11 -> Software PBX con todas las funcionalidades de centralita.
  • FreePBX 2.10.0 -> Interfaz gráfica de usuario para Asterisk.

Asterisk

Configuraciones previas a la instalación: Desactivar Selinux En sistemas como CentOS, por defecto habilitan el servicio selinux, una especie de firewall. Asterisk recomienda desactivar el servicio para evitar problemas derivados del mismo. Editamos el fichero /etc/selinux/config

"#"> vi /etc/selinux/config

Debemos de setear la variable SELINUX = disabled Reiniciamos la máquina

"#"> init 6

Servicio NTP Instalamos el servicio NTP Network Time Protocol

"#"> yum install ntp

Lo configuramos para que inicie el servicio en el arranque

"#"> chkconfig ntpd on

Arrancamos el servicio

"#"> /etc/init.d/ntpd start

Actualizamos fecha y hora del sistema (hora.roa.es es optativo y).

"#"> ntpdate -b -s hora.roa.es

Descarga de software Asterisk con funciones VoIP

Creamos un directorio especifico para almacenar el software descargado.

"#"> cd /usr/src/

"#"> mkdir asterisk

"#"> cd asterisk/

Descargamos los paquetes a compilar para la instalación de Asterisk.

"#"> wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download

"#"> wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-1.8.11-current.tar.gz

"#"> wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz

"#"> wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

"#"> wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz

Instalación dependencias de Asterisk

"#"> yum install gcc gcc-c++ make libxml2-devel ncurses-devel openssl-devel curl-devel subversion

"#"> yum install kernel-devel.x86_64

Compilación e instalación de LAME

"#"> tar -xvf lame-3.99.5.tar.gz

"#"> cd lame-3.99.5

"#"> ./configure

"#"> make && make install

Compilación e instalación de LIBPRI

"#"> tar -xvf libpri-1.4-current.tar.gz

"#"> cd libpri-1.4.13/

"#"> make && make install

Compilación e instalación de DAHDI

"#"> tar -xvf dahdi-linux-complete-current.tar.gz

"#"> cd dahdi-linux-complete-2.6.1+2.6.1/

"#"> make && make install

"#"> make config

Compilación e instalación de Asterisk

"#"> tar -xvf certified-asterisk-1.8.11-current.tar.gz

"#"> cd certified-asterisk-1.8.11-cert8/

"#"> cd contrib/scripts/

"#"> ./get_mp3_source.sh

"#"> ./configure

"#"> make menuselect

"#"> make

"#"> make install

"#"> make samples

"#"> make config

Damos los permisos adecuados a los directorios implicados

"#"> groupadd asterisk

"#"> useradd -c "Usuario Asterisk" -d /var/lib/asterisk/ -g asterisk asterisk

"#"> chown -R asterisk:asterisk /etc/asterisk

"#"> chown -R asterisk:asterisk /var/run/asterisk/

"#"> chown -R asterisk:asterisk /usr/lib/asterisk/

"#"> chown -R asterisk:asterisk /var/spool/asterisk/

"#"> chown asterisk:asterisk /usr/sbin/asterisk

"#"> chown asterisk:asterisk /var/lib/php/session

FreePBX

"#"> yum install httpd

A continuación, indicaremos que el servicio web apache se ejecute con usuario asterisk y grupo asterisk. En la línea 242 del fichero /etc/httpd/conf/httpd.conf, debemos modificar la directiva User y Group que por defecto aparecen con el usuario y grupo apache.

"#"> vi +242 /etc/httpd/conf/httpd.conf

Instalación de soporte PHP

"#"> yum install php.x86_64

"#"> yum install php-pear.noarch php-mysql.x86_64 php-gd.x86_64

Instalación de servidor de base de datos MySQL

"#"> yum install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64

Instalación de otras dependencias:

"#"> yum install perl-CPAN.x86_64

"#"> yum install audiofile-devel.x86_64

"#"> yum install sox.x86_64

"#"> yum install libtiff.x86_64 libtiff-devel.x86_64

Asignamos una contraseña al usuario root de MySQL.

"#"> mysqladmin -u root password 'xxx'

"#"> mysql -uroot -p'xxx'

Desde la consola de administración de MySQL, crearemos las dos bases de datos donde albergarán toda la estructura de tablas asociadas a FreePBX. cli-mysql> CREATE DATABASE asterisk; cli-mysql> CREATE DATABASE asteriskcdrdb; Creamos usuario asterisk y otorgamos los permisos pertinentes en ambos esquemas. cli-mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY ‘xxx’ cli-mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY ‘xxx’ A continuación ejecutamos los scripts sql predefinidos en el directorio ./SQL de tu directorio FreePBX

"#"> mysql -u asterisk -p xxx asteriskcdrdb asteriskcdrdb < ./SQL/cdr_mysql_table.sql #> mysql -u asterisk -p xxx asterisk < ./SQL/newinstall.sql

Una vez finalizado este proceso, estamos preparados para instalar freePBX.

"#"> ./install_amp

Durante la instalación, pedirá que introduzcas los siguientes parámetros de configuración. Si omitimos el valor, tomará el de por defecto [entre corchetes]

  • Usuario con permisos en base de datos asterisk: asterisk
  • Contraseña con permisos en base de datos asterisk: xxx
  • Usuario para conectar a la AMI de Asterisk: admin
  • Contraseña del usuario para conectar a la AMI de Asterisk: amp111
  • IP o hostname usada para acceder a la parte web VoIP de FreePBX: localhost
  • Extensiones simple o usuarios y dispositivos separados: extensions
  • Directorio de ejecutables: /var/lib/asterisk/bin


Durante la instalación de la interfaz VoIP FreePBX, se obtuvieron dos errores que me gustaría recalcar a continuación: Mensaje de error: “Checking for PEAR DB..FAILED”

    Solución: "#"> pear install db 

Mensaje de error:“Checking user..PHP Fatal error: Call to undifined function posix_getpwuid() in..”

    Solución: "#"> yum install php-process (esta dependencia no viene detallada en la      ayuda de FreePBX)

Una vez finalizado todo el proceso, ya estamos en disponibilidad de acceder al panel de administración web y comenzar con la configuración de los módulos deseados.

Fuente