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.