Cree un servidor de chat usando Matrix Synapse y Riot en CentOS 7

Matrix es un protocolo de comunicación estándar abierto para la comunicación descentralizada en tiempo real. Matrix se implementa como servidores domésticos que se distribuyen a través de Internet; por lo tanto, no hay un único punto de control o falla. Matrix proporciona una API HTTP RESTful para crear y administrar los servidores de chat distribuidos que incluye enviar y recibir mensajes, invitar y administrar miembros de la sala de chat, mantener cuentas de usuario y proporcionar funciones de chat avanzadas como VoIP y videollamadas, etc. Matrix también establece un sincronización segura entre servidores domésticos que se distribuyen en todo el mundo.

Synapse es la implementación del servidor doméstico Matrix escrito por el equipo de Matrix. El ecosistema Matrix consiste en la red de muchos servidores domésticos federados distribuidos en todo el mundo. Un usuario de Matrix usa un cliente de chat para conectarse al servidor doméstico, que a su vez se conecta a la red de Matrix. Homeserver almacena el historial de chat y la información de inicio de sesión de ese usuario en particular.

Prerrequisitos

En este tutorial, lo utilizaremos matrix.example.comcomo el nombre de dominio utilizado para Matrix Synapse. Reemplace todas las apariciones matrix.example.comcon su nombre de dominio real que desea usar para su servidor doméstico Synapse.

Actualice su sistema base utilizando la guía Cómo actualizar CentOS 7 . Una vez que su sistema esté actualizado, proceda a instalar Python.

Instalar herramientas de desarrollo

Matrix Synapse necesita Python 2.7 para funcionar. Python 2.7 viene preinstalado en todas las instancias del servidor CentOS. Puede verificar la versión instalada de Python.

python -V

Deberías obtener una salida similar.

[user@vultr ~]$ python -V
Python 2.7.5

Cambiar la versión predeterminada de Python puede romper el administrador de repositorio de YUM. Sin embargo, si desea la versión más reciente de Python, puede realizar una instalación alternativa, sin reemplazar el Python predeterminado.

Instale los paquetes en el Development toolsgrupo necesarios para compilar los archivos del instalador.

sudo yum groupinstall -y "Development tools"

Instale algunas dependencias más requeridas.

sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel 

Instalar Python pip. Pip es el administrador de dependencias para los paquetes de Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Instalar Synapse

Cree un entorno virtual para su aplicación Synapse. El entorno virtual de Python se usa para crear un entorno virtual aislado para un proyecto de Python. Un entorno virtual contiene sus propios directorios de instalación y no comparte bibliotecas con entornos virtuales globales y de otro tipo.

sudo virtualenv -p python2.7 /opt/synapse

Proporcionar la propiedad del directorio al usuario actual.

sudo chown -R $USER:$USER /opt/synapse/

Ahora active el entorno virtual.

source /opt/synapse/bin/activate

Asegúrese de tener la última versión de pipy setuptools.

pip install --upgrade pip 
pip install --upgrade setuptools

Instale la última versión de Synapse usando pip.

pip install https://github.com/matrix-org/synapse/tarball/master

El comando anterior tardará un tiempo en ejecutarse ya que extrae e instala la última versión de Synapse y todas las dependencias del repositorio de Github.

Instalar y configurar PostgreSQL

Synapse usa SQLite como la base de datos predeterminada. SQLite almacena los datos en una base de datos que se guarda como un archivo plano en el disco. Usar SQLite es muy simple, pero no se recomienda para la producción, ya que es muy lento en comparación con PostgreSQL.

PostgreSQL es un sistema de base de datos relacional de objetos. Deberá agregar el repositorio PostgreSQL en su sistema, ya que la aplicación no está disponible en el repositorio predeterminado de YUM.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Instale el servidor de base de datos PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inicializar la base de datos.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Edite /var/lib/pgsql/9.6/data/pg_hba.confpara habilitar la autenticación basada en MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Encuentra las siguientes líneas y cambia peera trusty idnetpara md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            idnet
# IPv6 local connections:
host    all             all             ::1/128                 idnet

Una vez actualizada, la configuración debería verse así.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Inicie el servidor PostgreSQL y permita que se inicie automáticamente en el arranque.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Cambie la contraseña para el usuario predeterminado de PostgreSQL.

sudo passwd postgres

Iniciar sesión.

sudo su - postgres

Cree un nuevo usuario de PostgreSQL para Synapse.

createuser synapse

PostgreSQL proporciona el psqlshell para ejecutar consultas en la base de datos. Cambie al shell PostgreSQL ejecutando.

psql

Establezca una contraseña para el usuario recién creado para la base de datos Synapse.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Reemplácelo DBPasswordcon una contraseña segura y anótelo, ya que usaremos la contraseña más adelante. Cree una nueva base de datos para la base de datos PostgreSQL.

CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;

Salga de la psqlcáscara.

\q

Cambiar al sudousuario del postgresusuario actual .

exit

También deberá instalar los paquetes necesarios para que Synapse se comunique con el servidor de base de datos PostgreSQL.

sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2

Configurando Synapse

Synapse requiere un archivo de configuración antes de que pueda iniciarse. El archivo de configuración almacena la configuración del servidor. Cambie al entorno virtual y genere la configuración para Synapse.

source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes

Reemplace matrix.example.comcon su nombre de dominio real y asegúrese de que el nombre del servidor se pueda resolver en la dirección IP de su instancia de Vultr. Proporcione --report-stats=yessi desea que los servidores generen los informes, proporcione --report-stats=nodesactivar la generación de informes y estadísticas.

Deberías ver una salida similar.

(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates

Por defecto, el homeserver.yamlestá configurado para usar una base de datos SQLite. Necesitamos modificarlo para usar la base de datos PostgreSQL que hemos creado anteriormente.

Edite el recién creado homeserver.yaml.

nano homeserver.yaml

Encuentre la configuración de base de datos existente que usa SQLite3. Comente las líneas como se muestra a continuación. Además, agregue la nueva configuración de base de datos para PostgreSQL. Asegúrese de utilizar las credenciales de base de datos correctas.

# Database configuration
#database:
  # The database engine name
  #name: "sqlite3"
  # Arguments to pass to the engine
  #args:
    # Path to the database
    #database: "/opt/synapse/homeserver.db"


database:
    name: psycopg2
    args:
        user: synapse
        password: DBPassword
        database: synapse
        host: localhost
        cp_min: 5
        cp_max: 10

El registro de un nuevo usuario desde una interfaz web está deshabilitado de forma predeterminada. Para habilitar el registro, puede establecerlo enable_registrationen True. También puede establecer una clave de registro secreta, que permite a cualquier persona registrarse que tenga la clave secreta, incluso si el registro está desactivado.

enable_registration: False

registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"

Guarde el archivo y salga del editor. Ahora deberá registrar su primer usuario. Sin embargo, antes de poder registrar un nuevo usuario, primero deberá iniciar la aplicación.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl start

Deberías ver las siguientes líneas.

2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')

Registre un nuevo usuario de Matrix.

register_new_matrix_user -c homeserver.yaml https://localhost:8448

Deberías ver lo siguiente.

(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.

Finalmente, antes de poder usar Homeserver, deberá permitir el puerto 8448 a través del Firewall. El puerto 8448se utiliza como puerto de federación seguro. Los servidores domésticos utilizan este puerto para comunicarse entre sí de forma segura. También puede usar el cliente de chat web Matrix incorporado a través de este puerto.

sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload

Ahora puede iniciar sesión en el cliente de chat web de Matrix accediendo a https://matrix.example.com:8448su navegador favorito. Verá una advertencia sobre el certificado SSL ya que los certificados utilizados son autofirmados. No utilizaremos este cliente de chat web, ya que está desactualizado y ya no se mantiene. Solo trata de verificar si puedes iniciar sesión con la cuenta de usuario que acabas de crear.

Configurando los certificados Let's Encrypt

En lugar de usar un certificado autofirmado para proteger el puerto de federación, podemos usar Let's Encrypt SSL gratis. Let's Encrypt SSL gratis se puede obtener a través del cliente oficial Let's Encrypt llamado Certbot.

Instalar Certbot.

sudo yum -y install certbot

Ajuste la configuración de su firewall para permitir el estándar HTTPy los HTTPSpuertos a través del firewall. Certbot necesita hacer una HTTPconexión para verificar la autoridad del dominio.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Para obtener certificados de Let's Encrypt CA, debe asegurarse de que el dominio para el que desea generar los certificados apunte hacia el servidor. Si no es así, realice los cambios necesarios en los registros DNS de su dominio y espere a que se propague el DNS antes de volver a solicitar el certificado. Certbot verifica la autoridad del dominio antes de proporcionar los certificados.

Ahora use el servidor web incorporado en Certbot para generar los certificados para su dominio.

sudo certbot certonly --standalone -d matrix.example.com

Es probable que los certificados generados se almacenen en /etc/letsencrypt/live/matrix.example.com/. El certificado SSL se almacenará como fullchain.pemy la clave privada se almacenará como privkey.pem.

Copia los certificados.

sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem

sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Deberá cambiar la ruta a los certificados y claves del homeserver.yamlarchivo. Edite la configuración.

nano /opt/synapse/homeserver.yaml

Encuentra las siguientes líneas y modifica la ruta.

tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"

# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"

Guarde el archivo y salga del editor. Reinicie el servidor Synapse para que los cambios surtan efecto.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart

Encriptemos los certificados que vencen en 90 días, por lo que se recomienda que configure la renovación automática para los certificados mediante trabajos cron. Cron es un servicio del sistema que se utiliza para ejecutar tareas periódicas.

Cree un nuevo script para renovar certificados y copie los certificados renovados en el directorio de Synapse.

sudo nano /opt/renew-letsencypt.sh  

Rellene el archivo.

#!/bin/sh

/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Proporcione el permiso de ejecución.

sudo chmod +x /opt/renew-letsencypt.sh

Abra el archivo de trabajo cron.

sudo crontab -e

Agregue la siguiente línea al final del archivo.

30 5 * * 1 /opt/renew-letsencypt.sh

El trabajo cron anterior se ejecutará todos los lunes a las 5:30 a.m. Si el certificado expira, los renovará automáticamente.

Ahora puedes visitar https://matrix.example.com:8448. Verá que no hay advertencia SSL antes de la conexión.

Configurar Nginx con Let's Encrypt

Además del puerto de federación seguro 8448, Synapse también escucha el puerto de cliente no seguro 8008. Ahora configuraremos Nginx como un proxy inverso para la aplicación Synapse.

sudo yum -y install nginx

Crea un nuevo archivo de configuración.

sudo nano /etc/nginx/conf.d/synapse.conf

Rellene el archivo con el siguiente contenido.

server {
    listen 80;
    server_name matrix.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name matrix.example.com;

    ssl_certificate           /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/matrix.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/synapse.access.log;

    location /_matrix {

      proxy_pass          http://localhost:8008;
      proxy_set_header X-Forwarded-For $remote_addr;

    }
  }

Reinicie y habilite Nginx para que se inicie automáticamente en el momento del arranque.

sudo systemctl restart nginx
sudo systemctl enable nginx

Finalmente, puede verificar si se puede acceder a Synapse a través del proxy inverso.

curl https://matrix.example.com/_matrix/key/v2/server/auto

Deberías obtener un resultado similar.

[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}

Configurar el servicio Systemd

Se recomienda utilizar el servicio Systemd para administrar el proceso del servidor Synapse. El uso de Systemd garantizará que el servidor se inicie automáticamente en el inicio del sistema y las fallas.

Cree un nuevo archivo de servicio Systemd.

sudo nano /etc/systemd/system/matrix-synapse.service

Rellene el archivo.

[Unit]
Description=Matrix Synapse service
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse

[Install]
WantedBy=multi-user.target

Ahora puede iniciar rápidamente el servidor Synapse.

sudo systemctl start matrix-synapse

Para detener o reiniciar el servidor con los siguientes comandos.

sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse

Puede verificar el estado del servicio.

sudo systemctl status matrix-synapse

Usando Riot

El servidor Matrix Synapse ahora está instalado y configurado en su servidor. Como el cliente web incorporado para Matrix está desactualizado, puede elegir entre la variedad de aplicaciones de cliente disponibles para el chat. Riot es el cliente de chat más popular, que está disponible en casi todas las plataformas. Puede usar la versión alojada del cliente de chat web de Riot, o también puede alojar una copia en su propio servidor. Además de esto, también puede utilizar los clientes de chat móviles y de escritorio de Riot, que están disponibles para Windows, Mac, Linux, IOS y Android.

Si desea alojar su propia copia del cliente web de Riot, puede seguir leyendo las instrucciones para instalar Riot en su servidor. Para el cliente alojado, de escritorio y móvil, puede usar su nombre de usuario y contraseña para iniciar sesión directamente en su servidor doméstico. Simplemente elija my Matrix IDdel menú desplegable de la Sign Inopción y proporcione el nombre de usuario y la contraseña que creó durante el registro de un nuevo usuario. Haga clic en Custom servery use el nombre de dominio de su instancia de Synapse. Como ya hemos configurado Nginx, solo podemos usarlo https://matrix.example.comcomo servidor de inicio y https://matrix.orgcomo URL del servidor de identidad.

Ejemplo de inicio de sesión de Riot

Configura Riot en tu propio servidor.

Riot también es de código abierto y gratuito para alojar en su propio servidor. No requiere ninguna base de datos o dependencias. Como ya tenemos un servidor Nginx ejecutándose, podemos alojarlo en el mismo servidor.

El dominio o subdominio que está utilizando para Synapse y Riot debe ser diferente para evitar secuencias de comandos entre sitios. Sin embargo, puede usar dos subdominios del mismo dominio. En este tutorial, lo utilizaremos riot.example.comcomo dominio para la aplicación Riot. Reemplace todas las ocurrencias riot.example.comcon su dominio o subdominio real para la aplicación Riot.

Descarga Riot en tu servidor.

cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz

Siempre puede encontrar el enlace a la última versión en Riot's Github .

Extraer el archivo.

sudo tar -xzf riot-v*.tar.gz

Cambie el nombre del directorio por conveniencia de manejo.

sudo mv riot-v*/ riot/

Como ya hemos instalado Certbot, podemos generar los certificados directamente. Asegúrese de que el dominio o subdominio que está utilizando apunte hacia el servidor.

sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com

Es probable que los certificados generados se almacenen en el /etc/letsencrypt/live/riot.example.com/directorio.

Cree un host virtual para la aplicación Riot.

sudo nano /etc/nginx/conf.d/riot.conf

Rellene el archivo.

server {
    listen 80;
    server_name riot.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name riot.example.com;

    ssl_certificate           /etc/letsencrypt/live/riot.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/riot.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    root /opt/riot;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ =404;
    }

    access_log    /var/log/nginx/riot.access.log;

  }

Copie el archivo de configuración de muestra.

sudo cp /opt/riot/config.sample.json /opt/riot/config.json

Ahora edite el archivo de configuración para hacer algunos cambios.

sudo nano /opt/riot/config.json

Encuentra las siguientes líneas.

"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",

Reemplace el valor de la URL predeterminada del servidor doméstico con la URL de su servidor Matrix. Para la URL del servidor de identidad, puede usar la opción predeterminada, o también puede proporcionar su valor al servidor de identidad Matrix, que es https://matrix.org.

"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",

Guarda el archivo y cierra. Proporcione la propiedad de los archivos al usuario de Nginx.

sudo chown -R nginx:nginx /opt/riot/

Reinicia Nginx.

sudo systemctl restart nginx

Puedes acceder a Riot en https://riot.example.com. Ahora puede iniciar sesión con el nombre de usuario y la contraseña que creó anteriormente. Puede conectarse utilizando el servidor predeterminado ya que ya hemos cambiado el servidor Matrix predeterminado para nuestra aplicación.

Ahora tiene un servidor doméstico Matrix Synapse en funcionamiento. También tiene una copia alojada de Riot, que puede usar para enviar un mensaje a otras personas utilizando su Matrix ID, correo electrónico o número de teléfono móvil. Comience creando una sala de chat en su servidor e invite a sus amigos en Matrix a unirse a la sala de chat que ha creado.



Leave a Comment

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

¿Usando un sistema diferente? MODX Revolution es un sistema de gestión de contenido (CMS) de nivel empresarial rápido, flexible, escalable, gratuito y de código abierto escrito i

Configure su propia red privada con OpenVPN

Configure su propia red privada con OpenVPN

Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.

How to Install and Configure CyberPanel on Your CentOS 7 Server

How to Install and Configure CyberPanel on Your CentOS 7 Server

Using a Different System? Introduction CyberPanel is one of the first control panels on the market that is both open source and uses OpenLiteSpeed. What thi

Install eSpeak on CentOS 7

Install eSpeak on CentOS 7

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Cómo instalar Thelia 2.3 en CentOS 7

Cómo instalar Thelia 2.3 en CentOS 7

¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i

Monitoree sus dispositivos usando LibreNMS en CentOS 7

Monitoree sus dispositivos usando LibreNMS en CentOS 7

¿Usando un sistema diferente? LibreNMS es un completo sistema de monitoreo de red de código abierto. Utiliza SNMP para obtener los datos de diferentes dispositivos. Una variedad

Cómo instalar Cacti 1.1 en CentOS 7

Cómo instalar Cacti 1.1 en CentOS 7

Cacti es una herramienta de gráficos y monitoreo de red de código abierto y libre escrita en PHP. Con la ayuda de RRDtool (herramienta de base de datos Round-Robin), Cacti se puede usar t

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

¿Usando un sistema diferente? Zabbix es un software gratuito y de código abierto listo para empresas que se utiliza para monitorear la disponibilidad de sistemas y componentes de red.

Cómo instalar MODX CMS y Nginx en CentOS 7

Cómo instalar MODX CMS y Nginx en CentOS 7

MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i

Cómo instalar YOURLS en CentOS 7

Cómo instalar YOURLS en CentOS 7

YOURLS (Your Own URL Shortener) es una aplicación de análisis de datos y acortamiento de URL de código abierto. En este artículo, cubriremos el proceso de instalación

Setup Nginx-RTMP on CentOS 7

Setup Nginx-RTMP on CentOS 7

Using a Different System? RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted into various qualities. Vultr i

Cómo instalar LimeSurvey en CentOS 7

Cómo instalar LimeSurvey en CentOS 7

LimeSurvey es una herramienta de encuestas en línea gratuita y de código abierto que se utiliza ampliamente para publicar encuestas en línea y para recopilar comentarios de encuestas. En este artículo, voy a

Cómo instalar Vanilla Forum en CentOS 7

Cómo instalar Vanilla Forum en CentOS 7

¿Usando un sistema diferente? Vanilla forum es una aplicación de foro de código abierto escrita en PHP. Es totalmente personalizable, fácil de usar y admite dispositivos externos.

Instalación de Netdata en CentOS 7

Instalación de Netdata en CentOS 7

¿Usando un sistema diferente? Netdata es una estrella en ascenso en el campo del monitoreo de métricas del sistema en tiempo real. En comparación con otras herramientas del mismo tipo, Netdata:

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

En este tutorial, aprende bien cómo configurar un servidor multijugador Just Cause 2. Requisitos previos Asegúrese de que el sistema esté completamente actualizado antes de comenzar

Cómo instalar Starbound Server en CentOS 7

Cómo instalar Starbound Server en CentOS 7

¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo

Instalación y configuración de ZNC en CentOS 7

Instalación y configuración de ZNC en CentOS 7

ZNC es un enlace IRC gratuito y de código abierto que permanece permanentemente conectado a una red para que los clientes puedan recibir mensajes enviados mientras están desconectados. Thi

Cómo instalar Django en CentOS 7

Cómo instalar Django en CentOS 7

Django es un marco de Python popular para escribir aplicaciones web. Con Django, puede crear aplicaciones más rápido, sin reinventar la rueda. Si tu quieres

Cómo configurar ionCube Loader en CentOS 7

Cómo configurar ionCube Loader en CentOS 7

ionCube Loader es una extensión PHP que permite que un servidor web ejecute archivos PHP que han sido codificados usando ionCube Encoder y es necesario para ejecutar

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.