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
GoCD es un sistema de automatización y entrega continua de código abierto. Le permite modelar flujos de trabajo complejos utilizando su ejecución paralela y secuencial. Su mapa de flujo de valor le permite visualizar fácilmente un flujo de trabajo complejo con facilidad. GoCD le permite comparar fácilmente dos compilaciones e implementar cualquier versión de la aplicación que desee. El ecosistema GoCD consta de un servidor GoCD y un agente GoCD. GoCD es responsable de controlar todo, como ejecutar la interfaz de usuario basada en la web y administrar y proporcionar trabajos al agente. Los agentes de Go son responsables de ejecutar los trabajos y las implementaciones.
Para este tutorial, lo utilizaremos 192.168.1.1
como la dirección IP pública y gocd.example.com
como 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 Java.
GoCD requiere la versión 8 de Java y es compatible con Oracle Java y OpenJDK. En este tutorial, instalaremos Java 8 desde OpenJDK.
OpenJDK se puede instalar fácilmente, ya que el paquete está disponible en el YUM
repositorio predeterminado .
sudo yum -y install java-1.8.0-openjdk-devel
Si Java está instalado correctamente, podrá verificar su versión.
java -version
Obtendrá un resultado similar al siguiente texto.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Antes de que podamos seguir adelante, tendremos que configurar los JAVA_HOME
y las JRE_HOME
variables de entorno. Encuentre la ruta absoluta del ejecutable Java en su sistema.
readlink -f $(which java)
El siguiente texto se enviará a su terminal.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
Ahora, configure las variables de entorno JAVA_HOME
y de JRE_HOME
acuerdo con la ruta del directorio Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Nota: Asegúrese de utilizar la ruta de Java obtenida en su sistema. La ruta utilizada en este tutorial puede cambiar cuando se lanza una nueva versión de Java 8.
Ejecuta el bash_profile
archivo.
source ~/.bash_profile
Ahora puede ejecutar el echo $JAVA_HOME
comando para asegurarse de que la variable de entorno esté configurada.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD está escrito en Java, por lo tanto, Java es la única dependencia para ejecutar GoCD. GoCD se puede instalar con la ayuda de YUM
. Instale su repositorio oficial en el sistema.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Instale el servidor GoCD en su sistema.
sudo yum install -y go-server
Inicie GoCD y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start go-server
sudo systemctl enable go-server
Antes de acceder al panel de GoCD, creemos un nuevo directorio para almacenar los artefactos. Los artefactos se pueden almacenar en el mismo disco en el que están instalados el sistema operativo y las aplicaciones. Alternativamente, puede usar un disco dedicado o una unidad de almacenamiento en bloque para almacenar los artefactos.
Si desea utilizar el mismo disco para almacenar los artefactos, simplemente cree un nuevo directorio y proporcione la propiedad al usuario de GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
El software GoCD recomienda usar una partición o unidad adicional para almacenar los artefactos. En una plataforma de integración y entrega continua, los artefactos se generan con mucha frecuencia. El espacio en disco disminuye con el tiempo cuando se generan continuamente nuevos artefactos. En algún momento, su sistema se quedará sin espacio libre en disco y los servicios que se ejecutan en su sistema fallarán. Para superar este problema, puede adjuntar una nueva unidad de almacenamiento de bloques Vultr para almacenar los artefactos. Si aún desea continuar con el almacenamiento de artefactos en la misma unidad, vaya a la sección "Configuración del firewall".
Implemente una nueva unidad de almacenamiento en bloque y conéctela a su instancia de servidor GoCD. Ahora cree una nueva partición en el dispositivo de almacenamiento en bloque.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Cree el sistema de archivos en el nuevo disco.
sudo mkfs.ext4 /dev/vdb1
Monte la unidad de almacenamiento en bloque.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Ahora, ejecute df
, y verá la nueva unidad de almacenamiento en bloque montada /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Proporcione la propiedad del directorio al usuario de GoCD.
sudo chown -R go:go /mnt/artifacts
Cambie la configuración del firewall para permitir puertos 8153
y a 8154
través del firewall. El puerto 8153
escucha las conexiones no seguras y el puerto las 8154
conexiones seguras.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Ahora puede acceder al panel de GoCD activado http://192.168.1.1:8153
. Para acceder al panel de GoCD en una conexión segura, acceda https://192.168.1.1:8154
. Recibirá algún error que muestra que los certificados no son válidos. Puede ignorar el error de forma segura ya que los certificados son autofirmados. Por razones de seguridad, siempre debe usar el tablero sobre una conexión segura.
Antes de configurar una nueva tubería, navegue hasta " Admin >> Server Configuration
" desde la barra de navegación superior.
Ingrese la URL a su sitio no Site URL
seguro en el campo " " y sitio seguro en el Secure Site URL
campo " ".
A continuación, proporcione los detalles de su servidor SMTP para enviar notificaciones por correo electrónico desde GoCD.
Finalmente, proporcione la ruta a la ubicación donde desea almacenar los artefactos. Si ha elegido almacenar los artefactos en el mismo disco que el sistema operativo, ingrese /opt/artifacts
; Si ha elegido conectar una unidad de almacenamiento en bloque, puede ingresar /mnt/artifacts
.
Además, puede configurar GoCD para eliminar automáticamente los artefactos antiguos. Configure la siguiente opción según el tamaño de su disco. Sin embargo, la opción de eliminación automática no realiza una copia de seguridad de sus artefactos antiguos. Para realizar una copia de seguridad manualmente y luego eliminar los artefactos antiguos, desactive la eliminación automática seleccionando la Never
opción " " para la Auto delete old artifacts
opción " ".
Deberá reiniciar el servidor GoCD para que se apliquen los nuevos cambios.
sudo systemctl restart go-server
De manera predeterminada, el panel de GoCD no está configurado para usar ningún tipo de autenticación, pero admite la autenticación mediante un archivo de contraseña y LDAP. En este tutorial, configuraremos la autenticación basada en contraseña.
Nota : La configuración de la autenticación es un paso opcional, pero se recomienda encarecidamente para los servidores públicos, como Vultr.
Instale las herramientas de Apache para que podamos usar el htpasswd
comando para crear un archivo de contraseña cifrado.
sudo yum -y install httpd-tools
Cree un archivo de contraseña con el htpasswd
comando utilizando el cifrado Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Proporcione la contraseña para el usuario dos veces. Verá el siguiente resultado.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Puede agregar tantos usuarios como desee utilizando el mismo comando anterior, pero eliminando la -c
opción. La -c
opción reemplazará el archivo existente, reemplazando a los usuarios antiguos con el nuevo usuario.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Desde entonces, hemos creado el archivo de contraseña, acceda nuevamente al panel de GoCD. Navegue a " Admin >> Security >> Authorization Configurations
" desde la barra de navegación superior. Haga clic en el Add
botón y proporcione una identificación. Elija " Password File Authentication Plugin for GoCD
" para la ID del complemento y dirija la ruta al archivo de contraseña. Ahora haga clic en el Check Connection
botón " " para verificar que GoCD pueda usar el archivo de contraseña para la autenticación.
Finalmente, guarde el método de autenticación. Vuelva a cargar el tablero y se cerrará automáticamente. Verá una pantalla de inicio de sesión ahora. Inicie sesión con las credenciales creadas anteriormente.
Deberá promocionar al usuario administrador manualmente, de lo contrario, todos los usuarios tendrán privilegios de administrador. Navegue a " Admin >> User Summary
" desde la barra de navegación superior.
Ahora seleccione el usuario administrador que ha creado y haga clic en el Roles
menú desplegable " ". Promocione al usuario al único administrador seleccionando la Go System Administrator
casilla de verificación " ".
Para agregar los usuarios en GoCD creados en el archivo de contraseña, haga clic en el ADD
botón " " y busque el usuario para agregarlos. Los usuarios también se agregan automáticamente al panel de GoCD en su primer inicio de sesión. Obviamente, para que los usuarios inicien sesión, deben agregarse al archivo de contraseña que hemos creado anteriormente.
Por defecto, GoCD escucha puertos 8153
y 8154
conexiones seguras. Aunque el puerto 8154
proporciona una conexión segura a la aplicación, también muestra errores del navegador, ya que utiliza un certificado autofirmado. En esta sección del tutorial, instalaremos y aseguraremos Nginx con el certificado SSL gratuito Let's Encrypt. El servidor web Nginx funcionará como un proxy inverso para reenviar las solicitudes entrantes al punto HTTP
final de GoCD .
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 que pueda solicitar certificados, deberá permitir puertos 80
y 443
/ o estándares HTTP
y HTTPS
servicios, a través del firewall. Además, elimine el puerto 8153
, 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=8153/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 gocd.example.com
Es probable que los certificados generados se almacenen en /etc/letsencrypt/live/gocd.example.com/
. El certificado SSL se almacenará como fullchain.pem
y la clave privada se almacenará como privkey.pem
.
Encriptemos los certificados caducan en 90 días, por lo que se recomienda configurar la renovación automática de los certificados mediante trabajos cron.
Abra el archivo de trabajo cron.
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, se renovará automáticamente.
Ahora, cambie el archivo de configuración predeterminado de Nginx para eliminar la default_server
línea.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Cree un nuevo archivo de configuración para la interfaz web GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
Rellene el archivo.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.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/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Verifique si hay 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
Ahora puede acceder al panel de GoCD en https://gocd.example.com
. Inicie sesión en su tablero con las credenciales de administrador y navegue hasta " Admin >> Server Configuration
" desde la barra de navegación superior.
Establezca " Site URL
" y " Secure Site URL
" en https://gocd.example.com
. El puerto 8154
aún debe ser accesible a través del firewall para que los agentes remotos puedan conectarse al servidor a través del puerto 8154
, en caso de que no puedan conectarse a través del HTTP
puerto estándar .
En el entorno de integración continua de GoCD, los agentes de GoCD son los trabajadores responsables de la ejecución de todas las tareas. Cuando se detecta un cambio en la fuente, se activa la canalización y los trabajos se asignan a los trabajadores disponibles para su ejecución. El agente ejecuta la tarea e informa el estado final después de la ejecución.
Para ejecutar una canalización, se debe configurar al menos un agente. Proceda a instalar el agente GoCD en el servidor GoCD.
Como ya hemos importado el repositorio GoCD en el servidor, podemos instalar directamente Go Agent.
sudo yum install -y go-agent
Ahora, inicie el servidor GoCD y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start go-agent
sudo systemctl enable go-agent
El agente GoCD que se ejecuta en el host local se habilita automáticamente cuando se detecta.
¿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
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.
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
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
¿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
¿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
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
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
¿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.
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
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
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
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
¿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.
¿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:
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
¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo
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
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
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
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, 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.
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+
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.
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
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.
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
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.