Cómo instalar y configurar Buildbot en CentOS 7

Buildbot es una herramienta de integración continua basada en Python de código abierto para automatizar la creación, prueba e implementación de software. Buildbot consta de uno o más maestros Buildbot y varios trabajadores. Buildbot master o Buildmaster tiene el comando central del sistema. Es responsable de administrar el entorno de construcción, los trabajadores y toma todas las decisiones sobre el envío de trabajos a los trabajadores. Buildmaster detecta cambios en el repositorio de código y envía los comandos o trabajos a los trabajadores para que los ejecuten. Los trabajadores ejecutan los trabajos y devuelven el resultado al Buildmaster. Buildmaster luego notifica a los desarrolladores a través de múltiples canales compatibles. En este tutorial, instalaremos el maestro y el trabajador de Buildbot en CentOS 7. También configuraremos la autenticación y Nginx como un proxy inverso seguro.

Prerrequisitos

  • Una instancia de servidor Vultr CentOS 7 con al menos 1 GB de RAM.
  • Un usuario de sudo .
  • Un nombre de dominio registrado apuntando hacia el servidor.

Para este tutorial, lo utilizaremos 192.168.1.1como la dirección IP pública y ci.example.comcomo el nombre de dominio que apunta hacia la instancia de Vultr. Asegúrese de reemplazar todas las apariciones del nombre de dominio de ejemplo y la dirección IP con la actual.

Actualice su sistema base utilizando la guía Cómo actualizar CentOS 7 . Una vez que su sistema ha sido actualizado, proceda a instalar PostgreSQL.

Instalar dependencias de Python

Instale Pip, que es un administrador de paquetes para Python.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

Instalar PostgreSQL

Buildbot admite múltiples tipos de servidores de bases de datos como MySQL, PostgreSQL y SQLite. En este tutorial, utilizaremos PostgreSQL para alojar el servidor de base de datos Buildbot.

PostgreSQL es un sistema de base de datos relacional de objetos, conocido por su estabilidad y velocidad. El yumrepositorio predeterminado contiene una versión anterior de PostgreSQL, por lo tanto, agregue el repositorio PostgreSQL.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Instale el servidor de base de datos PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Inicializar la base de datos.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

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

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

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

sudo passwd postgres

Inicie sesión como usuario de PostgreSQL.

sudo su - postgres

Cree un nuevo usuario de PostgreSQL para Buildbot.

createuser bb_user

Puede usar cualquier nombre de usuario en lugar de bb_user, si lo prefiere. PostgreSQL proporciona el psqlshell para ejecutar consultas en la base de datos. Cambie al shell PostgreSQL.

psql

Establezca una contraseña para el usuario recién creado.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

Reemplazar DBPasswordcon una contraseña segura.

Cree una nueva base de datos para la instalación de Buildbot.

CREATE DATABASE buildbot OWNER bb_user;

Salga de la psqlcáscara.

\q

Cambiar al sudousuario.

exit

Edite el pg_hba.confarchivo para habilitar la autenticación basada en MD5.

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

Encuentre las siguientes líneas y cambie los valores peery ident, en la METHODcolumna, a trusty md5, respectivamente.

# 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            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Una vez actualizada, la configuración se verá como el siguiente texto.

# 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

Guarde el archivo y salga del editor. Instale el adaptador de base de datos PostgreSQL para Python.

sudo pip install psycopg2

Reinicie PostgreSQL para que los cambios surtan efecto.

sudo systemctl restart postgresql-10

Instalar Buildbot

Instale Buildbot usando Pip.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

El comando anterior se instalará junto con Buildbot buildbot-www, buildbot-workery varios plugins web como buildbot-waterfall-view.

Para asegurarse de que Buildbot se haya instalado correctamente, puede verificarlo verificando la versión de Buildbot.

buildbot --version

El resultado debe parecerse al siguiente texto.

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

Modifique las reglas de su firewall para permitir el puerto 8010. Buildbot usa este puerto para escuchar las solicitudes web.

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

Configurar Buildbot Master

Cree un nuevo usuario sin privilegios para ejecutar los procesos de maestro y trabajador de Buildbot. No se recomienda ejecutar los servicios maestros de Buildbot como rootusuario.

sudo adduser buildbot
sudo passwd buildbot

Inicie sesión como el buildbotusuario recién creado .

sudo su - buildbot

Configure el maestro Buildbot en el /home/buildbot/masterdirectorio. Este directorio contendrá la configuración, el estado y los archivos de registro de cada compilación.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

Asegúrese de reemplazar las credenciales del usuario de la base de datos en el comando anterior.

Nota: Si desea utilizar la base de datos SQLite en lugar de PostgreSQL, simplemente omita la --db 'postgresql://bb_user:DBpassword@localhost/buildbot'opción. La base de datos SQLite se creará en el mismo directorio.

El comando anterior creará el ~/masterdirectorio para almacenar los archivos Buildmaster. También escribirá los datos en la base de datos PostgreSQL. Obtendrá el siguiente resultado.

[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master

Copie el archivo de configuración de muestra en un archivo de configuración en vivo.

cp ~/master/master.cfg.sample ~/master/master.cfg

Edite el archivo de configuración.

nano ~/master/master.cfg

Encuentra las siguientes líneas.

c['workers'] = [worker.Worker("example-worker", "pass")]
...

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["example-worker"],
      factory=factory))
...

c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...

c['buildbotURL'] = "http://localhost:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}

La configuración anterior tiene una entrada para un trabajador de muestra. Modificaremos la entrada de muestra para el trabajador en el que correremos localhost. Cambie el example-workernombre a cualquier nombre adecuado para el localhosttrabajador y cambie el nombre passa otra contraseña. Anote el nombre y la contraseña del trabajador, ya que lo solicitaremos más adelante en el tutorial. Cambie el nombre del trabajador en la lista de constructores. Cambie el nombre de la aplicación y la URL del proyecto de acuerdo con sus necesidades.

Cambie la URL de Buildbot localhosta su nombre de dominio real o dirección IP pública. Además, verifique que la información de la base de datos en el archivo de configuración coincida con sus credenciales de base de datos reales.

Al final del archivo, agregue c['buildbotNetUsageData'] = None. Este parámetro deshabilitará el envío de la información de la versión del software y los detalles de uso del complemento a los desarrolladores. Sin embargo, para habilitar el envío de la información de usos, cambie la opción a Full.

La configuración debería parecerse al siguiente texto.

c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...    

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["localhost-worker"],
      factory=factory))
...

c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...

c['buildbotURL'] = "http://192.168.1.1:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...

c['buildbotNetUsageData'] = None

Guarde el archivo y salga del editor. Verifique el archivo de configuración en busca de errores.

buildbot checkconfig ~/master

Si el archivo de configuración no tiene errores, verá el siguiente resultado.

[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!

Ahora que todo está configurado correctamente, puede iniciar el maestro Buildbot.

buildbot start ~/master

Verá el siguiente resultado.

[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.

Ahora que el maestro Buildbot se ha iniciado correctamente, se puede acceder a la interfaz de usuario web en http://192.168.1.1:8010. Debería ver la siguiente interfaz de Buildbot.

Cómo instalar y configurar Buildbot en CentOS 7

Configurar Buildbot Worker

Como ya hemos modificado la configuración del trabajador en ~/master/master.cfg, podemos proceder a crear un nuevo trabajador.

buildbot-worker create-worker ~/worker localhost localhost-worker Password123

Asegúrese de utilizar exactamente el mismo nombre y contraseña de trabajador como se menciona en el ~/master/master.cfgarchivo. Si hay una falta de coincidencia en el nombre o la contraseña del trabajador, el trabajador no podrá conectarse al maestro Buildbot. Verá el siguiente resultado después de una ejecución exitosa.

[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker

La información sobre el trabajador se almacena en el /infodirectorio. Edite la información administrativa sobre el desarrollador.

nano ~/worker/info/admin

Reemplace el nombre del ejemplo con su nombre real y correo electrónico.

Your Name <[email protected]>

Ahora, abra el archivo que contiene información sobre el host.

nano ~/worker/info/host

Reemplace la instrucción de ejemplo con la información real sobre el sistema host.

Localhost, CentOS 7

La información de administrador y host del trabajador solo se usa para informar a los usuarios sobre el sistema. También puede agregar información adicional sobre el sistema, como la versión Buildbot y la versión Twisted.

Comience el trabajador.

buildbot-worker start ~/worker

La salida se verá como el siguiente texto.

[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.

Para verificar si el trabajador está registrado, diríjase a la interfaz web de Buildbot y navegue Builds >> Workersdesde la navegación izquierda. Debería ver que el trabajador está listo y listo para construir.

Cómo instalar y configurar Buildbot en CentOS 7

Para ejecutar una compilación de muestra, para verificar si el trabajador de Buildbot se está ejecutando correctamente, vaya a Builds >> Builders. Haga clic en el runtestsnombre del generador para abrir la interfaz del generador y haga clic en el Forcebotón para forzar una compilación. Proporcione su nombre y haga clic en el Start Buildbotón para iniciar la compilación. Dado que es una prueba de compilación de muestra para verificar el entorno Buildbot, finalizará en un par de segundos. Recibirá un mensaje de éxito y el resultado de la compilación.

Cómo instalar y configurar Buildbot en CentOS 7

Configurar el servicio Systemd

Aunque el maestro y el trabajador de Buildbot pueden iniciarse fácilmente utilizando los comandos anteriores, se recomienda usar unidades Systemd para ejecutar y administrar los servicios de Buildbot. Esto asegurará que se inicien automáticamente al reiniciar el sistema y las fallas.

Nota: Cambie al sudousuario nuevamente ejecutando exito su <username>. A partir de ahora, todos los comandos deben ser ejecutados por el sudousuario.

Detenga el trabajador de Buildbot y el servicio maestro en ejecución.

sudo su buildbot -c "buildbot stop /home/buildbot/master" 
sudo su buildbot -c "buildbot-worker stop ~/worker"

Cree un nuevo archivo de unidad Systemd para el maestro Buildbot.

sudo nano /etc/systemd/system/buildbot.service

Rellene el archivo.

[Unit]
Description=BuildBot master service 
After=network.target

[Service]
Type=forking
User=buildbot 
Group=buildbot 
WorkingDirectory=/home/buildbot/master 
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart

[Install]
WantedBy=multi-user.target

Inicie el maestro Buildbot y permita que se inicie automáticamente en el momento del arranque.

sudo systemctl start buildbot
sudo systemctl enable buildbot

Cree un nuevo archivo de unidad Systemd para el trabajador de Buildbot.

sudo nano /etc/systemd/system/buildbot-worker.service

Rellene el archivo.

[Unit]
Description=BuildBot worker service
After=network.target

[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart

[Install]
WantedBy=multi-user.target

Inicie el trabajador Buildbot y permita que se inicie automáticamente en el momento del arranque.

sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker

Puede verificar el estado de los servicios.

sudo systemctl status buildbot buildbot-worker

Si los servicios se ejecutan sin problemas, lo verá en la salida.

[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.

● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.

Habilitación de autenticación

Por defecto, la autenticación no está habilitada en la interfaz web de Buildbot. Para los sitios con acceso a Internet, se recomienda encarecidamente configurar la autenticación para que solo los usuarios autorizados puedan realizar tareas administrativas. Para configurar la autenticación, vuelva a abrir el archivo de configuración maestro Buildbot.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Agregue las siguientes líneas al final del archivo.

c['www']['authz'] = util.Authz(
       allowRules = [
           util.AnyEndpointMatcher(role="admins")
       ],
       roleMatchers = [
           util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
       ]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})

Reemplace ambas ocurrencias admin_usercon el nombre de usuario real que desea usar y AdminPasswordcon una contraseña segura.

Verifique si hay errores en el archivo de configuración.

sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"

Reinicie el servicio maestro Buildbot para que los cambios surtan efecto.

sudo systemctl restart buildbot

Vuelva a explorar la interfaz web para ver que los usuarios anónimos solo pueden ver los detalles básicos sobre el servidor de compilación. Ahora, inicie sesión con las credenciales establecidas en el master.cfgarchivo y verá que todas las demás funciones administrativas solo están disponibles para el usuario administrador que inició sesión.

Asegurando Buildbot con Let's Encrypt SSL

De forma predeterminada, Buildbot escucha el puerto 8010en conexiones no seguras. HTTPSSe recomienda asegurar la interfaz web para garantizar que los datos estén seguros durante el transporte desde el navegador al servidor. En esta sección del tutorial, instalaremos y aseguraremos Nginx con los certificados SSL gratuitos Let's Encrypt. El servidor web Nginx funcionará como un proxy inverso para reenviar las solicitudes entrantes al punto final HTTP de Buildbot.

Instala Nginx.

sudo yum -y install nginx

Inicie Nginx y permita que se inicie automáticamente en el momento del arranque.

sudo systemctl start nginx
sudo systemctl enable nginx

Instale Certbot, que es la aplicación cliente para Let's Encrypt CA.

sudo yum -y install certbot

Antes de poder solicitar los certificados, deberá permitir puertos 80y / 443o estándares HTTPy HTTPSservicios a través del firewall. Además, elimine el puerto 8010, que escucha las conexiones no seguras.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload

Nota: Para obtener certificados de Let's Encrypt CA, el dominio para el que se generarán los certificados debe apuntar hacia el servidor. De lo contrario, realice los cambios necesarios en los registros DNS del 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.

Generar los certificados SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

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

Encriptemos los certificados caducan en 90 días, por lo tanto, se recomienda configurar la renovación automática de los certificados utilizando trabajos Cron.

Abra el archivo de trabajo cron para el rootusuario.

sudo crontab -e

Agregue la siguiente línea al final del archivo.

30 5 * * * /usr/bin/certbot renew --quiet

El trabajo cron anterior se ejecutará todos los días a las 5:30 a.m. Si el certificado vence, los renovará automáticamente.

Ahora, cambie el archivo de configuración predeterminado de Nginx para eliminar la default_serverlínea.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Cree un nuevo archivo de configuración para la interfaz web Buildbot.

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

Rellene el archivo.

upstream buildbot {
server 127.0.0.1:8010;
}

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

server {
    listen 443 ssl http2 default_server;
    server_name ci.example.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate         /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/ci.example.com/privkey.pem;

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

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

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

    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Server  $host;
    proxy_set_header X-Forwarded-Host  $host;

    location / {
        proxy_pass http://buildbot;
    }
    location /sse/ {
        proxy_buffering off;
        proxy_pass http://buildbot/sse/;
    }
    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://buildbot/ws;
        proxy_read_timeout 6000s;
    }
}

Verifique los errores en el nuevo archivo de configuración.

sudo nginx -t

Si ve el siguiente resultado, la configuración está libre de errores.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Si ha recibido algún tipo de error, asegúrese de verificar la ruta a los certificados SSL. Reinicie el servidor web Nginx para implementar el cambio en la configuración.

sudo systemctl restart nginx

Abra el archivo de configuración de Buildmaster.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Localiza la siguiente línea.

c['buildbotURL'] = "http://192.168.1.1:8010/"

Cambie la URL de acuerdo con el nombre de dominio que está utilizando.

c['buildbotURL'] = "https://ci.example.com/"

Reinicie el servicio maestro Buildbot.

sudo systemctl restart buildbot

Ahora puede acceder al panel de Buildbot en https://ci.example.com. Verá que las conexiones a Buildbot ahora están protegidas con SSL.

Cómo instalar y configurar Buildbot en CentOS 7

Inicie sesión con las credenciales de administrador y agregue su primer canal para comenzar a construir su aplicación.



Leave a Comment

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

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

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿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.