Sonatype Nexus adalah manajer repositori populer yang digunakan di seluruh dunia untuk sebagian besar komponen, binari, dan artefak build. Muncul dengan dukungan untuk ekosistem Java Virtual Machine (JVM), termasuk Gradle, Ant, Maven, dan Ivy.
Kompatibel dengan alat standar termasuk Eclipse, IntelliJ, Hudson, Jenkins, Puppet, Chef, Docker, dll., repo Sonatype Nexus dapat mengelola komponen dev melalui pengiriman untuk wadah binari, rakitan, dan barang jadi.
Dalam tutorial ini, kami akan memberikan Anda panduan komprehensif tentang pengaturan versi OSS Repositori Nexus Sonatype di CentOS 7.
Menginstal OSS Repositori Nexus Sonatype di CentOS 7
Sebelum memulai tutorial, mari kita lihat persyaratan sistem minimum untuk menjalankan Sonatype Nexus Repo.
Persyaratan sistem
- CPU Minimum:4, CPU yang Direkomendasikan:8+
- Minimum fisik/RAM pada host 8 GB
1. Pra-instalasi
Mulailah dengan menyetel Nama Inang.
hostnamectl set-hostname nexus
Perbarui sistem CentOS Anda.
yum update -y
Instal Java menggunakan perintah berikut:
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Setelah instalasi selesai, periksa versi java untuk memastikan Anda siap untuk melanjutkan ke langkah berikutnya mengunduh Repo.
java -version
2. Unduh Nexus Repository Manager 3
Arahkan ke direktori opt:
cd /opt
Salin URL Repo terbaru dari situs web resmi, lalu unduh menggunakan wget.
wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
Ekstrak file tar.
tar -xvzf latest-unix.tar.gz
Anda akan melihat dua direktori, termasuk file nexus dan direktori data nexus.
ls -lh
Ganti nama folder.
mv nexus-3.20.1-01 nexus
mv sonatype-work nexusdata
3. Atur Pengguna/Izin dan Konfigurasi
I. Menambahkan pengguna untuk layanan nexus.
useradd --system --no-create-home nexus
II. Setel kepemilikan untuk file nexus dan data nexus.
chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/nexusdata
AKU AKU AKU. Ubah konfigurasi Nexus dan setel direktori data khusus
Edit “nexus.vmoptions”.
vim /opt/nexus/bin/nexus.vmoptions
Ubah direktori data.
-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
Simpan dan keluar dari file.
IV. Ubah pengguna untuk akun layanan nexus.
Edit file “nexus.rc”.
vim /opt/nexus/bin/nexus.rc
Batalkan komentar parameter “run_as_user” dan tambahkan nilai baru.
run_as_user="nexus"
V. Berhenti mendengarkan koneksi jarak jauh.
Kita perlu memodifikasi file “nexus-default.properties”.
vim /opt/nexus/etc/nexus-default.properties
Ubah application-host=0.0.0.0 menjadi application-host=127.0.0.1.
VI. Konfigurasikan batas file terbuka pengguna nexus.
vim /etc/security/limits.conf
Tambahkan nilai di bawah ini ke file.
nexus - nofile 65536
Simpan dan keluar file.
4. Setel Nexus sebagai Layanan Sistem
Buat file layanan Systemd di “/etc/systemd/system/”.
vim /etc/systemd/system/nexus.service
Tambahkan yang berikut ini ke 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
Muat ulang systemctl.
systemctl daemon-reload
Aktifkan layanan pada boot sistem.
systemctl enable nexus.service
Mulai layanan.
systemctl start nexus.service
Pantau file log.
tail -f /opt/nexusdata/nexus3/log/nexus.log
Periksa port layanan.
netstat -tunlp | grep 8081
5. Siapkan Nginx
Siapkan Repositori epel.
yum install -y epel-release
Buat daftar repositori.
yum repolist
Instal Nginx.
yum install nginx
setel nginx pada boot sistem
systemctl enable nginx
periksa status Nginx dan mulai layanan jika layanan tidak berjalan.
systemctl status nginx
systemctl start nginx
6. Tetapkan catatan DNS untuk server.
Kemudian buka pengelola DNS Anda dan tambahkan A record untuk server Anda.
A Domain Name Server IP
Di sini kami telah menggunakan AWS route 53 untuk menyiapkan DNS kami.
7. Konfigurasi SSL menggunakan certbot
I. Instal paket certbot terlebih dahulu.
yum install certbot python2-certbot-nginx
II. Instal sertifikat.
certbot --nginx
Ini akan mengajukan beberapa pertanyaan dan memasukkan email, nama domain, dan input yang diperlukan sebagai berikut.
Setelah instalasi selesai, buka nginx.conf.
vim /etc/nginx/nginx.conf
Anda dapat melihat konfigurasi SSL certbot.
AKU AKU AKU. Tambahkan kartu proxy
Tambahkan konten berikut ke Blok Lokasi.
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; }
Simpan dan keluar dari file.
Periksa sintaks nginx:
nginx -t
Mulai ulang Nginx:
systemctl restart nginx
8. Tetapkan aturan firewall
Sekarang aktifkan akses https ke IP publik tertentu. Jalankan perintah di bawah ini.
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="123.44.8.180/32" port protocol="tcp" port="443" accept'
Jika Anda perlu membuka https untuk menjalankan perintah publik di bawah ini:
firewall-cmd --zone=public --permanent --add-service=https
Muat ulang firewall.
firewall-cmd --reload
9. Siapkan kebijakan SELinux untuk Nginx
setsebool -P httpd_can_network_connect 1
10. Jelajahi situs web menggunakan nama domain Anda
eg: https://nexusrepo.fosslinux.com/
11. Masuk ke server
Masuk dengan nama pengguna default sebagai "admin." Jalankan perintah di bawah ini di server dan dapatkan kata sandinya.
cat /opt/nexusdata/nexus3/admin.password
Setelah login pertama, Anda akan melihat jendela serupa, seperti yang ditunjukkan di bawah ini.
Klik berikutnya dan siapkan kata sandi baru untuk pengguna admin.
Sekali lagi, klik next, dan Anda akan melihat jendela "Configure Anonymous Access". Jangan aktifkan Akses Anonim.
Klik tombol Berikutnya, dan Anda dapat melihat penyiapan lengkapnya.
Klik selesai.
Itu saja tentang menginstal Sonatype Nexus Repository OSS di CentOS 7.