Asterisk es una solución telefónica de código abierto para particulares, empresas y gobiernos. Se ejecuta a través de Internet en lugar de líneas telefónicas de cobre y se utiliza para correo de voz, grabación de llamadas, respuesta de voz interactiva y llamadas en conferencia.
FreePBX es una aplicación gratuita, de código abierto y basada en la web que se utiliza para administrar Asterisk a través de un navegador. Ofrece todos los componentes necesarios para construir un sistema telefónico. Con FreePBX, puede crear una extensión, IVR, establecer permisos de usuario, firewall, copia de seguridad y restauración, y mucho más.
En este tutorial, le mostraremos cómo instalar Asterisk y FreePBX en Ubuntu 20.04.
Requisitos
- Un Ubuntu 20.04 VPS nuevo en Atlantic.net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:instalar las dependencias requeridas
Antes de comenzar, deberá instalar todas las dependencias necesarias para compilar Asterisk en su sistema. Puede instalarlos todos con el siguiente comando:
apt-get install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion -y
Una vez que todas las dependencias estén instaladas, puede proceder a compilar Asterisk.
Paso 3:instalar Asterisk
Primero, descargue la última versión de Asterisk del sitio web oficial de Asterisk usando el siguiente comando:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:
tar zxf asterisk-17-current.tar.gz
Luego, cambie el directorio al directorio extraído e instale las dependencias requeridas con el siguiente comando:
cd asterisk-17.*/ contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install
A continuación, ejecute el siguiente comando para configurar Asterisk:
./configure
A continuación, configure las opciones del menú con el siguiente comando:
make menuselect
Puedes usar Flecha tecla para navegar y Enter tecla para seleccionar.
Habilitar complementos requeridos:
Habilitar módulos Core Sound
Habilitar paquetes MOH
Paquetes de sonido adicionales
Una vez que todos los componentes estén instalados, compila Asterisk con el siguiente comando:
make -j2
Luego, instale Asterisk usando el siguiente comando:
make install
Luego, instale configuraciones y muestras usando el siguiente comando:
make samples make config ldconfig
Paso 4:Configurar Asterisk
A continuación, deberá crear un usuario y un grupo separados para Asterisk. Puede crearlos con el siguiente comando:
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk
Luego, agregue algunos usuarios requeridos al grupo Asterisk con el siguiente comando:
usermod -aG audio,dialout asterisk
A continuación, establezca los permisos y la propiedad adecuados con el siguiente comando:
chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk chown -R asterisk.asterisk /usr/lib/asterisk
A continuación, edite el archivo /etc/default/asterisk y establezca el usuario de asterisco como usuario predeterminado:
nano /etc/default/asterisk
Cambie las siguientes líneas:
AST_USER="asterisk" AST_GROUP="asterisk"
Guarde y cierre el archivo, luego edite el archivo de configuración predeterminado de Asterisk y defina el usuario y grupo "ejecutar como":
nano /etc/asterisk/asterisk.conf
Cambie las siguientes líneas:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Guarde y cierre el archivo, luego reinicie el servicio Asterisk y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl restart asterisk systemctl enable asterisk
A continuación, verifique el estado del servicio Asterisk con el siguiente comando:
systemctl status asterisk
En algunos casos, debería recibir el siguiente error:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
Puede resolver este error usando los siguientes comandos:
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
A continuación, inicie de nuevo el servicio Asterisk con el siguiente comando:
systemctl start asterisk
A continuación, conéctese a la interfaz de línea de comandos de Asterisk con el siguiente comando:
asterisk -rvv
Deberías obtener el siguiente resultado:
Asterisk 17.8.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ======================================================================= == Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 17.8.1 currently running on server (pid = 52652) server*CLI>
Salga del tipo de CLI:
Exit
Paso 5:instalar FreePBX
FreePBX requiere que el servidor web Apache, MariaDB y PHP versión 7.2 estén instalados en su servidor. De forma predeterminada, Ubuntu 20.04 se envía con la versión 7.4 de PHP, por lo que deberá instalar el repositorio de PHP Ondrej en su servidor. Puede agregarlo con el siguiente comando:
apt-get install software-properties-common –y add-apt-repository ppa:ondrej/php -y
A continuación, instale Apache, MariaDB y PHP con el siguiente comando:
apt-get install apache2 mariadb-server libapache2-mod-php7.2 php7.2 php-pear php7.2-cgi php7.2- common php7.2-curl php7.2-mbstring php7.2-gd php7.2-mysql php7.2-bcmath php7.2-zip php7.2- xml php7.2-imap php7.2-json php7.2-snmp
Una vez que todos los paquetes estén instalados, descargue la última versión de FreePBX usando el siguiente comando:
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
Una vez descargado, extraiga el archivo descargado con el siguiente comando:
tar -xvzf freepbx-15.0-latest.tgz
A continuación, cambie el directorio al directorio extraído e instale el paquete Node.js con el siguiente comando:
cd freepbx apt-get install nodejs -y
A continuación, establezca los permisos necesarios con el siguiente comando:
./install -n
Deberías obtener el siguiente resultado:
Setting specific permissions... 30690 [============================] Finished setting permissions Generating default configurations... Finished generating default configurations You have successfully installed FreePBX
A continuación, cambie el usuario de Apache a asterisco y active la opción AllowOverride con el siguiente comando:
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
A continuación, establezca upload_max_filesize en el archivo php.ini con el siguiente comando:
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.2/apache2/php.ini sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.2/cli/php.ini
A continuación, habilite el módulo de reescritura de Apache y reinicie el servicio de Apache con el siguiente comando:
a2enmod rewrite systemctl restart apache2
Paso 6- Accede a FreePBX
Ahora, abra su navegador web y acceda a la interfaz web de FreePBX usando la URL http://your-server-ip/admin . Se le redirigirá a la página de creación de usuarios administradores:
Proporcione los detalles de su usuario administrador y haga clic en Sistema de configuración botón. Debería ver la siguiente página:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Continuar botón. Debería ver el panel de control de FreePBX en la siguiente página:
Conclusión
En la guía anterior, aprendió cómo instalar el servidor Asterisk y FreePBX en Ubuntu 20.04. Ahora puede administrar fácilmente su servidor VoIP desde el panel de control de FreePBX. ¡Instale Asterisk hoy usando su cuenta de alojamiento VPS con Atlantic.Net!