Nexusインストール · 2 min read · Oct 09, 2025

Ubuntu 22.04にNexusリポジトリマネージャーをインストールする方法

Nexusは、DevOpsの世界で最も人気のあるリポジトリマネージャーの1つです。ビルドアーティファクトを保存および取得することを可能にし、Visual StudioやJenkinsなどのCIおよびIDE統合ツールを介してアーティファクトをプッシュおよびプルする機能も提供します。

Nexusリポジトリマネージャーには、商用版とオープンソース版の2つのバージョンがあります。PyPi、Docker、Yum、APT、Helm、npm、Go、Rなど、非常に多くのフォーマットをサポートしています。

Nexusをリポジトリとして使用することで、開発者は中央集権的なリポジトリマネージャーでパッケージを取得および管理でき、開発者チームにとってすべてのパッケージの真実の唯一のソースを提供します。

このチュートリアルでは、Ubuntu 22.04サーバーにNexusリポジトリマネージャーをインストールする方法を説明します。このチュートリアルには、リバースプロキシとして使用されるJava OpenJDKおよびNginxウェブサーバーなどのいくつかのパッケージのインストールも含まれています。

前提条件

始める前に、以下の要件が必要です:

  • Ubuntu 22.04サーバー。
  • sudo/管理者が有効な非ルートユーザー。
  • UbuntuサーバーのIPアドレスを指すドメイン名(本番用)。

Java OpenJDK 8のインストール

NexusリポジトリマネージャーにはJava OpenJDKおよびJRE v8が必要です。デフォルトのUbuntuリポジトリは複数のJavaバージョンを提供しているため、UbuntuリポジトリからJava OpenJDKおよびJRE v8をインストールします。

パッケージをインストールする前に、以下のaptコマンドを実行してリポジトリのパッケージインデックスを更新およびリフレッシュします。

sudo apt update

次に、以下のaptコマンドを使用してJava OpenJDK 8をインストールします。インストールの確認を求められたらYを入力し、ENTERを押して続行します。

sudo apt install openjdk-8-jdk

install java

Javaがインストールされたら、以下のコマンドを使用してシステム上のJavaバージョンを確認します。

java -version

以下のスクリーンショットに出力が表示されます:

check java

システムの設定

Nexusをインストールするには、有効なシェルを持つ新しい専用のLinuxユーザーを作成し、ハードおよびソフトリミットの最大オープンファイルを「 65536 」に設定する必要があります。

以下のコマンドを実行して、名前「 nexus 」のNexus専用の新しいユーザーを作成します。

sudo useradd -d /opt/nexus -s /bin/bash nexus  
sudo passwd nexus

次に、以下のコマンドを使用してulimitを「 65536 」に設定します。これは、現在のシステムで一時的にのみ影響します。これを永続的にするには、次のステップで行う新しい設定ファイルを作成できます。

ulimit -n 65536

ulimitを永続的に設定するには、nanoエディタを使用して新しい設定ファイル「 /etc/security/limits.d/nexus.conf 」を作成します。

sudo nano /etc/security/limits.d/nexus.conf

ファイルに以下の設定を追加します。この例では、特定のユーザー「 nexus 」のためにulimitを「 65536 」に設定しています。

nexus - nofile 65536

終了したら、ファイルを保存してエディタを終了します。

setup ulimit

すべての基本要件が整い、設定されたら、UbuntuシステムにNexusリポジトリマネージャーをインストールする準備が整いました。

Nexusリポジトリマネージャーのインストール

Nexusリポジトリマネージャーは、公式のSonatypeダウンロードページからダウンロードできるディストリビューションパッケージを介してインストールできます。この執筆時点でのNexusの最新バージョンはv3.41.1です。次に、Nexusリポジトリマネージャーのディストリビューションパッケージをダウンロードし、Nexusのインストールを構成します。

以下のwgetコマンドを使用してNexusリポジトリマネージャーパッケージをダウンロードします。ダウンロードプロセスが完了すると、現在の作業ディレクトリに「nexus-3.41.1-01-unix.tar.gz」というファイルが表示されます。

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

次に、以下のtarコマンドを使用して「 nexus-3.41.1-01-unix.tar.gz 」ファイルを抽出します。すると、‘nexus-3.41.1-01 ‘と’ sonatype-work ‘の2つのディレクトリが得られます。

ディレクトリ「 nexus-3.41.1-01 」はNexusパッケージのメインディレクトリであり、ディレクトリ「sonatype-work」はNexusのメイン作業ディレクトリです。

tar xzf nexus-3.41.1-01-unix.tar.gz

次に、以下のコマンドを使用して抽出したディレクトリを‘/opt’に移動します。Nexusパッケージディレクトリは‘/opt/nexus’、Nexus作業ディレクトリは‘/opt/sonatype-work ‘になります。

mv nexus-3.41.1-01 /opt/nexus  
mv sonatype-work /opt/

最後に、以下のchownコマンドを使用して両方のディレクトリの所有権をユーザーおよびグループ「nexus」に変更します。

chown -R nexus:nexus /opt/nexus /opt/sonatype-work

download nexus

次に、Nexusの設定ファイルのいくつかを編集してNexusのインストールを設定します。

nanoエディタを使用してファイル‘/opt/nexus/bin/nexus.rc’を開きます。

sudo nano /opt/nexus/bin/nexus.rc

オプション’run_as_user‘のコメントを解除し、値を’nexus’に変更します。この設定により、Nexusアプリケーションをシステムユーザー’nexus‘として実行します。

run_as_user="nexus"

終了したら、ファイルを保存してエディタを終了します。

次に、nanoエディタを使用して設定ファイル‘/etc/nexus/bin/nexus.vmoptions’を開き、Nexusの最大ヒープメモリを設定します。

sudo nano /etc/nexus/bin/nexus.vmoptions

以下のオプションでNexusインストールのデフォルトの最大メモリヒープを変更します。サーバーにあるメモリに基づいてサイズを「 1024m 」に変更できます。

-Xms1024m  
-Xmx1024m  
-XX:MaxDirectMemorySize=1024m

終了したら、ファイルを保存してエディタを終了します。

次に、nanoエディタを使用して設定ファイル‘/opt/sonatype-work/nexus3/etc/nexus.properties ‘を編集します。

sudo nano /opt/sonatype-work/nexus3/etc/nexus.properties

オプション’application-host’のコメントを解除し、値を’ 127.0.0.1 ‘に変更します。これは、NexusをlocalhostまたはIPアドレス’ 127.0.0.1 ‘で実行することを意味します。

application-host=127.0.0.1

ファイルを保存してエディタを終了します。

これで、Nexusリポジトリマネージャーがダウンロードされ、設定されました。次に、Nexusのためのsystemdサービスファイルを設定します。

NexusをSystemDサービスとして実行

デフォルトのインストールでは、Nexusリポジトリマネージャーは’/opt/nexus/bin’ディレクトリにあるバイナリコマンド’nexus’を介して手動で実行できます。しかし、Nexusを管理しやすくするために、Nexusのためのsystemdサービスファイルを設定します。

systemdサービスファイルでNexusを実行すると、systemctlコマンドを介してnexusプロセスを管理できます。

次に、nanoエディタを使用して新しいサービスファイル’ /etc/systemd/system/nexus.service ‘を作成します。

sudo /etc/systemd/system/nexus.service

ファイルに以下の設定を追加します。

[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

終了したら、ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行してsystemdマネージャーをリロードし、Nexusの新しいサービスファイルを適用します。

sudo systemctl daemon-reload

以下のsystemctlコマンドを使用して、‘nexus.service ‘を開始および有効にします。Nexusリポジトリマネージャーは、デフォルトのポート’8081’でローカルIPアドレス127.0.0.1で起動します。また、’nexus.service ‘はシステム起動時に自動的に実行されます。

sudo systemctl start nexus.service  
sudo systemctl enable nexus.service

setup nexus service

最後に、以下のコマンドを実行して’nexus.service’を確認し、サービスが実行中であることを確認します。

sudo systemctl status nexus.service

check nexus service

Nexusがsystemdサービスとして実行されているので、次にNexusのリバースプロキシを設定できます。

リバースプロキシを使用してNexusを実行

Nexusリポジトリマネージャーは現在、ローカルIPアドレス’127.0.0.1’でデフォルトのポート’8081’で実行されています。ネットワークの外部からアクセスできるようにするために、標準のHTTP/HTTPSポートで実行されるNginxリバースプロキシを使用します。

以下のaptコマンドを実行して、UbuntuシステムにNginxウェブサーバーをインストールします。インストールの確認を求められたらYを入力し、ENTERを押して続行します。

sudo apt install nginx

install nginx

Nginxがインストールされたら、以下のsystemctlコマンドを実行してnginxサービスを確認および検証します。nginxサービスが有効であり、システム起動時に自動的に実行されることを確認できます。また、nginxサービスの状態が実行中であることを確認できます。

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

次に、nanoエディタを使用して新しいサーバーブロック設定’ /etc/nginx/sites-available/nexus ‘を作成します。

sudo nano /etc/nginx/sites-available/nexus

ファイルに以下のNginx設定を追加し、ドメイン名を変更してください。

upstream nexus3 {  
  server 127.0.0.1:8081;  
}  
  
server {  
    listen 80;  
    server_name nexus.howtoforge.local;  
  
    location / {  
        proxy_pass http://nexus3/;  
        proxy_http_version 1.1;  
        proxy_set_header Upgrade $http_upgrade;  
        proxy_set_header Connection "upgrade";  
        proxy_set_header Host $http_host;  
  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-Forward-Proto http;  
        proxy_set_header X-Nginx-Proxy true;  
  
        proxy_redirect off;  
    }  
}

ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行して、Nexusのサーバーブロック設定を有効にするために設定ファイルのシンボリックリンクを’sites-enabled‘ディレクトリに作成します。その後、Nginxの設定を検証して、Nginxが正しく設定されていることを確認します。

sudo ln -s /etc/nginx/sites-available/nexus /etc/nginx/sites-enabled/  
sudo nginx -t

Nginxの設定が正しく設定されている場合、「テストは成功しました」という出力メッセージが表示されます。

最後に、以下のコマンドを実行してNginxサービスを再起動し、Nexusの新しいサーバーブロック設定を適用します。

sudo systemctl restart nginx

これで、NginxウェブサーバーがNexusリポジトリマネージャーのリバースプロキシとして設定されました。ドメイン名を介してNexusインストールにアクセスできるようになりました。

setup nginx reverse proxy

Nexusリポジトリマネージャーのインストール

この時点で、NexusリポジトリマネージャーはNginxリバースプロキシの下で実行されています。そして、インストールのドメイン名を介してアクセス可能です。

ウェブブラウザを開き、Nexusインストールのドメイン名(例:http://nexus.howtoforge.local)にアクセスします。デフォルトのNexusページが表示されるはずです。

サインイン 」ボタンをクリックして、Nexus管理ダッシュボードにログインします。

nexus login

Nexusのデフォルト管理者パスワードは、ファイル’ /opt/sonatype-work/nexus3/admin.properties ‘に保存されており、デフォルトのユーザー名はadminです。

ターミナルに戻り、以下のコマンドを実行してNexusログインのデフォルトパスワードを取得します。次に、Nexusのデフォルトパスワードをコピーします。

cat /opt/sonatype-work/nexus3/admin.properties

次に、ユーザーadminを入力し、Nexusのパスワードを貼り付けます。そして、「 サインイン 」をクリックします。

nexus login

これで、Nexusリポジトリマネージャーのセットアップウィザードが表示されます。「 次へ 」をクリックして続行します。

setup wizards nexus

Nexusインストールの新しい強力なパスワードを入力し、繰り返します。次に、再度「 次へ 」をクリックします。

change password

「匿名アクセス」設定については、「 匿名アクセスを無効にする 」オプションを選択し、「 次へ 」をクリックします。

disable anonymous acess

次に、「 完了 」をクリックしてNexusの設定を完了します。

setup completes

Nexusの設定が完了すると、Nexus管理ダッシュボードが表示されます。以下のスクリーンショットにNexusリポジトリマネージャーが表示されています。

repository manager

最後に、上部のステータスチェックボタンを介してNexusインストールを確認します。すべてのシステムステータスが緑色でチェックされていることを確認してください。これは、Nexusのインストールと設定が成功したことを意味します。

system status

結論

このチュートリアルでは、Ubuntu 22.04サーバーにNexusリポジトリマネージャーを設定しました。また、NginxウェブサーバーをNexusのリバースプロキシとして設定しました。これで、プロジェクトのリポジトリをNexusリポジトリマネージャーに追加し、プロジェクトのソースを集中管理できるようになり、開発者にアプリケーションを簡単にビルドおよび配布できます。

本番環境でNexusを実行することに興味がある場合は、Letsencryptを使用してNexusのSSL/TLSセキュリティを設定できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。