Nexusインストール · 3 min read · Nov 27, 2025
Ubuntu 20.04にNexusリポジトリマネージャーをインストールして構成する方法

Nexusは、ソフトウェア開発ライフサイクル全体を保護するプラットフォームを提供するリポジトリマネージャーです。依存関係を収集および管理し、ソフトウェアの配布を容易にします。すべてのコンポーネント、バイナリ、およびビルドアーティファクトの単一のソースです。Gradle、Ant、Maven、Ivyをサポートし、開発者がバイナリ、コンテナ、アセンブリ、完成品を通じてコンポーネントを管理できるようにします。また、LDAPやAtlassian Crowdなどの既存のユーザーおよび認証システムとNexusを統合することもできます。
このチュートリアルでは、Ubuntu 20.04にNexusリポジトリマネージャーをインストールする方法を示します。
前提条件
- Ubuntu 20.04を実行しているサーバー。
- サーバーに設定されたrootパスワード。
始めに
始める前に、システムパッケージを最新バージョンに更新する必要があります。次のコマンドを使用して更新できます:
apt-get update -yサーバーが更新されたら、次のステップに進むことができます。
Javaのインストール
NexusはJavaに基づいているため、システムにJavaバージョン8をインストールする必要があります。次のコマンドを使用してインストールできます:
apt-get install openjdk-8-jdk -yJavaがインストールされたら、次のコマンドを使用してインストールされたJavaのバージョンを確認できます:
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)
Javaがインストールされたら、次のステップに進むことができます。
Nexusのインストール
始める前に、Nexusを実行するための別のユーザーを作成する必要があります。次のコマンドを実行して作成できます:
useradd -M -d /opt/nexus -s /bin/bash -r nexus次に、nexusユーザーがsudoを使用してすべてのユーザーをパスワードなしで実行できるようにします。次のコマンドを実行して行うことができます:
echo "nexus ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nexus次に、Nexusのディレクトリを作成し、次のコマンドを使用してNexusの最新バージョンをダウンロードします:
mkdir /opt/nexus
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gzダウンロードが完了したら、次のコマンドを実行してダウンロードしたファイルを/opt/nexusディレクトリに抽出します:
tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1次に、次のコマンドを実行してnexusディレクトリに適切な所有権を設定します:
chown -R nexus:nexus /opt/nexus次に、nexus.vmoptions構成ファイルを編集し、最大メモリサイズを定義します:
nano /opt/nexus/bin/nexus.vmoptionsJavaの最大メモリサイズを設定し、”../sonatype-work”を”./sonatype-work”に置き換えます:
-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m
-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
ファイルを保存して閉じたら、nexus.rcファイルを編集し、ユーザーとして実行するように定義します:
nano /opt/nexus/bin/nexus.rc次の行をnexusユーザーでコメント解除して変更します:
run_as_user="nexus"
ファイルを保存して閉じたら、次のコマンドを使用してNexusサービスを開始します:
sudo -u nexus /opt/nexus/bin/nexus start次に、次のコマンドを使用してNexusを確認します:
tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.log次の出力が得られるはずです:
2021-02-23 12:20:51,839+0000 INFO [jetty-main-1] *SYSTEM com.softwarementors.extjs.djn.servlet.DirectJNgineServlet - Servlet GLOBAL configuration: registryConfiguratorClass=
2021-02-23 12:20:51,853+0000 INFO [jetty-main-1] *SYSTEM com.softwarementors.extjs.djn.jscodegen.CodeFileGenerator - Creating source files for APIs...
2021-02-23 12:20:52,582+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - JAX-RS RuntimeDelegate: org.sonatype.nexus.siesta.internal.resteasy.SisuResteasyProviderFactory@649a69ca
2021-02-23 12:20:52,611+0000 INFO [jetty-main-1] *SYSTEM org.jboss.resteasy.plugins.validation.i18n - RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
2021-02-23 12:20:53,811+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - Initialized
2021-02-23 12:20:53,817+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Initialized
2021-02-23 12:20:53,852+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@7a65358d{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE}
2021-02-23 12:20:53,883+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@764a4935{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2021-02-23 12:20:53,884+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @37529ms
2021-02-23 12:20:53,884+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.29.2-02
-------------------------------------------------
この時点で、Nexusは起動し、ポート8081でリッスンしています。次のコマンドを使用して確認できます:
ss -altnp | grep 8081次の出力が得られるはずです:
LISTEN 0 50 0.0.0.0:8081 0.0.0.0:* users:(("java",pid=5548,fd=795))
次に、次のコマンドを使用してNexusサービスを停止します:
/opt/nexus/bin/nexus stopNexusのためのSystemdサービスファイルの作成
次に、Nexusサービスを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドを使用して作成できます:
nano /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デーモンをリロードします:
systemctl daemon-reload次に、次のコマンドを使用してNexusサービスを開始し、システム再起動時に自動的に開始されるようにします:
systemctl start nexus
systemctl enable nexus次のコマンドを使用してNexusサービスのステータスを確認することもできます:
systemctl status nexus次の出力が得られるはずです:
? nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-23 12:22:49 UTC; 15s ago
Process: 6181 ExecStart=/opt/nexus/bin/nexus start (code=exited, status=0/SUCCESS)
Main PID: 6368 (java)
Tasks: 40 (limit: 4691)
Memory: 642.9M
CGroup: /system.slice/nexus.service
??6368 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.mo>
Feb 23 12:22:49 ubuntu2004 systemd[1]: Starting nexus service...
Feb 23 12:22:49 ubuntu2004 nexus[6181]: Starting nexus
Feb 23 12:22:49 ubuntu2004 systemd[1]: Started nexus service.
lines 1-13/13 (END)
完了したら、次のステップに進むことができます。
NexusのためのNginxをリバースプロキシとして構成する
次に、Nginxをインストールし、Nginxをリバースプロキシとして構成する必要があります。まず、次のコマンドを使用してNginxパッケージをインストールします:
apt-get install nginx -yNginxがインストールされたら、次のコマンドを使用してNginxの仮想ホスト構成ファイルを作成します:
nano /etc/nginx/conf.d/nexus.conf次の行を追加します:
upstream backend {
server 127.0.0.1:8081;
}
server {
listen 80;
server_name nexus.example.com;
location / {
proxy_pass http://backend/;
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;
}
}
ファイルを保存して閉じたら、次のコマンドを使用してNginx構成ファイルを検証します:
ginx -t次の出力が得られるはずです:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最後に、次のコマンドを使用してNginxサービスを再起動して変更を適用します:
systemctl restart nginx次のコマンドを使用してNginxのステータスを確認することもできます:
systemctl status nginx次の出力が得られるはずです:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-23 12:24:57 UTC; 4s ago
Docs: man:nginx(8)
Process: 7106 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 7107 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 7123 (nginx)
Tasks: 3 (limit: 4691)
Memory: 3.5M
CGroup: /system.slice/nginx.service
??7123 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??7124 nginx: worker process
??7125 nginx: worker process
Feb 23 12:24:57 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 23 12:24:57 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Nexus Webインターフェースにアクセスする
Nexus Web UIにアクセスする前に、次のコマンドを使用してNexus管理者パスワードを印刷します:
cat /opt/nexus/sonatype-work/nexus3/admin.password次の出力が得られるはずです:
b7c899cf-c6d3-4d11-a4cb-9a44e5d1787e
今、ウェブブラウザを開き、URL http://nexus.example.comを使用してNexus Web UIにアクセスします。次のページにリダイレクトされます: 
今、サインインボタンをクリックします。Nexusログインページにリダイレクトされます: 
管理者のユーザー名、パスワードを入力し、サインインボタンをクリックします。Nexusセットアップページが表示されるはずです: 
次へボタンをクリックして続行します。次のページが表示されるはずです: 
新しいパスワードを設定し、次へボタンをクリックします。次のページが表示されるはずです: 
「匿名アクセスを有効にする」オプションを選択し、次へボタンをクリックします。次のページが表示されるはずです: 
完了ボタンをクリックしてセットアップを完了し、設定ギアアイコンをクリックします。Nexusリポジトリダッシュボードが表示されるはずです: 
結論
おめでとうございます!NexusリポジトリマネージャーをNginxをリバースプロキシとして使用してUbuntu 20.04サーバーに正常にインストールしました。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。