FreePBX es una Interfaz gráfica de usuario de código abierto Web para controlar y dirigir Asterisk.
En este artículo te explicamos cómo instalar FreePBX en Ubuntu 20.04 LTS, pero también es válido el procedimiento para la mayoría de distribuciones basadas en Debian.
Preparación del sistema:
Lo primero que tienes que hacer es actualizar los repositorios:
# apt update && apt upgrade -y Instala las dependencias requeridas para la instalación de Asterisk:
# apt install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion -yInstalación de Asterisk
Descarga el paquete con Asterisk y descomprímelo:
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
# tar zxf asterisk-18-current.tar.gzAhora accede al directorio e instala las dependencias requeridas:
# cd asterisk-18.*/
# contrib/scripts/get_mp3_source.sh
# contrib/scripts/install_prereq installDurante la instalación te preguntará el prefijo del país:
Ahora tendrás que configurar el Asterisk:
# ./configure
# make menuselectUna vez utilices los comandos anteriores te saldrá una pestaña con los add-ons requeridos (solo tienes que habilitar los módulos marcados con *):
También tienes que habilitar los módulos de sonido, los paquetes Music on hold y Los Extras Sound:
Para salir y guardar pulsa F12.
Para instalar Asterisk con sus respectivas plantillas utiliza los siguientes comandos:
# make -j2
# make install
# make samples
# make config
# ldconfigConfiguración de Asterisk:
Ahora tienes que crear un usuario y grupo para Asterisk, luego tendrás que agregarlo al grupo pertinente:
# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asteriskAsigna permisos de propietario al usuario Asterisk:
# chown -R asterisk.asterisk /etc/asterisk
# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
# chown -R asterisk.asterisk /usr/lib/asteriskAhora abre el fichero /etc/default/asterisk y asigna al usuario Asterisk como el usuario por defecto descomentando AST_USER y AST GROUP.
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/' /etc/default/asterisk Prueba primero arriba, si no, verifica si funciona o puedes hacerlo manual:
# nano /etc/default/asteriskAST_USER="asterisk"
AST_GROUP="asterisk"Ahora abre el fichero /etc/asterisk/asterisk.conf y descomenta tanto runuser como rungroup:
# sed -i 's/;runuser = asterisk/runuser = asterisk/' /etc/asterisk/asterisk.conf
# sed -i 's/;rungroup = asterisk/rungroup = asterisk/' /etc/asterisk/asterisk.conf Prueba primero arriba, si no, verifica si funciona o puedes hacerlo manual:
# nano /etc/asterisk/asterisk.conf
runuser = asterisk
rungroup = asteriskReinicia Asterisk:
# systemctl restart asteriskEn este punto si haces un status:
# systemctl status asteriskVerás el siguiente error:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directoryPara resolverlo utiliza los siguientes comandos para reemplazar y modificar los errores de configuración:
# sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.confAhora, si reinicias el servicio y haces un status debería salir todo bien:
# systemctl restart asterisk
# systemctl status asteriskFinalmente, conéctate con la línea de comandos con el comando:
# asterisk -vvvrPara salir del CLI utiliza:
# exitInstalación FreePBX
Instala nodejs, mariadb, apache2 y php para poder instalar FreePBX:
# apt install nodejs apache2 mariadb-server libapache2-mod-php7.4 php7.4 php-pear php7.4-cgi php7.4-common php7.4-curl php7.4-mbstring php7.4-gd php7.4-mysql php7.4-bcmath php7.4-zip php7.4-xml php7.4-imap php7.4-json php7.4-snmpAhora descarga y descomprime FreePBX.
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-16.0-latest.tgz
# tar -xvzf freepbx-16.0-latest.tgzAhora instala y accede a la carpeta de freepbx, en este punto ya podrás instalar FreePBX:
# cd freepbx
# ./install -nDebería salirte un resultado parecido a:
Ahora tendrás que reemplazar el usuario de apache y activar la opción de AllowOverride All en apache:
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.confLuego necesitarás configurar el tamaño máximo de subida en PHP:
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.4/apache2/php.ini
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.4/cli/php.iniAhora ya puedes habilitar apache2 y reiniciarlo para que se apliquen los cambios.
# a2enmod rewrite && systemctl restart apache2Configuración FreePBX
Accede a la dirección: http://your-server-ip/admin ahí podrás introducir el usuario administrador y su correspondiente correo:
Listo. ¡Ya puedes disfrutar de tu Servidor con FreePBX 16!
Esperamos haberte ayudado con este artículo. Si te quedan dudas sobre esta u otra cuestión relacionada con tus servidores en Clouding, escríbenos a soporte@clouding.io. ¡Estamos para ayudarte! 😉