GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalación de Sonatype Nexus Repository OSS en CentOS 7

Sonatype Nexus es un administrador de repositorio popular que se utiliza en todo el mundo para la mayoría de los componentes, archivos 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 como 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 de Sonatype Nexus Repository en CentOS 7.

Instalación del OSS del repositorio Sonatype Nexus 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+
  • Física/RAM mínima en el host 8GB

1. Preinstalación

Comience con la configuración del 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 URL más reciente 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ías ver dos directorios, incluidos los archivos de nexus y el directorio de datos de 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 de nexo.

useradd --system --no-create-home nexus

II. Establezca la propiedad de los archivos y datos de nexus.

chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/nexusdata

tercero Cambie la configuración de Nexus y configure el directorio de datos personalizado

Edite "nexus.vmoptions".

vim /opt/nexus/bin/nexus.vmoptions

Cambia 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

Guarde y salga del archivo.

IV. Cambia el usuario de la cuenta de servicio de 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. Deja 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

Guardar y salir del archivo.

4. Establecer Nexus como un servicio del sistema

Cree el archivo de servicio de 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 en el arranque del sistema.

systemctl enable nexus.service

Iniciar servicio.

systemctl start nexus.service

Supervise el archivo de registro.

tail -f /opt/nexusdata/nexus3/log/nexus.log

Compruebe el puerto de servicio.

netstat -tunlp | grep 8081

5. Configurar Nginx

Configurar repositorios de epel.

yum install -y epel-release

Enumere los repositorios.

yum repolist

Instala Nginx.

yum install nginx

establecer 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. Establecer 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. Configurar SSL usando certbot

I. Instale primero los paquetes de certbot.

yum install certbot python2-certbot-nginx

II. Instalar 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.

tercero Agregar pase de proxy

Agregue los siguientes contenidos 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;

 }

Guarde y salga del archivo.

Compruebe la sintaxis de nginx:

nginx -t

Reiniciar Nginx:

systemctl restart nginx

8. Establecer reglas de cortafuegos

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 en público, ejecute el siguiente comando:

firewall-cmd --zone=public --permanent --add-service=https

Vuelva a cargar el cortafuegos.

firewall-cmd --reload

9. Configurar la política de SELinux para Nginx

setsebool -P httpd_can_network_connect 1

10. Navegue por el sitio web usando su nombre de dominio

eg: https://nexusrepo.fosslinux.com/

11. Iniciar 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 final.

Se trata de instalar Sonatype Nexus Repository OSS en su CentOS 7.


Cent OS
  1. Instalación de Tomcat 8 en Centos 6

  2. Instalación de MariaDB en CentOS 7

  3. Instalación de PhpMydmin (Centos o Ubuntu)

  4. Instalación de PostgreSQL y phpPgAdmin en CentOS

  5. Instalación de PhpMydmin (Centos o Ubuntu)

Cómo instalar phpMyAdmin en CentOS 8

Cómo configurar un repositorio local de Yum/DNF en CentOS 8

Cómo habilitar el repositorio EPEL en CentOS 8

Cómo habilitar el repositorio REMI en CentOS 8

Instalación de Apache y PHP en CentOS 8

Cómo instalar el repositorio REMI en CentOS 8