FreePBX és una interfície gràfica d'usuari web de codi obert per controlar i gestionar Asterisk.
En aquest article t'expliquem com instal·lar FreePBX a Ubuntu 20.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 libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion -yInstal·lació d'Asterisk
Descarrega el paquet amb Asterisk i descomprimeix-lo:
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
# tar zxf asterisk-18-current.tar.gzAra accedeix al directori i instal·la les dependències necessàries:
# cd asterisk-18.*/
# contrib/scripts/get_mp3_source.sh
# contrib/scripts/install_prereq installDurant la instal·lació et demanarà el prefix del país:
Ara hauràs de configurar Asterisk:
# ./configure
# make menuselectUn cop utilitzis les ordres anteriors, t'apareixerà una pestanya amb els add-ons 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 Extras Sound:
Per sortir i desar, prem F12.
Per instal·lar Asterisk amb les plantilles corresponents, utilitza les ordres següents:
# make -j2
# make install
# make samples
# make config
# ldconfigConfiguració d'Asterisk:
Ara has de crear un usuari i un 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 asteriskAssigna 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/asteriskAra obre el fitxer /etc/default/asterisk i assigna l'usuari Asterisk com a 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 les ordres anteriors; si no, verifica si funciona o pots fer-ho manualment:
# nano /etc/default/asteriskAST_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 les ordres anteriors; si no, verifica si funciona o pots fer-ho manualment:
# nano /etc/asterisk/asterisk.conf
runuser = asterisk
rungroup = asteriskReinicia Asterisk:
# systemctl restart asteriskEn aquest punt, si consultes l'estat:
# systemctl status asteriskVeuràs l'error següent:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directoryPer resoldre'l, utilitza les ordres següents 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.confAra, si reinicies el servei i consultes l'estat, tot hauria de sortir bé:
# systemctl restart asterisk
# systemctl status asteriskFinalment, connecta't a la línia d'ordres amb l'ordre:
# asterisk -vvvrPer sortir del CLI, utilitza:
# exitInstal·lació de FreePBX
Instal·la nodejs, mariadb, apache2 i php per poder instal·lar 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-snmpAra descarrega i descomprimeix FreePBX.
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-16.0-latest.tgz
# tar -xvzf freepbx-16.0-latest.tgzAra instal·la i accedeix a la carpeta de freepbx; en aquest punt ja podràs instal·lar FreePBX:
# cd freepbx
# ./install -nT'hauria de sortir un resultat semblant a:
Ara hauràs de substituir l'usuari d'apache i activar l'opció 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.confDesprés hauràs de configurar la mida màxima de pujada a 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.iniAra ja pots habilitar apache2 i reiniciar-lo perquè s'apliquin els canvis.
# a2enmod rewrite && systemctl restart apache2Configuració de FreePBX
Accedeix a l'adreça: http://your-server-ip/admin on podràs introduir l'usuari administrador i el correu electrònic corresponent:
Fet. Ja pots gaudir del teu servidor amb FreePBX 16!
Esperem haver-te ajudat amb aquest article. Si et queden dubtes sobre aquesta qüestió o qualsevol altra relacionada amb els teus servidors a Clouding, escriu-nos a soporte@clouding.io. Som aquí per ajudar-te! 😉