FreePBX és una interfície gràfica d'usuari de codi obert basada en web que serveix per controlar i dirigir Asterisk.
En aquest article t'expliquem com instal·lar FreePBX a Ubuntu 24.04 LTS, però el procediment també és vàlid per a la majoria de distribucions basades en Debian.
Preparació del sistema:
El primer que has de fer és actualitzar els repositoris:
# apt update && apt upgrade -y
Instal·la les dependències necessàries per a la instal·lació d'Asterisk:
# apt install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion -y
Instal·lació d'Asterisk
Descarrega el paquet amb Asterisk i descomprimeix-lo:
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
# tar zxf asterisk-22-current.tar.gz
Ara accedeix al directori i instal·la les dependències necessàries:
# cd asterisk-22.*/
# contrib/scripts/get_mp3_source.sh
# contrib/scripts/install_prereq install
Després d'executar els comandos anteriors, l'script descarregarà i instal·larà tots els paquets necessaris. A continuació, mostrarà un missatge d'èxit semblant al que es mostra a continuació:
Current status: 1 (-14) upgradable.
#############################################
## instal·lació completada amb èxit
#############################################
Ara hauràs de configurar Asterisk:
# ./configure
# make menuselect
Un cop utilitzis els comandos anteriors et sortirà una pestanya amb els afegits necessaris (només has d'habilitar els mòduls marcats amb *):
També has d'habilitar els mòduls de so, els paquets Music on hold i els Extres de so:
Per sortir i guardar prem F12.
Per instal·lar Asterisk amb les seves respectives plantilles utilitza els següents comandos:
# make -j2
# make install
# make samples
# make config
# ldconfig
Configuració d'Asterisk:
Ara has de crear un usuari i grup per a Asterisk, després hauràs d'afegir-lo al grup pertinent:
# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asterisk
Assigna permisos de propietari a l'usuari Asterisk:
# chown -R asterisk:asterisk /etc/asterisk
# chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk
# chown -R asterisk:asterisk /usr/lib/asterisk
Ara obre el fitxer /etc/default/asterisk i assigna l'usuari Asterisk com l'usuari per defecte descomentant AST_USER i 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
Prova primer els comandos anteriors per fer el canvi automàticament i després verifica si funciona, sinó pots fer-ho manualment:
# nano /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"
Ara obre el fitxer /etc/asterisk/asterisk.conf i descomenta tant runuser com rungroup:
# sed -i 's/;runuser = asterisk/runuser = asterisk/' /etc/asterisk/asterisk.conf
# sed -i 's/;rungroup = asterisk/rungroup = asterisk/' /etc/asterisk/asterisk.conf
Prova primer els comandos anteriors per fer el canvi automàticament i després verifica si funciona, pots fer-ho manualment:
# nano /etc/asterisk/asterisk.conf
runuser = asterisk
rungroup = asterisk
Reinicia Asterisk:
# systemctl restart asterisk
En aquest punt si fas un status:
# systemctl status asterisk
Veureu el següent error:
radcli: rc_read_config: rc_read_config: no es pot obrir /etc/radiusclient-ng/radiusclient.conf: No existeix aquest fitxer o directori
Per resoldre-ho utilitza els següents comandos per substituir i modificar els errors de configuració:
# 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.conf
Ara, si reinicies el servei i fas un status hauria de sortir tot bé:
# systemctl restart asterisk
# systemctl status asterisk
Finalment, connecta't amb la línia de comandos amb el comando:
# asterisk -vvvr
Per sortir del CLI utilitza:
# exit
Instal·lació de FreePBX
Instal·la nodejs, mariadb, apache2 i php per poder instal·lar FreePBX:
# apt install nodejs mariadb-server apache2 php libapache2-mod-php php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-zip php-ldap php-imap php-cas -y
Ara descarrega i descomprimeix FreePBX.
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest.tgz
# tar -xvzf freepbx-17.0-latest.tgz
Ara instal·la i accedeix a la carpeta de FreePBX, en aquest punt ja podràs instal·lar FreePBX:
# cd freepbx
# ./install -n
Hauria de sortir-te un resultat semblant a:
Ara hauràs de substituir l'usuari d'apache i activar l'opció de AllowOverride All a apache:
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
Després necessitaràs configurar la mida màxima de pujada a PHP:
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/*/apache2/php.ini
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/*/cli/php.ini
Ara ja pots habilitar apache2 i reiniciar-lo perquè s'apliquin els canvis.
# a2enmod rewrite && systemctl restart apache2
Configuració de FreePBX
Accedeix a l'adreça: http://your-server-ip/admin. Un cop hi hagis accedit, podràs introduir l'usuari i el seu correu corresponent:
Fet. Ja pots gaudir del teu servidor amb FreePBX 17!
Esperem haver-te ajudat amb aquest article. Si et queden dubtes sobre aquesta o una altra qüestió relacionada amb els teus servidors a Clouding, escriu-nos a soporte@clouding.io. Estem per ajudar-te! 😉