GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar asterisco en RHEL 8 / CentOS 8 Linux

Este artículo describirá cómo instalar el software de comunicación de código abierto Asterisk en RHEL 8/CentOS 8; debido al hecho de que Asterisk y otras dependencias importantes no están disponibles como paquetes RPM desde los repositorios, es necesario compilarlos desde las fuentes.

En este tutorial aprenderás:

  • Cuáles son los requisitos previos para instalar Asterisk
  • Cómo compilar Asterisk a partir de las fuentes
  • Cómo iniciar Asterisk
  • Cómo reconfigurar o eliminar Asterisk
  • Cómo acceder a la interfaz de línea de comandos de Asterisk

Salida de inicio del servicio Asterisk systemd en RHEL 8 / CentOS 8

Requisitos de software y convenciones utilizadas

Introducción

Asterisk es un software de centralita privada (PBX) de código abierto y, como tal, su objetivo principal es establecer y controlar llamadas telefónicas entre varios sistemas, a través de líneas PSTN tradicionales o terminales VoIP modernos.
En esta guía nos aseguraremos se instalará en RHEL 8/CentOS 8 junto con componentes comunes.

Instalación de Asterisk en RHEL 8 / CentOS 8:paso a paso.

Pondremos la última versión, la 16.3.0 al momento de escribir este tutorial.

  1. Requisitos previos

    Necesitamos instalar los siguientes paquetes, incluido systemd-devel si queremos iniciar Asterisk como un servicio systemd.

    # dnf -y install wget bzip2 tar sqlite-devel ncurses-devel systemd-devel 
    

    Y para desarrollar a partir de fuentes:

    # dnf -y install binutils gcc gcc-c++ kernel-devel autoconf automake libtool 
    

    De ahora en adelante, debemos instalar todo desde las fuentes, así que hagámoslo desde una carpeta común

    # mkdir -p /root/src && cd /root/src

    Primero vamos a compilar libedit , un reemplazo o alternativa a la edición de línea de comandos de GNU readline.

    # cd /root/src
    # wget http://thrysoee.dk/editline/libedit-20190324-3.1.tar.gz
    # tar xzvf libedit-20190324-3.1.tar.gz
    # cd libedit-20190324-3.1
    # ./configure && make && make install
    
  2. Instalación de componentes opcionales
    Los siguientes componentes son opcionales, pero en un escenario real suelen ser necesarios.

    DAHDI (Interfaz de dispositivo de hardware Digium/Asterisk):es un marco para interactuar con tarjetas de telefonía digital en Asterisk.
    Vamos a instalarlo.

    # cd /root/src
    # wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
    # tar zxvf dahdi-linux-complete-current.tar.gz && cd dahdi-linux-complete-3.0.0+3.0.0
    # make all && make install && make install-config
    # cd /etc/dahdi && cp system.conf.sample system.conf
    # systemctl enable dahdi && systemctl start dahdi
    # modprobe dahdi
    # modprobe dahdi_transcode
    

    LibPRI es una biblioteca que agrega soporte para ISDN (PRI y BRI), básicamente se necesita si se instala una tarjeta ISDN para comunicarse con sistemas heredados.

    Para instalarlo:

    # cd /root/src/
    # wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz     
    # tar xzvf libpri-1.6.0 && cd libpri-1.6.0
    # make && make install
    
  3. Instalación de Asterisk
    Ahora es el momento de compilar la aplicación principal desde las fuentes, como se mencionó.
    Esto también instalará la biblioteca SIP pjsip en el sistema.

    # cd /root/src/
    # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.3.0.tar.gz
    # tar xzvf asterisk-16.3.0.tar.gz
    # wget https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.8/pjproject-2.8.tar.bz2
    # mv pjproject-2.8.tar.bz2 /tmp
    # cd asterisk-16.3.0
    # ./configure 
    # make && make install && make install-logrotate
    

    Con make install-logrotate nos aseguramos de que los archivos de registro de la aplicación se rotarán.

  4. Configuración de Asterisk
    En Asterisk hay muchos archivos de configuración, el principal es asterisk.conf; para instalar una versión por defecto de todos ellos necesitamos ejecutar:

    # cd /root/src/asterisk-16.3.0/
    # make samples
    

    En este punto, dado que algunos módulos o características requieren más configuración o dependencias, es mejor deshabilitarlos.
    Sin embargo, esto no es obligatorio, no son componentes esenciales que impidan que Asterisk se inicie.

    #cd /etc/asterisk
    
    # cp modules.conf modules.conf.org
    # echo "noload => res_config_ldap.so"               >>modules.conf
    # echo "noload => res_pjsip_transport_websocket.so" >>modules.conf
    # echo "noload => cdr_sqlite3_custom.so"            >>modules.conf
    # echo "noload => cel_sqlite3_custom.so"            >>modules.conf
    # echo "noload => res_config_sqlite3.so"            >>modules.conf
    # echo "noload => cdr_pgsql.so"                     >>modules.conf
    # echo "noload => cel_pgsql.so"                     >>modules.conf
    # echo "noload => res_config_pgsql.so"              >>modules.conf
    
    sed -i.org 's/enabled = yes/enabled = no/' ari.conf 
    

    Luego es hora de preparar los archivos de servicio de systemd:

    # cd /root/src/asterisk-16.3.0/contrib/systemd
    # cp asterisk* /usr/lib/systemd/system
    

    El servicio Asterisk debe ejecutarse como un usuario normal, por razones de seguridad, por lo que debemos agregar una ID de servicio que se llamará asterisk como se especifica en el archivo de configuración de systemd.

    # useradd -m -c "asterisk user"
    
    

    Entonces cambiemos algunos permisos:

    chown -R asterisk:asterisk /var/log/asterisk/*
    chown  asterisk:asterisk /var/log/asterisk/.
    
  5. Iniciar Asterisk
    SELinux evitará que Asterisk se inicie, por lo que lo pondremos en permissive mode en aras de la simplicidad.

    # setenforce 0
    # sed -i.org 's/enforcing/permissive/' /etc/sysconfig/selinux
    

    Finalmente podemos iniciar Asterisk

    # systemctl enable asterisk
    # systemctl start asterisk
    

    También puede ejecutar Asterisk directamente sin systemd emitiendo:

    # /usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.conf

    o mejor

    # asterisk -vvvc

    para obtener información detallada.

    Salida de asterisco cuando se lanza directamente

  6. Reconfiguración de Asterisk
    Es posible reconfigurar Astering en cualquier momento eliminando o (volviendo a) agregar cualquier función.
    Simplemente detenga el servicio, cambie a la carpeta de origen y ejecute make menuselect .

    Selección de menú de asterisco

    # systemctl stop asterisk
    # cd /root/src/asterisk-16.3.0/
    # make menuselect
    

    Si ha realizado algún cambio, debe guardar la configuración antes de salir del menú de selección de menú.
    Después es necesario volver a compilar Asterisk como se explicó anteriormente. Es mejor hacer cualquier cambio primero en un entorno de prueba.

  7. Eliminación de Asterik
    Si alguna vez necesita eliminar Asterisk del sistema, incluidos Dahdi y libpri, estos son los pasos:

    # systemctl stop dahdi
    # systemctl stop asterisk
    # cd /root/src/asterisk-16.3.0
    # make uninstall-all
    cd /root/src/libpri-1.6.0 && make uninstall
    
  8. Acceso a la CLI de Asterisk
    Este software también tiene su shell, para acceder a él, una vez que se inicia Asterisk, debemos escribir:

    # asterisk -r 

    CLI de asterisco

Conclusión

Hemos compilado con éxito Asterisk desde las fuentes y lo hemos iniciado, sin embargo, no es suficiente para obtener un entorno de trabajo; normalmente, después de la instalación, agregará sus terminales SIP editando el archivo de configuración sip.conf – o a través de la CLI mencionada – y configurar cualquier extensión en el archivo extensions.conf . Ambos archivos están en /etc/asterisk.


Cent OS
  1. Cómo instalar redmine en RHEL 8 / CentOS 8 Linux

  2. Cómo instalar Hadoop en RHEL 8 / CentOS 8 Linux

  3. Cómo instalar Perl en RHEL 8 / CentOS 8 Linux

  4. Cómo instalar apache tomcat en Linux RHEL 8 / CentOS 8

  5. Cómo instalar un servidor DNS en RHEL 8 / CentOS 8 Linux

Cómo instalar el archivo bin en RHEL 8 / CentOS 8 Linux

Cómo instalar VLC Player en CentOS 8 / RHEL 8 Linux

Cómo instalar WordPress en RHEL 8 / CentOS 8 Linux

Cómo instalar GIMP en CentOS 8 / RHEL 8 Linux

Cómo instalar Asterisk en CentOS 7

Cómo instalar Asterisk 18 en CentOS 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software Asterisco, pjsip, libedit
    Otro repositorios locales o remotos configurados; fecha y zona horaria correctas del sistema.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios