FreePBX en Raspberry Pi 3
Guia de instalacion paso a paso
Inicia sesión o cambia de usuario a Root:
Importante: Se requiere usar el usuario Root, de usar Sudo, no funcionaría. Es necesario que se ejecute el siguiente comando para que no haya fallas durante el proceso.
sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config service sshd restart
También es una opción entrar con otro usuario y cambiar luego a Root, en ese caso el comando de arriba no haría falta.
Actualiza tu sistema
apt-get update && apt-get upgrade -y
Instala los paquetes y dependencias
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\ mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox\ libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\ libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev\ libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\ libspandsp-dev sudo libmyodbc subversion
Durante el proceso de instalación se te preguntará varias veces sobre la password de MySQL. Se puede dejar en blanco ya que mas adelante crearemos una password segura. Si creas una password ahora, es posible que tengas problemas en la instalación. No crees una password a no ser que seas habilidoso en seguridad de un MySQL server.
Reiniciamos la máquina
reboot
Instalamos las dependencias
Despues de reiniciar nos aseguramos de que estamos usando el último kernel de linux.
Instalamos prerequisitos de pear
pear install Console_Getopt
Instalamos las dependencias para Google Voice (Si se requiere). Ignora esta parte de no necesitar Google Voice.
Instalar iksemel
cd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-1.4.tar.gz cd iksemel-* ./configure make make install ldconfig
Instalar y configurar Asterisk
Descargar los ficheros fuente de Asterisk
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
Compilar e instalar DAHDI
Si no tienes hardware PSTN conectado a esta máquina, no es necesario instalar.
cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz rm -f dahdi-linux-complete-current.tar.gz cd dahdi-linux-complete-* make all make install make config cd /usr/src tar xvfz libpri-current.tar.gz rm -f libpri-current.tar.gz cd libpri-* make make install
Compilar e instalar pjproject
cd /usr/src tar -xjvf pjproject-2.4.tar.bz2 rm -f pjproject-2.4.tar.bz2 cd pjproject-2.4 CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr make dep make make install
Compilar e instalar jansson
cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure make make install
Compilar e instalar Asterisk
cd /usr/src tar xvfz asterisk-13-current.tar.gz rm -f asterisk-13-current.tar.gz cd asterisk-* contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install ./configure make menuselect
Serás redirigido al menú de elección de que módulos vas a querer en Asterisk. La mayoría ya estan activados por defecto, pero si necesitas usar MP3 (ej. Musica de espera), vas a necesitar activar la opcion 'format_mp3' en la primera página.
Tras seleccionar 'Save & Exit' entonces puedes continuar.
make make install make config ldconfig update-rc.d -f asterisk remove
Instalar los archivos de audio de Asterisk
El 'make install' de arriba, instala archivos de sonido de baja calidad por defecto. Esto viene bien para un sistema de bajo potencial/coste, (Cómo una Rasberry Pi), Pero en un gran servidor, es preferible instalar archivos de sonido de más calidad. El código a continuación muestra como instalar los archivos de sonido 'wav' (8khz) y el audio G722 (High Definition 'Wideband').
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz tar xvf asterisk-core-sounds-en-wav-current.tar.gz rm -f asterisk-core-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-wav-current.tar.gz
Descarga del audio Wideband
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-extra-sounds-en-g722-current.tar.gz rm -f asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-core-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-g722-current.tar.gz
Instalar y configurar FreePBX
Crear el usuario de Asterisk y establecer los permisos básicos
useradd -m asterisk chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib/asterisk rm -rf /var/www/html
Unos pequeños ajustes a nuestro Apache
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf service apache2 restart
Configure ODBC
Edita el fichero /etc/odbcinst.ini y agrega lo siguiente.Ten en cuenta que la guía toma de referencia la isntalación en una nueva máquina, y que el fichero está vacío. Si no es una máquina completamente nueva, por favor, verifica manualmente los contenidos del fichero, no sólo copies y pegues la configuración. El 'EOF' no va en el fichero, simplemente es para que el comando 'cat' sepa que has terminado.
cat >> /etc/odbcinst.ini << EOF [MySQL] Description = ODBC for MySQL Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so FileUsage = 1 EOF
Deberías verificar esas rutas, si no estás en una máquina x86_64. Puedes usar el comando `find / -name libmyodbc.so` para verificar su localización Edita o crea /etc/odbc.ini y agrega la siguiente sección. Teniendo en cuenta que el comando asume que estas instalando una nueva máquina, y el fichero esta vacío. Por favor, verifica el contenido del fichero si no se da el caso.
cat >> /etc/odbc.ini << EOF [MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MySQL server=localhost database=asteriskcdrdb Port=3306 Socket=/var/run/mysqld/mysqld.sock option=3 EOF
Descarga e instala FreePBX
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz tar vxfz freepbx-13.0-latest.tgz rm -f freepbx-13.0-latest.tgz cd freepbx ./start_asterisk start ./install -n
¡Felicidades, ya lo tienes!