ネットワーク管理 · 3 min read · Nov 17, 2025
Ubuntu 18.04 LTSにNetBoxネットワークドキュメンテーションおよび管理ツールをインストールする方法

NetBoxは、コンピュータネットワークを管理および文書化するために使用できる無料のオープンソースのWebアプリケーションソフトウェアです。これは、Webブラウザを通じてIPアドレスとデータセンターインフラストラクチャを管理するために特別に設計されています。NetBoxはDjango Pythonフレームワークで書かれており、データベースにはPostgreSQLを使用しています。NetBoxを使用すると、中央の場所から仮想マシンやクラスター、データ回線、ネットワーク、コンソール、および電源接続を簡単に管理および文書化できます。
このチュートリアルでは、Ubuntu 18.04サーバーにNetBoxをインストールする方法を説明します。
要件
- Ubuntu 18.04を実行しているサーバー。
- サーバーにルートパスワードが設定されています。
始めに
まず、次のコマンドを使用してシステムのパッケージを最新バージョンに更新します:
apt-get update -y
apt-get upgrade -yすべてのパッケージが更新されたら、すべての設定変更を適用するためにシステムを再起動します。
次に、NetBoxを実行するために必要な依存関係をインストールする必要があります。次のコマンドを使用してすべてをインストールできます:
apt-get install wget ca-certificates nginx supervisor git gcc python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev unzip -yすべての依存関係がインストールされたら、次のステップに進むことができます。
PostgreSQLのインストールと設定
次に、サーバーにPostgreSQLをインストールする必要があります。デフォルトでは、Ubuntu 18.04のデフォルトリポジトリには最新のPostgreSQLバージョンはありません。したがって、PostgreSQLリポジトリをシステムに追加する必要があります。
まず、次のコマンドを使用してGPGキーをダウンロードして追加します:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -次に、次のコマンドを使用してリポジトリを追加します:
nano /etc/apt/sources.list.d/postgres.list次の行を追加します:
deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg mainファイルを保存して閉じます。次に、リポジトリを更新し、次のコマンドを使用してPostgreSQLをインストールします:
apt-get update -y
apt-get install postgresql postgresql-contrib -yインストールが完了したら、次のコマンドを使用してPostgreSQLのステータスを確認します:
systemctl status postgresql次の出力が表示されるはずです:
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Wed 2019-08-07 07:00:51 UTC; 23s ago
Main PID: 13552 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 1098)
CGroup: /system.slice/postgresql.service
Aug 07 07:00:50 hitesh systemd[1]: Starting PostgreSQL RDBMS...
Aug 07 07:00:51 hitesh systemd[1]: Started PostgreSQL RDBMS.
次に、NetBox用のデータベースとユーザーを作成する必要があります。まず、次のコマンドを使用してPostgreSQLシェルにログインします:
su - postgres
postgres@hitesh:~$ psql出力:
psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))
Type "help" for help.
次に、次のコマンドを使用してNetBox用のデータベースとユーザーを作成します:
postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';次に、次のコマンドを使用してNetBoxにすべての権限を付与します:
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;最後に、次のコマンドを使用してPostgreSQLシェルから退出します:
postgres=#exit完了したら、次のステップに進むことができます。
NetBoxのインストールと設定
次のコマンドを使用して最新のNetBoxバージョンを/optディレクトリにダウンロードできます:
cd /opt
git clone -b master https://github.com/digitalocean/netbox.git次に、ディレクトリをnetboxに変更し、Django SECRETキーを生成します:
cd /opt/netbox/netbox/netbox/
./generate_secret_key.py次の出力に生成されたキーが表示されるはずです:
+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$次に、次のコマンドを使用してデフォルトの設定ファイルの名前を変更します:
mv configuration.example.py configuration.py次に、設定ファイルを開き、データベースの詳細と秘密鍵を定義します:
nano configuration.py次の変更を加えます:
#あなたのサーバーIPアドレスでyour-server-ipを置き換えてください:
# 例:ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['your-server-ip']
# PostgreSQLデータベースの設定。
DATABASE = {
'NAME': 'netbox', # データベース名
'USER': 'netbox', # PostgreSQLユーザー名
'PASSWORD': 'password', # PostgreSQLパスワード
'HOST': 'localhost', # データベースサーバー
'PORT': '', # データベースポート(デフォルトの場合は空白のままにします)
}
SECRET_KEY = '+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$'完了したら、ファイルを保存して閉じます。
次に、次のコマンドを使用してNetBoxに必要なすべての依存関係をインストールします:
pip3 install -r /opt/netbox/requirements.txtインストールが完了したら、次のコマンドを使用してデータベースを移行します:
cd /opt/netbox/netbox/
python3 manage.py migrate移行が成功した場合、次の出力が表示されるはずです:
Applying secrets.0004_tags... OK
Applying secrets.0005_change_logging... OK
Applying secrets.0006_custom_tag_models... OK
Applying ipam.0021_vrf_ordering... OK
Applying ipam.0022_tags... OK
Applying ipam.0023_change_logging... OK
Applying ipam.0024_vrf_allow_null_rd... OK
Applying ipam.0025_custom_tag_models... OK
Applying dcim.0067_device_type_remove_qualifiers... OK
Applying dcim.0068_rack_new_fields... OK
Applying dcim.0069_deprecate_nullablecharfield... OK
Applying dcim.0070_custom_tag_models... OK
Applying extras.0020_tag_data... OK
Applying extras.0021_add_color_comments_changelog_to_tag... OK
Applying dcim.0071_device_components_add_description... OK
Applying dcim.0072_powerfeeds... OK
Applying dcim.0073_interface_form_factor_to_type... OK
Applying extras.0022_custom_links... OK
Applying extras.0023_fix_tag_sequences... OK
Applying ipam.0026_prefix_ordering_vrf_nulls_first... OK
Applying ipam.0027_ipaddress_add_dns_name... OK
Applying sessions.0001_initial... OK
Applying taggit.0003_taggeditem_add_unique_index... OK
Applying users.0001_api_tokens_squashed_0002_unicode_literals... OK
Applying users.0003_token_permissions... OK次に、NetBox用の管理者アカウントを作成する必要があります。次のコマンドを使用して作成できます:
python3 manage.py createsuperuser管理者のユーザー名とパスワードを入力し、Enterキーを押すと、次の出力が表示されるはずです:
Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.次に、次のコマンドを使用して静的ファイルを移動し、初期データをロードします:
python3 manage.py collectstatic
python3 manage.py loaddata initial_dataNetBox用のGunicornのインストールと設定
次に、NetBox用のGunicornをインストールする必要があります。次のようにpipコマンドを使用してインストールできます:
pip3 install gunicorn次に、次のコマンドを使用してNetBox用のGunicorn設定ファイルを作成します:
nano /opt/netbox/gunicorn_config.py次の行を追加します:
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'完了したら、ファイルを保存して閉じます。
NetBox用のSupervisorの設定
次に、NetBoxサービスを管理するためにSupervisorを設定する必要があります。次のコマンドを使用して設定できます:
nano /etc/supervisor/conf.d/netbox.conf次の行を追加します:
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-dataファイルを保存して閉じたら、次のコマンドを使用してsupervisorサービスを再起動し、システム再起動後に自動的に開始されるように有効にします:
systemctl restart supervisor
systemctl enable supervisor次のコマンドを使用してSupervisorサービスを確認することもできます:
systemctl status supervisor出力:
? supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-08-07 07:13:26 UTC; 8s ago
Docs: http://supervisord.org
Process: 15013 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
Main PID: 15015 (supervisord)
Tasks: 5 (limit: 1098)
CGroup: /system.slice/supervisor.service
??15015 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
??15037 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??15042 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??15043 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??15044 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
Aug 07 07:13:26 hitesh systemd[1]: Started Supervisor process control system for UNIX.
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,087 CRIT Supervisor running as root (no user in config file)
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,089 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during parsing
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 INFO RPC interface 'supervisor' initialized
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 CRIT Server 'unix_http_server' running without any HTTP authentication check
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,118 INFO supervisord started with pid 15015
Aug 07 07:13:28 hitesh supervisord[15015]: 2019-08-07 07:13:28,123 INFO spawned: 'netbox' with pid 15037
Aug 07 07:13:29 hitesh supervisord[15015]: 2019-08-07 07:13:29,610 INFO success: netbox entered RUNNING state, process has stNetBox用のNginxの設定
次に、ポート80を使用してNetBoxにアクセスできるようにNginxを設定する必要があります。そのためには、次のコマンドを使用して仮想ホスト設定ファイルを作成します:
nano /etc/nginx/sites-available/netbox次の行を追加します:
server {
listen 80;
server_name your-domain-name;
client_max_body_size 25m;
location /static/ {
alias /opt/netbox/netbox/static/;
}
location / {
proxy_pass http://your-server-ip:8001;
}
}ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホストを有効にします:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/最後に、次のコマンドを使用してNginxサービスを再起動し、すべての設定変更を適用します:
systemctl restart nginxNetBox Webインターフェースにアクセス
NetBoxは現在インストールされ、設定されています。NetBoxのWebインターフェースにアクセスする時間です。
Webブラウザを開き、URL http://your-domain.com を入力します。次のページにリダイレクトされます:

次に、右上隅のログインボタンをクリックします。次のページが表示されるはずです:

次に、管理者のユーザー名とパスワードを入力し、ログインボタンをクリックします。次のページにNetBoxのデフォルトダッシュボードが表示されるはずです:

おめでとうございます!Ubuntu 18.04サーバーにNetBoxを正常にインストールして設定しました。これで、中央の場所からネットワークとIPアドレスを管理および文書化できます。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。