Cómo instalar el servidor SIP de Kamailio en Ubuntu 18.04 | 16.04

  • Eustace Evans
  • 0
  • 1281
  • 35

Este breve tutorial muestra a los estudiantes y nuevos usuarios cómo instalar el servidor SIP de Kamailio y el portal backend de Siremis para administrar Kamailio en Ubuntu 18.04 | 16.04 con servidor HTTP Apache2…

Kamailio es un servidor SIP flexible, de código abierto y gratuito que es capaz de manejar miles de configuraciones de llamadas por segundo. Está basado en OpenSER y SER. Con Kamailio, puede crear grandes plataformas para VoIP y comunicaciones en tiempo real: presencia, WebRTC, mensajería instantánea y otras aplicaciones..

Para administrar Kamailio fácilmente, querrá instalar el portal web de Siremis. Esta publicación también te muestra cómo hacer eso.

Si está buscando un servidor SIP de código abierto para ejecutar su VoIP comercial y presencia de comunicación en tiempo real, es posible que desee echar un vistazo a Kamailio.

Para obtener más información sobre la plataforma social Kamailio, visite su página de inicio

Para comenzar a instalar Kamailio, siga los pasos a continuación:

Paso 1: Instale Apache2 HTTP

Apache2 HTTP Server es el servidor web más popular en uso ... así que instálelo ya que Kamailio lo necesita ...

Para instalar Apache2 HTTP en el servidor Ubuntu, ejecute los siguientes comandos ...

sudo apt actualizar sudo apt instalar apache2

Después de instalar Apache2, los siguientes comandos se pueden usar para detener, iniciar y habilitar el servicio Apache2 para que siempre se inicie con el servidor arranca.

sudo systemctl detener apache2.service sudo systemctl iniciar apache2.service sudo systemctl habilitar apache2.service 

Para probar la configuración de Apache2, abra su navegador y busque el nombre de host del servidor o la dirección IP y debería ver la página de prueba predeterminada de Apache2 como se muestra a continuación ... Cuando vea eso, entonces Apache2 está funcionando como se esperaba ...

http: // localhost

Paso 2: Instale el servidor de base de datos MariaDB

v también necesita un servidor de base de datos para almacenar su contenido ... y el servidor de base de datos MariaDB es un gran lugar para comenzar cuando busca servidores de base de datos de código abierto para usar con v.

Para instalar MariaDB, ejecute los siguientes comandos ...

sudo apt install mariadb-server mariadb-client

Después de instalar MariaDB, los siguientes comandos se pueden usar para detener, iniciar y habilitar el servicio MariaDB para que siempre se inicie cuando el servidor arranca ...

Ejecutar estos en Ubuntu

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl enable mariadb.service 

Después de eso, ejecute los siguientes comandos para asegurar el servidor MariaDB creando una contraseña de root y no permitiendo el acceso remoto de root..

sudo mysql_secure_installation

Cuando se le solicite, responda las preguntas siguientes siguiendo la guía.

  • Ingrese la contraseña actual para root (ingrese para ninguna): simplemente presione Enter
  • ¿Establecer contraseña de root? [Y / n]: Y
  • Nueva contraseña: ingrese la contraseña
  • Vuelva a ingresar la nueva contraseña: Repita la contraseña
  • ¿Eliminar usuarios anónimos? [Y / n]: Y
  • ¿Deshabilitar el inicio de sesión de root de forma remota? [Y / n]: Y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [Y / n]: Y
  • ¿Recargar tablas de privilegios ahora? [Y / n]: Y

Reinicie el servidor MariaDB

Para probar si MariaDB está instalado, escriba los siguientes comandos para iniciar sesión en el servidor MariaDB

sudo mysql -u root -p

Luego escriba la contraseña que creó anteriormente para iniciar sesión ... si tiene éxito, debería ver el mensaje de bienvenida de MariaDB

Paso 3: Instale PHP 7.2 y los módulos relacionados

PHP 7.2 puede no estar disponible en los repositorios predeterminados de Ubuntu ... para instalarlo, tendrá que obtenerlo de repositorios de terceros.

Ejecute los siguientes comandos para agregar el siguiente repositorio de terceros para actualizar a PHP 7.2

sudo apt-get install software-properties-common sudo add-apt-repository ppa: ondrej / php

Luego actualice y actualice a PHP 7.2

actualización de sudo apt

A continuación, ejecute los siguientes comandos para instalar PHP 7.2 y los módulos relacionados.

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7. 2-gd php7.2-imagick php-pear php7.2-xml php7.2-cli php7.2-zip php7.2-sqlite

Después de instalar PHP 7.2, ejecute los siguientes comandos para abrir el archivo de configuración predeterminado de PHP para Apache2 ...

sudo nano /etc/php/7.2/apache2/php.ini 

Luego, realice los cambios en las siguientes líneas del archivo y guárdelos. Los valores a continuación son excelentes configuraciones para aplicar en sus entornos.

file_uploads = En allow_url_fopen = En short_open_tag = En memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 max_input_vars = 1500 date.timezone = America / Chicago

Después de realizar el cambio anterior, guarde el archivo y cierre. Después de instalar PHP y los módulos relacionados, todo lo que tiene que hacer es reiniciar Apache2 para volver a cargar las configuraciones de PHP ...

Para reiniciar Apache2, ejecute los siguientes comandos

sudo systemctl reiniciar apache2.service

Para probar la configuración de PHP 7.2 con Apache2, cree un phpinfo.php archivo en el directorio raíz de Apache2 ejecutando los siguientes comandos

sudo nano /var/www/html/phpinfo.php

Luego escriba el contenido a continuación y guarde el archivo.

Guarde el archivo ... luego busque el nombre de host de su servidor seguido de /phpinfo.php

http: //localhost/phpinfo.php

Debería ver la página de prueba predeterminada de PHP ...

Paso 4: descargue la última versión de Kamailio

Los paquetes de Kamailio no están disponibles en los repositorios predeterminados de Ubuntu. Para instalarlo tendrás que agregar su repositorio oficial a Ubuntu.

Para hacer eso, siga los pasos a continuación:

Primero, descargue y agregue la clave GPG para su repositorio ejecutando los siguientes comandos:

wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -

A continuación, ejecute los siguientes comandos para crear su archivo de repositorio.

sudo nano /etc/apt/sources.list.d/kamailio.list

Luego copie y pegue las líneas a continuación en el archivo y guárdelo.

deb http://deb.kamailio.org/kamailio52 bionic main deb-src http://deb.kamailio.org/kamailio52 bionic main

Finalmente, actualice los paquetes de Ubuntu e instale Kamailio.

sudo apt update sudo apt install kamailio kamailio-mysql-modules kamailio-websocket-modules

Después de instalar Kamailio, puede verificar si está instalado y listo ejecutando los siguientes comandos.

kamailio -V

Debería ver líneas similares a las que se muestran a continuación:

Salida: versión: kamailio 5.2.6 (x86_64 / linux) banderas: ESTADÍSTICAS: Desactivado, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALCALC, USE_MALKMALC, FRM_MALLOC_MALC, QR_MALLOC_MALK_MALC -ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED ADAPTIVE_WAIT_LOOPS = 1,024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, buf_size 65535, DEFAULT PKG_SIZE 8 MB apoyo método encuesta: encuesta, epoll_lt, epoll_et, sigio_rt, seleccione. id: desconocido compilado con gcc 7.4.0 

El archivo de configuración predeterminado de Kamailio se encuentra en / etc / kamailio / kamctlrc.

Para las configuraciones, simplemente abra el archivo y agregue sus cambios, luego guárdelo. Para especificar un nombre de dominio para su servidor, ejecute los siguientes comandos para abrir su archivo de configuración.

sudo nano / etc / kamailio / kamctlrc

Luego edite las líneas resaltadas en el archivo y guarde.

# El archivo de configuración de Kamailio para las herramientas de control. # ## su dominio SIP SIP_DOMAIN = kamailio.example.com ## directorio chrooted # # Si desea configurar una base de datos con kamdbctl, debe al menos especificar # este parámetro. DBENGINE = MYSQL ## base de datos host ## base de datos usuario de solo lectura 

Después de realizar los cambios anteriores, ejecute el siguiente script para crear una base de datos, un usuario y las tablas que necesita Kamailio.

kamdbctl crear

Si se le niega el acceso por root @ localhost, siga los pasos a continuación para resolver.

Inicie sesión en el servidor MariaDB ejecutando los siguientes comandos

sudo mysql -u root

Eso debería llevarte al servidor de la base de datos. Después de eso, ejecute los siguientes comandos para deshabilitar la autenticación del complemento para el usuario root

use mysql; actualizar el conjunto de usuarios plugin = "where User =" root "; eliminar privilegios; salir

Reinicie y ejecute los siguientes comandos para establecer una nueva contraseña.

sudo systemctl reiniciar mariadb.service

Ahora ejecute el script de Kamailio para crear una base de datos y un usuario.

Cuando se le solicite, responda con la siguiente configuración:

Ingrese el nombre del juego de caracteres: latin1 INFO: creando la base de datos kamailio… INFO: otorgando privilegios a la base de datos kamailio… INFO: creando tablas estándar en kamailio… INFO: Las tablas principales de Kamailio se crearon con éxito. ¿Instalar tablas relacionadas con la presencia? (s / n): y INFO: creando tablas de presencia en kamailio… INFO: tablas de presencia creadas con éxito. Instalar tablas para imc cpl siptrace domainpolicy carrierroute drouting userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy rtpengine? (s / n): y INFO: creación de tablas adicionales en kamailio… INFO: tablas adicionales creadas con éxito. ¿Instalar tablas para uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y / n): y INFO: creando tablas uid en kamailio… INFO: tablas UID creadas con éxito. 

A continuación, abra el /etc/kamailio/kamailio.cfg archivo ejecutando los siguientes comandos:

sudo nano /etc/kamailio/kamailio.cfg

Luego agregue las siguientes líneas a continuación #! KAMAILIO.

#! define WITH_MYSQL #! define WITH_AUTH #! define WITH_USRLOCDB #! define WITH_ACCDB

Guardar y Salir.

Para aplicar sus cambios, ejecute los siguientes comandos:

sudo systemctl reiniciar kamailio

Kamailio ahora está instalado y listo para usar.

Paso 5: instalar y configurar Siremis

Ahora que Kamailio está instalado, necesitará una interfaz web simple para administrar el servidor. Para lograr eso, instale Siremis.

Siremis es una interfaz basada en web para Kamailio SIP Server. Proporciona una manera fácil de crear y administrar perfiles de usuario, reglas de enrutamiento, ver la contabilidad, teléfonos registrados y comunicarse con el servidor SIP..

Para instalar Siremis, querrá instalar XML_RPC. Ejecute los siguientes comandos para instalar.

sudo pear instalar XML_RPC2

A continuación, cambie el directorio a la raíz web de Apache, instale git y descargue los paquetes de Siremis.

cd / var / www / sudo apt install git sudo git clone https://github.com/asipto/siremis

Después de eso, cambie a la carpeta Siremis y prepare su entorno.

cd / var / www / siremis sudo make prepare24 sudo make chown

Finalmente, configure el archivo de configuración del sitio Apahce2 para Siremis. Este archivo controlará cómo los usuarios acceden al contenido de Siremis. Ejecute los siguientes comandos para crear un nuevo archivo de configuración llamado siremis.conf

sudo nano /etc/apache2/sites-available/siremis.conf

Luego copie y pegue el contenido a continuación en el archivo y guárdelo. Reemplace la línea resaltada con su propio nombre de dominio y ubicación raíz del directorio.

 ServerAdmin [email protected] DocumentRoot / var / www / siremis / siremis Alias ​​/ siremis "/ var / www / siremis / siremis" ServerName kamailio.example.com ServerAlias ​​www.kamailio.example.com  Opciones Índices FollowSymLinks MultiViews AllowOverride All Requerir todos concedidos  Requerir todo denegado   Requerir todo denegado   ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado  

Guarda el archivo y cierra.

Paso 6: Habilite el módulo Siremis y Rewrite

Después de configurar el VirtualHost anterior, habilítelo ejecutando los siguientes comandos

sudo a2ensite siremis.conf sudo a2enmod reescribir sudo systemctl reiniciar apache2.service 

Finalmente, siga los pasos a continuación para otorgar acceso de usuario de Siremis a su base de datos.

sudo mysql -u root -p

Ingrese su contraseña de root, cuando se le solicite.

Luego ejecute la declaración SQL a continuación

OTORGAR TODOS LOS PRIVILEGIOS SOBRE siremis. * A siremis @ localhost IDENTIFICADO POR 'contraseña';

Luego elimine los privilegios y salga

PRIVILEGIOS DE FLUSH; SALIDA;

Luego abra su navegador y busque el nombre de dominio del servidor o el nombre de host. Suele ser localhost, pero puede ser un nombre de host o una dirección IP. El administrador del servidor o la empresa de alojamiento tendrán esta información disponible..

http://kamailio.example.com/

Inicie el asistente de instalación

Valide que se cumplan todos los requisitos, luego continúe con el asistente.

Ingrese la información de configuración de su base de datos a continuación.

Si selecciona crear una base de datos Siremis, el usuario configurado para acceder a ella debe tener privilegios para crearla. La importación de los datos predeterminados inserta los registros requeridos por la administración de Siremis.

La base de datos Siremis es para uso interno, mientras que la base de datos SIP es la que usa Kamailio; debe crearse por separado (es decir, kamdbctl create). Atención: Update SIP DB está eliminando y recreando las tablas acc y missing_calls en la base de datos de Kamailio.

Después de un breve momento, la configuración debería completarse y le proporcionará un nombre de usuario y una contraseña de administrador. Utilice la credencial para iniciar sesión y comenzar a configurar su entorno.

Nombre de usuario: admin
Contraseña: admin

Eso debería completar la configuración.

Conclusión:

Ha aprendido cómo instalar el servidor SIP de Kamailio con el backend de Siremis en Ubuntu con el servidor HTTP Apache2 ... Si encuentra algún error arriba, deje un comentario a continuación

Gracias,




Nadie ha comentado sobre este artículo todavía.

Una colección de información útil sobre el sistema operativo Linux y las nuevas tecnologías
Artículos nuevos, consejos prácticos, reseñas detalladas y guías. Siéntete como en casa en el mundo del sistema operativo Linux