GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Asterisk y FreePBX en Ubuntu 20.04

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!


Linux
  1. Cómo instalar y usar MongoDB en Ubuntu 20.04

  2. Cómo instalar y usar Elasticsearch en Ubuntu 20.04

  3. Cómo instalar y usar PowerShell en Ubuntu 20.04

  4. Cómo instalar MongoDB en Ubuntu 20.04 y CentOS 8

  5. Cómo instalar MongoDB en Ubuntu 20.04

Cómo instalar y configurar Nextcloud en Ubuntu 20.04

Cómo instalar OpenMAINT en Ubuntu 20.04

Cómo instalar Socioboard en Ubuntu 20.04

Cómo instalar PrestaShop en Ubuntu 20.04

Cómo instalar MediaWiki en Ubuntu 20.04

Cómo instalar Asterisk en Ubuntu 20.04