Instalación de Sonatype Nexus Repository OSS en CentOS 7
Sonatype Nexus es un administrador de repositorio popular utilizado en todo el mundo para la mayoría de los componentes, binarios y artefactos de compilación. Viene con soporte para el ecosistema Java Virtual Machine (JVM), incluidos Gradle, Ant, Maven e Ivy.
Compatible con herramientas estándar que incluyen Eclipse, IntelliJ, Hudson, Jenkins, Puppet, Chef, Docker, etc., el repositorio de Sonatype Nexus puede administrar componentes de desarrollo a través de la entrega de contenedores binarios, ensamblajes y productos terminados.
En este tutorial, le proporcionaremos una guía completa sobre cómo configurar la versión OSS del repositorio Sonatype Nexus en CentOS 7.
- Instalación de Sonatype Nexus Repository OSS en CentOS 7
- 1. Preinstalación
- 2. Descarga Nexus Repository Manager 3
- 3. Establecer usuario / permisos y configuraciones
- 4. Configura Nexus como servicio del sistema
- 5. Configure Nginx
- 6. Establezca registros DNS para los servidores.
- 7. Configure SSL usando certbot
- 8. Establecer reglas de firewall
- 9. Configure la política de SELinux para Nginx
- 10. Navegue por el sitio web con su nombre de dominio.
- 11. Inicie sesión en el servidor.
Instalación de Sonatype Nexus Repository OSS en CentOS 7
Antes de comenzar el tutorial, veamos los requisitos mínimos del sistema para ejecutar Sonatype Nexus Repo.
Requisitos del sistema
- CPU mínimas: 4, CPU recomendadas: 8+
- Mínimo físico / RAM en el host 8GB
1. Preinstalación
Comience configurando el nombre de host.
hostnamectl set-hostname nexus
Actualice su sistema CentOS.
yum update -y
Instale Java usando el siguiente comando:
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Una vez completada la instalación, verifique la versión de Java para asegurarse de que esté listo para ir al siguiente paso de descarga del Repo.
java -version
2. Descarga Nexus Repository Manager 3
Navegue al directorio opt:
cd /opt
Copie la última URL del Repo del sitio web oficial y luego descárguela usando wget.
wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
Extraiga el archivo tar.
tar -xvzf latest-unix.tar.gz
Debería ver dos directorios, incluidos los archivos nexus y el directorio de datos nexus.
ls -lh
Cambie el nombre de las carpetas.
mv nexus-3.20.1-01 nexus
mv sonatype-work nexusdata
3. Establecer usuario / permisos y configuraciones
I. Agregar un usuario para un servicio nexus.
useradd --system --no-create-home nexus
II. Establezca la propiedad de los archivos nexus y los datos nexus.
chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/nexusdata
III. Cambiar la configuración de Nexus y establecer el directorio de datos personalizado
Edite "nexus.vmoptions".
vim /opt/nexus/bin/nexus.vmoptions
Cambie el directorio de datos.
-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=../nexusdata/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../nexusdata/nexus3 -Dkaraf.log=../nexusdata/nexus3/log -Djava.io.tmpdir=../nexusdata/nexus3/tmp -Dkaraf.startLocalConsole=false
Guardar y salir del archivo.
IV. Cambie el usuario de la cuenta de servicio nexus.
Edite el archivo "nexus.rc".
vim /opt/nexus/bin/nexus.rc
Descomente el parámetro "run_as_user" y agregue un nuevo valor.
run_as_user="nexus"
V. Deje de escuchar conexiones remotas.
Necesitamos modificar el archivo "nexus-default.properties".
vim /opt/nexus/etc/nexus-default.properties
Cambie application-host = 0.0.0.0 a application-host = 127.0.0.1.
VI. Configure el límite de archivos abiertos del usuario nexus.
vim /etc/security/limits.conf
Agregue los siguientes valores al archivo.
nexus - nofile 65536
Guarde y el archivo de salida.
4. Configura Nexus como servicio del sistema
Cree el archivo de servicio Systemd en “/ etc / systemd / system /”.
vim /etc/systemd/system/nexus.service
Agregue lo siguiente al archivo.
[Unit] Description=Nexus Service After=syslog.target network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Group=nexus Restart=on-failure [Install] WantedBy=multi-user.target
Recargar systemctl.
systemctl daemon-reload
Habilite el servicio al arrancar el sistema.
systemctl enable nexus.service
Comienza el servicio.
systemctl start nexus.service
Supervise el archivo de registro.
tail -f /opt/nexusdata/nexus3/log/nexus.log
Verifique el puerto de servicio.
netstat -tunlp | grep 8081
5. Configure Nginx
Configurar repositorios epel.
yum install -y epel-release
Enumere los repositorios.
yum repolist
Instale Nginx.
yum install nginx
configurar nginx en el arranque del sistema
systemctl enable nginx
verifique el estado de Nginx e inicie el servicio si el servicio no se está ejecutando.
systemctl status nginx
systemctl start nginx
6. Establezca registros DNS para los servidores.
Luego vaya a su administrador de DNS y agregue un registro para su servidor.
A Domain Name Server IP
Aquí hemos utilizado la ruta 53 de AWS para configurar nuestro DNS.
7. Configure SSL usando certbot
I. Primero instale los paquetes de certbot.
yum install certbot python2-certbot-nginx
II. Instale certificados.
certbot --nginx
Hará algunas preguntas e ingresará el correo electrónico, el nombre de dominio y las entradas necesarias de la siguiente manera.
Una vez finalizada la instalación, abra nginx.conf.
vim /etc/nginx/nginx.conf
Puede ver la configuración SSL de certbot.
III. Agregar pase de proxy
Agregue el siguiente contenido a los Bloques de ubicación.
location / { proxy_pass "http://127.0.0.1:8081"; 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-Ssl on; proxy_read_timeout 300; proxy_connect_timeout 300; }
Guardar y salir del archivo.
Verifique la sintaxis de nginx:
nginx -t
Reinicie Nginx:
systemctl restart nginx
8. Establecer reglas de firewall
Ahora habilite el acceso https a una IP pública específica. Ejecute el siguiente comando.
firewall-cmd --permanent --zone=public --add-rich-rule=" rule family="ipv4" source address="123.44.8.180/32" port protocol="tcp" port="443" accept"
Si necesita abrir https para ejecutar públicamente el siguiente comando:
firewall-cmd --zone=public --permanent --add-service=https
Vuelva a cargar el cortafuegos.
firewall-cmd --reload
9. Configure la política de SELinux para Nginx
setsebool -P httpd_can_network_connect 1
eg: https://nexusrepo.fosslinux.com/
11. Inicie sesión en el servidor.
Inicie sesión con el nombre de usuario predeterminado como "admin". Ejecute el siguiente comando en el servidor y obtenga la contraseña.
cat /opt/nexusdata/nexus3/admin.password
Después del primer inicio de sesión, debería ver una ventana similar, como se muestra a continuación.
Haga clic en siguiente y configure una nueva contraseña para el usuario administrador.
Nuevamente, haga clic en siguiente y debería ver la ventana "Configurar acceso anónimo". No habilite el acceso anónimo.
Haga clic en el botón Siguiente y podrá ver la configuración completa.
Haga clic en el acabado.
Se trata de instalar Sonatype Nexus Repository OSS en su CentOS 7.
Deja una respuesta