GNU/Linux >> Linux Esercitazione >  >> Cent OS

Installazione di Sonatype Nexus Repository OSS su CentOS 7

Sonatype Nexus è un popolare gestore di repository utilizzato in tutto il mondo per la maggior parte dei componenti, dei binari e degli artefatti di build. Viene fornito con il supporto per l'ecosistema Java Virtual Machine (JVM), inclusi Gradle, Ant, Maven e Ivy.

Compatibile con strumenti standard tra cui Eclipse, IntelliJ, Hudson, Jenkins, Puppet, Chef, Docker, ecc., il repository Sonatype Nexus può gestire i componenti di sviluppo tramite la consegna di contenitori binari, assiemi e prodotti finiti.

In questo tutorial, ti forniremo una guida completa sulla configurazione della versione Sonatype Nexus Repository OSS su CentOS 7.

Installazione di Sonatype Nexus Repository OSS su CentOS 7

Prima di iniziare il tutorial, diamo un'occhiata ai requisiti minimi di sistema per l'esecuzione di Sonatype Nexus Repo.

Requisiti di sistema

  • CPU minime:4, CPU consigliate:8+
  • Minimo fisico/RAM sull'host 8 GB

1. Preinstallazione

Inizia con l'impostazione del nome host.

hostnamectl set-hostname nexus

Aggiorna il tuo sistema CentOS.

 yum update -y

Installa Java usando il seguente comando:

yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Al termine dell'installazione, controlla la versione java per assicurarti di essere pronto per passare al passaggio successivo del download del Repo.

java -version

2. Scarica Nexus Repository Manager 3

Vai alla directory opt:

cd /opt

Copia l'ultimo URL del Repo dal sito Web ufficiale e quindi scaricalo utilizzando wget.

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

Estrai il file tar.

tar -xvzf latest-unix.tar.gz

Dovresti vedere due directory, inclusi i file nexus e la directory dei dati nexus.

ls -lh

Rinomina le cartelle.

mv nexus-3.20.1-01 nexus
mv sonatype-work nexusdata

3. Imposta Utente/Autorizzazioni e Configurazioni

I. Aggiungi un utente per un servizio nexus.

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

II. Imposta la proprietà per i file nexus e i dati nexus.

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

III. Modifica la configurazione del Nexus e imposta la directory dei dati personalizzata

Modifica "nexus.vmoptions".

vim /opt/nexus/bin/nexus.vmoptions

Cambia la directory dei dati.

-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

Salva ed esci dal file.

IV. Modifica l'utente per l'account del servizio nexus.

Modifica il file "nexus.rc".

vim /opt/nexus/bin/nexus.rc

Decommenta il parametro "run_as_user" e aggiungi un nuovo valore.

run_as_user="nexus"

V. Smetti di ascoltare le connessioni remote.

Dobbiamo modificare il file "nexus-default.properties".

vim /opt/nexus/etc/nexus-default.properties

Cambia application-host=0.0.0.0 in application-host=127.0.0.1.

VI. Configura il limite di file aperti dell'utente nexus.

vim /etc/security/limits.conf

Aggiungi i seguenti valori al file.

nexus - nofile 65536

Salva ed esci dal file.

4. Imposta Nexus come servizio di sistema

Crea il file del servizio Systemd in “/etc/systemd/system/”.

vim /etc/systemd/system/nexus.service

Aggiungi quanto segue al file.

[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

Ricarica sistemactl.

systemctl daemon-reload

Abilita il servizio all'avvio del sistema.

systemctl enable nexus.service

Avvia il servizio.

systemctl start nexus.service

Monitora il file di registro.

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

Controlla la porta di servizio.

netstat -tunlp | grep 8081

5. Configura Nginx

Imposta repository epel.

yum install -y epel-release

Elenca i repository.

yum repolist

Installa Nginx.

yum install nginx

imposta nginx all'avvio del sistema

systemctl enable nginx

controlla lo stato di Nginx e avvia il servizio se il servizio non è in esecuzione.

systemctl status nginx
systemctl start nginx

6. Imposta i record DNS per i server.

Quindi vai al tuo gestore DNS e aggiungi un record per il tuo server.

A Domain Name Server IP

Qui abbiamo utilizzato la route 53 di AWS per configurare il nostro DNS.

7. Configura SSL utilizzando certbot

I. Installa prima i pacchetti certbot.

yum install certbot python2-certbot-nginx

II. Installa i certificati.

certbot --nginx

Chiederà alcune domande e inserirà e-mail, nome di dominio e input necessari come segue.

Al termine dell'installazione, apri nginx.conf.

vim /etc/nginx/nginx.conf

Puoi vedere la configurazione SSL di certbot.

III. Aggiungi il pass proxy

Aggiungi i seguenti contenuti a Blocchi posizioni.

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;

 }

Salva ed esci dal file.

Controlla la sintassi di nginx:

nginx -t

Riavvia Nginx:

systemctl restart nginx

8. Imposta le regole del firewall

Ora abilita l'accesso https a un IP pubblico specifico. Esegui il comando seguente.

firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="123.44.8.180/32"
port protocol="tcp" port="443" accept'

Se hai bisogno di aprire https al pubblico, esegui il comando seguente:

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

Ricarica il firewall.

firewall-cmd --reload

9. Imposta la politica di SELinux per Nginx

setsebool -P httpd_can_network_connect 1

10. Naviga nel sito web utilizzando il tuo nome di dominio

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

11. Accedi al server

Accedi con il nome utente predefinito come "admin". Esegui il comando sotto nel server e ottieni la password.

cat /opt/nexusdata/nexus3/admin.password

Dopo il primo accesso, dovresti vedere una finestra simile, come mostrato di seguito.

Fare clic su Avanti e impostare una nuova password per l'utente amministratore.

Ancora una volta, fai clic su Avanti e dovresti vedere la finestra "Configura accesso anonimo". Non abilitare l'accesso anonimo.

Fai clic sul pulsante Avanti e puoi vedere la configurazione completa.

Clicca sul traguardo.

Si tratta di installare Sonatype Nexus Repository OSS su CentOS 7.


Cent OS
  1. Installazione di PhpMydmin (Centos o Ubuntu)

  2. Come installare Fail2Ban su CentOS 7

  3. Installazione di WSO2 API Manager su CentOS

  4. Il proprietario del file Centos è cambiato durante la modifica?

  5. Installazione di Redmine su un VPS CentOS 6

Come installare phpMyAdmin su CentOS 8

Come configurare un repository Yum/DNF locale su CentOS 8

Come abilitare il repository EPEL su CentOS 8

Come abilitare il repository REMI su CentOS 8

Installazione di Apache e PHP su CentOS 8

Come installare il repository REMI su CentOS 8