GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal Alat Dokumentasi dan Manajemen Jaringan NetBox di Ubuntu 18.04 LTS

NetBox adalah perangkat lunak aplikasi web gratis dan sumber terbuka yang dapat digunakan untuk mengelola dan mendokumentasikan jaringan komputer. Ini dirancang khusus untuk mengelola alamat IP dan infrastruktur pusat data melalui browser web. NetBox ditulis dalam kerangka kerja Django Python dan menggunakan PostgreSQL untuk databasenya. Dengan NetBox, Anda dapat dengan mudah mengelola dan mendokumentasikan mesin dan cluster Virtual, sirkuit Data, Jaringan, konsol, dan koneksi daya dari lokasi pusat.

Dalam tutorial ini, kami akan menjelaskan cara menginstal NetBox di server Ubuntu 18.04.

Persyaratan

  • Server yang menjalankan Ubuntu 18.04.
  • Kata sandi root disiapkan di server Anda.

Memulai

Pertama, perbarui paket sistem Anda ke versi terbaru dengan perintah berikut:

apt-get update -y
apt-get upgrade -y

Setelah semua paket diperbarui, mulai ulang sistem Anda untuk menerapkan semua perubahan konfigurasi.

Selanjutnya, Anda perlu menginstal dependensi yang diperlukan untuk menjalankan NetBox. Anda dapat menginstal semuanya dengan perintah berikut:

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

Setelah semua dependensi terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi PostgreSQL

Selanjutnya, Anda perlu menginstal PostgreSQL di server Anda. Secara default, PostgreSQL versi terbaru tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori PostgreSQL ke sistem Anda.

Pertama, unduh dan tambahkan kunci GPG dengan perintah berikut:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Selanjutnya, tambahkan repositori dengan perintah berikut:

nano /etc/apt/sources.list.d/postgres.list

Tambahkan baris berikut:

deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg main

Simpan dan tutup file. Kemudian, perbarui repositori dan instal PostgreSQL dengan perintah berikut:

apt-get update -y
apt-get install postgresql postgresql-contrib -y

Setelah terinstal, periksa status PostgreSQL dengan perintah berikut:

systemctl status postgresql

Anda akan melihat output berikut:

? 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.

Selanjutnya, Anda perlu membuat database dan pengguna untuk NetBox. Pertama, masuk ke shell PostgreSQL dengan perintah berikut:

su - postgres
[email protected]:~$ psql

Keluaran:

psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))
Type "help" for help.

Selanjutnya buat database dan user untuk NetBox dengan perintah berikut:

postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';

Selanjutnya, berikan semua hak istimewa ke NetBox dengan perintah berikut:

postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

Terakhir, keluar dari shell PostgreSQL dengan perintah berikut:

postgres=#exit

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi NetBox

Anda dapat mengunduh versi terbaru NetBox ke direktori /opt dengan perintah berikut:

cd /opt
git clone -b master https://github.com/digitalocean/netbox.git

Selanjutnya, ubah direktori ke netbox dan buat Django SECRET Key:

cd /opt/netbox/netbox/netbox/
./generate_secret_key.py

Anda akan melihat kunci yang dihasilkan dalam output berikut:

+XHR3o&7K6isFk^DLc2%[email protected](jwN#tfGbV=O1hgMU$

Selanjutnya, ganti nama file konfigurasi default dengan perintah berikut:

mv configuration.example.py configuration.py

Selanjutnya, buka file konfigurasi dan tentukan detail database dan kunci rahasia Anda:

nano configuration.py

Lakukan perubahan berikut:

#Replace your-server-ip with your server IP address:
# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['your-server-ip']

# PostgreSQL database configuration.
DATABASE = {
    'NAME': 'netbox',         # Database name
    'USER': 'netbox',               # PostgreSQL username
    'PASSWORD': 'password',           # PostgreSQL password
    'HOST': 'localhost',      # Database server
    'PORT': '',               # Database port (leave blank for default)
}
SECRET_KEY = '+XHR3o&7K6isFk^DLc2%[email protected](jwN#tfGbV=O1hgMU$'

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, instal semua dependensi yang diperlukan oleh NetBox dengan perintah berikut:

pip3 install -r /opt/netbox/requirements.txt

Setelah terinstal, migrasi database dengan perintah berikut:

cd /opt/netbox/netbox/
python3 manage.py migrate

Setelah berhasil bermigrasi, Anda akan melihat output berikut:

  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

Selanjutnya, Anda perlu membuat akun administrator untuk NetBox. Anda dapat melakukannya dengan perintah berikut:

python3 manage.py createsuperuser

Berikan nama pengguna dan kata sandi admin Anda dan tekan Enter, Anda akan melihat output berikut:

Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Selanjutnya pindahkan file statis dan muat data awal dengan perintah berikut:

python3 manage.py collectstatic
python3 manage.py loaddata initial_data

Instal dan Konfigurasi Gunicorn untuk NetBox

Selanjutnya, Anda perlu menginstal Gunicorn untuk NetBox. Anda dapat menginstalnya dengan perintah pip seperti yang ditunjukkan di bawah ini:

pip3 install gunicorn

Selanjutnya, buat file konfigurasi Gunicorn untuk NetBox dengan perintah berikut:

nano /opt/netbox/gunicorn_config.py

Tambahkan baris berikut:

command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'

Simpan dan tutup file setelah Anda selesai.

Konfigurasi Supervisor untuk Netbox

Selanjutnya, Anda perlu mengkonfigurasi Supervisor untuk mengelola layanan NetBox. Anda dapat melakukannya dengan perintah berikut:

nano /etc/supervisor/conf.d/netbox.conf

Tambahkan baris berikut:

[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data

Simpan dan tutup file kemudian restart layanan supervisor dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl restart supervisor
systemctl enable supervisor

Anda juga dapat memverifikasi layanan Supervisor dengan perintah berikut:

systemctl status supervisor

Keluaran:

? 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 st

Konfigurasi Nginx untuk NetBox

Selanjutnya, Anda perlu mengkonfigurasi Nginx untuk mengakses NetBox menggunakan port 80. Untuk melakukannya, buat file konfigurasi virtual host dengan perintah berikut:

nano /etc/nginx/sites-available/netbox

Tambahkan baris berikut:

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;
    }
}

Simpan dan tutup file. Kemudian, aktifkan virtual host dengan perintah berikut:

ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/

Terakhir, restart layanan Nginx untuk menerapkan semua perubahan konfigurasi dengan perintah berikut:

systemctl restart nginx

Akses Antarmuka Web NetBox

NetBox sekarang terinstal dan dikonfigurasi, saatnya untuk mengakses antarmuka web NetBox.

Buka browser web Anda dan ketik URL http://domain-anda.com. Anda akan diarahkan ke halaman berikut:

Sekarang, klik Masuk tombol di pojok kanan atas. Anda akan melihat halaman berikut:

Sekarang, berikan nama pengguna dan kata sandi admin Anda, lalu klik Log Dalam tombol. Anda akan melihat dasbor default NetBox di halaman berikut:

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi NetBox di server Ubuntu 18.04. Anda sekarang dapat mengelola dan mendokumentasikan Jaringan dan alamat IP Anda dari lokasi pusat. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal Postgresql dan phpPgAdmin di Ubuntu 15.04

  2. Cara Menginstal Libreoffice 4.3 di Ubuntu 12.04 dan 14.04 LTS

  3. Cara Menginstal Libreoffice 4.4 di Ubuntu 15.04 dan 14.04 LTS

  1. Cara Menginstal Alat Manajemen Server Foreman di Ubuntu 18.04 LTS

  2. Cara Menginstal PostgreSQL dan phpPgAdmin di Ubuntu 16.04

  3. Cara Menginstal Wireshark di Ubuntu 16.04 LTS

  1. Cara Menginstal Alat Manajemen Proyek Trac di Ubuntu 18.04 LTS

  2. Cara Menginstal PostgreSQL dan phpPgAdmin di Ubuntu 18.04 LTS

  3. Cara Menginstal Alat Manajemen Proyek Redmine di Ubuntu 18.04 LTS