GNU/Linux >> Belajar Linux >  >> Ubuntu

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

Netbox adalah alat alamat IP (IPAM) dan manajemen infrastruktur pusat data (DCIM) yang gratis dan kuat. Ini digunakan untuk menyimpan informasi tentang jaringan Anda, VM, inventaris, dan banyak lagi. Ini awalnya dikembangkan oleh tim teknik jaringan di DigitalOcean. Alat ini ditulis dalam kerangka kerja Django Python dan bergantung pada database PostgreSQL. Tujuannya adalah berfungsi sebagai sumber kebenaran khusus domain untuk operasi jaringan.

Dalam tutorial ini, kami akan menjelaskan cara menginstal Netbox dengan Nginx sebagai reverse proxy di Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Kata sandi root dikonfigurasi di server Anda.

Memulai

Sebelum memulai, Anda perlu menginstal beberapa dependensi yang diperlukan oleh Netbox. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

apt-get install nginx git gcc supervisor python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev -y

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

Instal dan Konfigurasi Database PostgreSQL

Netbox mengandalkan database PostgreSQL untuk penyimpanan data. Anda dapat menginstalnya dengan perintah berikut:

apt-get install postgresql postgresql-contrib -y

Setelah PostgreSQL terinstal, login ke PostgreSQL dengan perintah berikut:

su - postgres
[email protected]:~$ psql

Anda akan mendapatkan output berikut:

psql (12.2 (Ubuntu 12.2-4))
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 database Netbox dengan perintah berikut:

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

Selanjutnya, keluar dari shell PostgreSQL dengan perintah berikut:

postgres=# exit
[email protected]:~$ exit

Instal dan Konfigurasi NetBox

Pertama, ubah direktori ke /opt dan unduh Netbox versi terbaru dari repositori Git Hub menggunakan perintah berikut:

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

Selanjutnya, buat tautan simbolik biner Python dengan perintah berikut:

ln -s /usr/bin/python3 /usr/bin/python

Selanjutnya, ubah direktori ke /opt/netbox/netbox/ dan buat Django SECRET Key dengan menjalankan perintah berikut:

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

Anda akan mendapatkan output berikut:

[email protected])eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z

Selanjutnya, ubah direktori menjadi netbox dan ganti nama file konfigurasi contoh:

cd netbox
mv configuration.example.py configuration.py

Selanjutnya, edit file konfigurasi Netbox dan tentukan database, kunci rahasia, dan host yang diizinkan:

nano configuration.py

Lakukan perubahan berikut:

ALLOWED_HOSTS = ['your-server-ip']

# PostgreSQL database configuration. See the Django documentation for a complete list of available parameters:
#   https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASE = {
    'NAME': 'netbox',         # Database name
    'USER': 'netbox',               # PostgreSQL username
    'PASSWORD': 'password',           # PostgreSQL password
    'HOST': 'localhost',      # Database server
    'PORT': '',               # Database port (leave blank for default)
    'CONN_MAX_AGE': 300,      # Max database connection age
}

SECRET_KEY = '[email protected])eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z'

Simpan dan tutup file kemudian instal semua dependensi Python dengan perintah berikut:

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

Selanjutnya, migrasikan database dengan perintah berikut:

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

Selanjutnya, buat pengguna administratif Netbox dengan perintah berikut:

python3 manage.py createsuperuser

Anda akan diminta untuk memberikan nama pengguna dan kata sandi seperti yang ditunjukkan di bawah ini:

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

Selanjutnya, kumpulkan file statis dengan perintah berikut:

python3 manage.py collectstatic

Anda akan melihat output berikut:

976 static files copied to '/opt/netbox/netbox/static'.

Instal dan Konfigurasikan Gunicorn

Netbox adalah aplikasi berbasis Django. Jadi, Anda perlu menginstal Gunicorn di sistem Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

pip3 install gunicorn

Setelah menginstal Gunicorn, buat file konfigurasi Gunicorn baru 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.

Instal dan Konfigurasi Supervisor

Supervisor adalah sistem klien/server yang memungkinkan Anda untuk memantau dan mengontrol layanan NetBox. Anda dapat membuat file konfigurasi Supervisor baru untuk Netbox 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 setelah selesai. Kemudian, restart layanan Supervisor dengan perintah berikut:

systemctl restart supervisor

Anda juga dapat memverifikasi status layanan Supervisor menggunakan perintah berikut:

systemctl status supervisor

Anda akan mendapatkan output berikut:

? supervisor.service - Supervisor process control system for UNIX
     Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-30 05:49:08 UTC; 14s ago
       Docs: http://supervisord.org
   Main PID: 550606 (supervisord)
      Tasks: 5 (limit: 4691)
     Memory: 184.3M
     CGroup: /system.slice/supervisor.service
             ??550606 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
             ??550626 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550628 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550629 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550630 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi

May 30 05:49:08 ubuntu2004 systemd[1]: Started Supervisor process control system for UNIX.
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 CRIT Supervisor is running as root.  Privileges were not dropped becau>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during p>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 INFO RPC interface 'supervisor' initialized
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 CRIT Server 'unix_http_server' running without any HTTP authentication>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,672 INFO supervisord started with pid 550606
May 30 05:49:09 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:09,676 INFO spawned: 'netbox' with pid 550626
May 30 05:49:11 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:11,060 INFO success: netbox entered RUNNING state, process has stayed up for

Konfigurasi Nginx untuk NetBox

Sebaiknya konfigurasikan Nginx sebagai proxy terbalik untuk mengakses Netbox di port 80. Anda dapat membuat konfigurasi virtual host Nginx baru dengan menggunakan perintah berikut:

nano /etc/nginx/sites-available/netbox.conf

Tambahkan baris berikut:

server {
    listen 80;
    server_name your-server-ip;
    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, buat tautan simbolis ke direktori /etc/nginx/sites-enabled/:

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

Selanjutnya, verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:

nginx -t

Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Terakhir, mulai ulang layanan Nginx untuk menerapkan perubahan.

systemctl restart nginx

Anda juga dapat memverifikasi Nginx dengan perintah berikut:

systemctl status nginx

Anda akan mendapatkan output berikut:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-05-30 22:28:13 EST; 4min 14s ago
  Process: 984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 985 (nginx)
    Tasks: 3 (limit: 25028)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??985 nginx: master process /usr/sbin/nginx
           ??986 nginx: worker process
           ??987 nginx: worker process

May 30 21:28:12 ubuntu2004 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 30 21:28:13 ubuntu2004 systemd[1]: Started The nginx HTTP and reverse proxy server.

Pada titik ini, server web Nginx dikonfigurasi untuk melayani Netbox pada port 80. Sekarang Anda dapat melanjutkan untuk mengakses antarmuka web Netbox.

Akses Antarmuka Web Netbox

Buka browser web Anda dan kunjungi URL http://your-server-ip. Anda akan diarahkan ke halaman berikut:

Klik Log di tombol. Anda akan melihat halaman login Netbox di layar berikut:

Berikan nama pengguna, kata sandi admin Netbox Anda, dan klik tombol login tombol. Anda akan melihat dasbor default Netbox di halaman berikut:

Kesimpulan

Dalam panduan ini, Anda belajar cara menginstal Netbox di Ubuntu 20.04 dengan Nginx. Anda sekarang dapat mulai mendokumentasikan infrastruktur jaringan Anda. Untuk informasi selengkapnya, kunjungi dokumentasi resmi Netbox. Bebas biaya untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal dan Menggunakan iostat di Ubuntu 16.04 LTS

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

  3. Cara Menginstal Wireshark di Ubuntu 16.04 LTS

  1. Cara Menginstal LibreOffice 6.0 di Ubuntu 16.04 LTS dan Lebih Tinggi

  2. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 18.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 Alat Pemantauan Zabbix di Ubuntu 18.04 LTS

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