Instal Nexus Repository Manager di Ubuntu 20.04

Instal Nexus Repository Manager di Ubuntu 20.04

Selamat datang di tutorial kami tentang cara menginstal manajer repositori Nexus di Ubuntu 20.04. Nexus adalah pengelola repositori #1 Dunia untuk artefak bangunan. Ada dua versi manajer repositori Nexus;

  • Edisi Profesional : Kelola binari dan artefak secara universal dengan HA dan dukungan.
  • Edisi OSS : Kelola binari dan artefak secara universal secara GRATIS.

Dalam tutorial ini, kita akan berurusan dengan versi OSS dari manajer repositori Nexus.

Instal Nexus Repository Manager di Ubuntu 20.04

Ikuti langkah-langkah yang disediakan dalam panduan ini untuk menginstal manajer repositori Nexus di Ubuntu 20.04.

Persyaratan sistem

Pastikan bahwa persyaratan minimum dipenuhi oleh sistem Anda sebelum Anda dapat melanjutkan untuk menginstal manajer repositori Nexus di Ubuntu 20.04 sebagaimana diuraikan pada halaman persyaratan sistem Nexus, tautan yang disediakan di bawah.

  • CPU
  • Penyimpanan
  • Direktori sementara
  • Ruang Disk
  • Berkas sistem

Jalankan Pembaruan Sistem

Perbarui cache paket sistem;

apt update

Instal Java di Ubuntu 20.04

Manajer repositori Nexus membutuhkan Java 8 Runtime Environment (JRE). Anda dapat menginstal JDK lengkap atau hanya JRE.

Anda cukup menjalankan perintah di bawah ini untuk menginstal Java 8 di Ubuntu 20.04;

apt update

Kemudian instal Java 8;

apt install openjdk-8-jdk

Konfirmasikan versi Java yang diinstal;

java -version
openjdk version "1.8.0_282" OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08) OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

Buat Akun Sistem Nexus Khusus

Sebagai tindakan pencegahan keamanan, Nexus Repository Manager TIDAK boleh dijalankan sebagai  root user. Sebagai gantinya, buat akun sistem untuk Nexus;

useradd -M -d /opt/nexus -s /bin/bash -r nexus

Izinkan nexususer menjalankan semua perintah dengan sudo tanpa password.

echo "nexus   ALL=(ALL)       NOPASSWD: ALL" > /etc/sudoers.d/nexus

Download Nexus Repositori OSS Tarball

Selanjutnya, navigasikan ke halaman downloadan OSS repositori Nexus, daftar untuk sebuah akun dan download OSS repositori Nexus untuk tarball Unix.

Anda cukup mendapatkan tautan dan menarik tarball menggunakan perintah wget seperti yang ditunjukkan di bawah ini. Perhatikan bahwa ini mengdownload versi rilis stabil Nexus, 3.29.2-02, pada saat penulisan ini. Pastikan untuk mendapatkan tautan ke versi terbaru dari halaman downloadan.

wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gz

Instal Nexus Repository Manager di Ubuntu 20.04

Ekstrak tarball OSS Repositori Nexus

Navigasikan ke direktori tempat Anda mengdownload tarball Nexus dan ekstrak ke nexusdirektori home user, yang dalam panduan ini adalah /opt/nexus.

mkdir /opt/nexus
tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1

Memeriksa isi direktori /opt/nexus;

ls /opt/nexus
bin deploy etc lib nexus3 NOTICE.txt OSS-LICENSE.txt PRO-LICENSE.txt public system

Tetapkan kepemilikan direktori nexus yang tepat;

chown -R nexus: /opt/nexus

Sesuaikan Ukuran Stack Memori Nexus

Heap JVM minimum default untuk Nexus adalah 2037MB dengan maksimum yang disarankan adalah 4G. Jika Anda memiliki lebih sedikit memori, Anda dapat menguranginya dengan mengedit file /opt/nexus/bin/nexus.vmoptionsdan menyetel nilai yang lebih rendah, untuk tujuan demo.

vim /opt/nexus/bin/nexus.vmoptions

Ganti nilai default untuk garis;

-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m...

Untuk misalnya, untuk mengaturnya ke 1024MB;

-Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m

Simpan dan keluar dari file setelah Anda membuat perubahan.

Menjalankan Repositori Nexus di Ubuntu 20.04

Nexus menyediakan skrip startup di /opt/nexus/bin/nexus.

Untuk menjalankan Nexus dalam mode mandiri, Anda dapat menjalankan perintah ini. Namun, Anda perlu memastikan bahwa Nexus dijalankan sebagai user nexus.

Oleh karena itu, edit file /opt/nexus/bin/nexus.rcdan batalkan komentar pada baris,#run_as_user=”” dan tambahkan nexus sebagai nilainya.

sed -i 's/#run_as_user=""/run_as_user="nexus"/' /opt/nexus/bin/nexus.rc

Ubah lokasi direktori Sonatype Work (direktori data Nexus) ke lokasi di mana user nexus memiliki izin untuk menulis.

Misalnya, dalam pengaturan kami, kami menetapkan direktori home untuk Nexus sebagai /opt/nexusdan kami memberikan kepemilikan user nexus atas direktori ini.

Secara default, direktori data sonatype-work dipindahkan satu direktori ke atas, oleh karena itu, diharapkan dibuat di bawah /opt, di mana user nexus tidak memiliki izin untuk menulis.

Oleh karena itu, edit /opt/nexus/bin/nexus.vmoptions dan sesuaikan jalur direktori Nexus (dalam pengaturan di bawah, direktori diubah dari../sonatype-workuntuk./sonatype-work).

vim /opt/nexus/bin/nexus.vmoptions
-XX:LogFile=./sonatype-work/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=./sonatype-work/nexus3 -Dkaraf.log=./sonatype-work/nexus3/log -Djava.io.tmpdir=./sonatype-work/nexus3/tmp...

Selanjutnya, Anda dapat menjalankan Nexus;

sudo -u nexus /opt/nexus/bin/nexus start

Mungkin perlu beberapa saat bagi Nexus untuk memulai. Saat memulai, ekor log;

tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.log
2021-02-15 17:10:56,914+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - Initialized 2021-02-15 17:10:56,920+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Initialized 2021-02-15 17:10:56,962+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started [email protected]{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE} 2021-02-15 17:10:57,082+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started [email protected]{HTTP/1.1, (http/1.1)}{0.0.0.0:8081} 2021-02-15 17:10:57,083+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @182105ms 2021-02-15 17:10:57,083+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - ------------------------------------------------- Started Sonatype Nexus OSS 3.29.2-02 -------------------------------------------------

Nexus mendengarkan pada port TCP 8081 secara default;

netstat -altnp | grep :8081
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 2113/java

Anda sekarang seharusnya dapat mengakses interface web Nexus dari browser.

Buat Layanan Sistem Repositori Nexus

Untuk mengelola service repositori Nexus dengan mudah, buat unit service systemd untuknya seperti yang ditunjukkan di bawah ini;

cat > /etc/systemd/system/nexus.service << 'EOL' [Unit] Description=nexus
 service After=network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Restart=on-abort [Install] WantedBy=multi-user.target EOL

Selanjutnya, hentikan Nexus jika Anda sudah memulainya dengan skrip startup di atas.

/opt/nexus/bin/nexus stop

Reload konfigurasi manajer systemd;

systemctl daemon-reload

Mulai dan aktifkan service Nexus untuk berjalan pada sistem reboot;

systemctl enable --now nexus.service

Periksa status service;

systemctl status nexus
● nexus.service - nexus service Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-02-15 17:14:49 UTC; 5s ago Process: 67085 ExecStart=/opt/nexus/bin/nexus start (code=exited, status=0/SUCCESS) Main PID: 67277 (java) Tasks: 41 (limit: 4620) Memory: 442.9M CGroup: /system.slice/nexus.service └─67277 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.moduleName=/opt/nexus/bin/nexu> Feb 15 17:14:48 ubuntu20 systemd[1]: Starting nexus service... Feb 15 17:14:49 ubuntu20 nexus[67085]: Starting nexus Feb 15 17:14:49 ubuntu20 systemd[1]: Started nexus service.

Anda juga dapat memeriksa log untuk verifikasi;

tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.log

Mengakses Interface Web Repositori Nexus

Anda sekarang dapat mengakses repositori Nexus dari browser menggunakan alamat http://server-IP-or-resolvable-hostname:8081.

Jika UFW sedang berjalan, Anda perlu membuka port 8081 untuk mengizinkan akses eksternal.

ufw allow 8081/tcp

Selanjutnya, Anda dapat mengakses dari browser. Interface seperti itu akan menyambut Anda.

Siapkan Manajer Repositori Nexus

Klik tombol masuk di sudut kanan atas. Masuk sebagaiadmin. Kata sandi terletak di file, /opt/nexus/sonatype-work/nexus3/admin.password. Untuk mendapatkan password, cukup cetak isi file.

cat /opt/nexus/sonatype-work/nexus3/admin.password

Setelah Anda masuk, kliknextuntuk melanjutkan ke penyiapan Nexus.

  1. Setel ulang password admin repositori Nexus
  2. Konfigurasikan akses anonim. Anda dapat memilih untuk menonaktifkan akses anonim untuk mengamankan repositori Nexus dengan meminta user untuk mengautentikasi sebelum mereka dapat menelusuri repositori.
  3. Selesaikan penyiapan

Anda dapat mengakses pengaturan manajer repositori Nexus dengan mengklik ikon roda gigi;

Anda dapat melalui pengaturan dan membuat penyesuaian sesuai kebutuhan Anda.

Itu menandai akhir dari tutorial kami tentang cara menginstal manajer repositori Nexus di Ubuntu 20.04.

Bacaan lebih lanjut

Baca selengkapnya tentang Nexus dan penyiapannya di halaman dokumentasi Nexus Repository Manager 3.

Halaman dokumentasi Nexus Repository Manager 3

Tutorial lainnya

Instal dan atur GVM 20.08 di Debian 10

Instal Signal Messenger di Ubuntu 20.04

Instal NoMachine di Ubuntu 20.04

Instal dan Setup GVM 20.08 di Ubuntu 20.04

Instal Nexus Repository Manager di Debian 10