NetBox là phần mềm ứng dụng web miễn phí và mã nguồn mở có thể được sử dụng để quản lý và ghi lại tài liệu mạng máy tính. Nó được thiết kế đặc biệt để quản lý địa chỉ IP và cơ sở hạ tầng trung tâm dữ liệu thông qua trình duyệt web. NetBox được viết bằng khung Django Python và sử dụng PostgreSQL cho cơ sở dữ liệu. Với NetBox, bạn có thể dễ dàng quản lý và ghi lại các máy ảo và cụm, mạch dữ liệu, mạng, bảng điều khiển và kết nối nguồn từ vị trí trung tâm.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt NetBox trên máy chủ Ubuntu 18.04.
Sau khi tất cả các gói được cập nhật, hãy khởi động lại hệ thống của bạn để áp dụng tất cả các thay đổi cấu hình.
Tiếp theo, bạn sẽ cần cài đặt các phụ thuộc cần thiết để chạy NetBox. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Sau khi tất cả các phần phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Tiếp theo, hãy thêm kho lưu trữ bằng lệnh sau:
Thêm dòng sau:
Lưu và đóng tệp. Sau đó, hãy cập nhật kho lưu trữ và cài đặt PostgreSQL bằng lệnh sau:
Sau khi cài đặt, hãy kiểm tra trạng thái của PostgreSQL bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho NetBox. Trước tiên, hãy đăng nhập vào shell PostgreSQL bằng lệnh sau:
Đầu ra:
Tiếp theo, hãy tạo cơ sở dữ liệu và người dùng cho NetBox bằng lệnh sau:
Tiếp theo, hãy cấp tất cả các quyền cho NetBox bằng lệnh sau:
Cuối cùng, hãy thoát khỏi shell PostgreSQL bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, hãy thay đổi thư mục thành netbox và tạo Khóa BÍ MẬT Django:
Bạn sẽ thấy khóa được tạo trong đầu ra sau:
Tiếp theo, đổi tên tệp cấu hình mặc định bằng lệnh sau:
Tiếp theo, mở tệp cấu hình và xác định thông tin chi tiết về cơ sở dữ liệu và khóa bí mật của bạn:
Thực hiện các thay đổi sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, cài đặt tất cả các phụ thuộc mà NetBox yêu cầu bằng lệnh sau:
Sau khi cài đặt, hãy di chuyển cơ sở dữ liệu bằng lệnh sau:
Sau khi di chuyển thành công, bạn sẽ thấy đầu ra sau:
Tiếp theo, bạn sẽ cần tạo một tài khoản quản trị viên cho NetBox. Bạn có thể thực hiện bằng lệnh sau:
Cung cấp tên người dùng và mật khẩu quản trị viên của bạn và nhấn Enter, bạn sẽ thấy kết quả sau:
Tiếp theo, di chuyển các tệp tĩnh và tải dữ liệu ban đầu bằng lệnh sau:
Tiếp theo, tạo tệp cấu hình Gunicorn cho NetBox bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ giám sát và cho phép dịch vụ này khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Bạn cũng có thể xác minh dịch vụ Giám sát bằng lệnh sau:
Đầu ra:
Thêm các dòng sau:
Lưu và đóng tệp. Sau đó, bật máy chủ ảo bằng lệnh sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng tất cả các thay đổi cấu hình bằng lệnh sau:
Mở trình duyệt web của bạn và nhập URL http://your-domain.com. Bạn sẽ được chuyển hướng đến trang sau:
Bây giờ, hãy nhấp vào nút Đăng nhập ở góc trên bên phải. Bạn sẽ thấy trang sau:
Bây giờ, hãy cung cấp tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút Đăng nhập . Bạn sẽ thấy bảng điều khiển mặc định của NetBox ở trang sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình thành công NetBox trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể quản lý và ghi lại Mạng và địa chỉ IP của mình từ vị trí trung tâm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt NetBox trên máy chủ Ubuntu 18.04.
Yêu cầu
- Máy chủ chạy Ubuntu 18.04.
- Mật khẩu gốc được thiết lập trên máy chủ của bạn.
Bắt đầu
Trước tiên, hãy cập nhật gói hệ thống của bạn lên phiên bản mới nhất bằng lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Tiếp theo, bạn sẽ cần cài đặt các phụ thuộc cần thiết để chạy NetBox. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
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
Cài đặt và cấu hình PostgreSQL
Tiếp theo, bạn sẽ cần cài đặt PostgreSQL trên máy chủ của mình. Theo mặc định, phiên bản mới nhất của PostgreSQL không có trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ PostgreSQL vào hệ thống của mình.Đầu tiên, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Mã:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Mã:
nano /etc/apt/sources.list.d/postgres.list
Mã:
deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg main
Mã:
apt-get update -y
apt-get install postgresql postgresql-contrib -y
Mã:
systemctl status postgresql
Mã:
? postgresql.service - PostgreSQL RDBMS Đã tải: đã tải (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đã thoát) kể từ Thứ 4, ngày 07 tháng 08 năm 2019 lúc 07:00:51 UTC; 23 giây trước PID chính: 13552 (code=exited, status=0/SUCCESS) Nhiệm vụ: 0 (limit: 1098) CGroup: /system.slice/postgresql.service07/08 07:00:50 hitesh systemd[1]: Đang khởi động PostgreSQL RDBMS...07/08 07:00:51 hitesh systemd[1]: Đã khởi động PostgreSQL RDBMS.
Mã:
su - postgres
postgres@hitesh:~$ psql
Mã:
psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))Gõ "help" để được trợ giúp.
Mã:
postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';
Mã:
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Mã:
postgres=#exit
Cài đặt và cấu hình NetBox
Bạn có thể tải xuống phiên bản NetBox mới nhất vào thư mục /opt bằng lệnh sau:
Mã:
cd /opt
git clone -b master https://github.com/digitalocean/netbox.git
Mã:
cd /opt/netbox/netbox/
./generate_secret_key.py
Mã:
+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$
Mã:
mv configuration.example.py configuration.py
Mã:
nano configuration.py
Mã:
#Thay thế your-server-ip bằng địa chỉ IP máy chủ của bạn:# Ví dụ: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']ALLOWED_HOSTS = ['your-server-ip']# Cấu hình cơ sở dữ liệu PostgreSQL.DATABASE = { 'NAME': 'netbox', # Tên cơ sở dữ liệu 'USER': 'netbox', # Tên người dùng PostgreSQL 'PASSWORD': 'password', # Mật khẩu PostgreSQL 'HOST': 'localhost', # Máy chủ cơ sở dữ liệu 'PORT': '', # Cổng cơ sở dữ liệu (để trống để mặc định)}SECRET_KEY = '+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$'
Tiếp theo, cài đặt tất cả các phụ thuộc mà NetBox yêu cầu bằng lệnh sau:
Mã:
pip3 install -r /opt/netbox/requirements.txt
Mã:
cd /opt/netbox/netbox/
python3 manage.py di chuyển
Mã:
Đang áp dụng secrets.0004_tags... OK Đang áp dụng secrets.0005_change_logging... OK Đang áp dụng secrets.0006_custom_tag_models... OK Đang áp dụng ipam.0021_vrf_ordering... OK Đang áp dụng ipam.0022_tags... OK Đang áp dụng ipam.0023_change_logging... OK Đang áp dụng ipam.0024_vrf_allow_null_rd... OK Đang áp dụng ipam.0025_custom_tag_models... OK Đang áp dụng dcim.0067_device_type_remove_qualifiers... OK Đang áp dụng dcim.0068_rack_new_fields... OK Đang áp dụng dcim.0069_deprecate_nullablecharfield... OK Đang áp dụng dcim.0070_custom_tag_models... OK Đang áp dụng extras.0020_tag_data... OK Đang áp dụng extras.0021_add_color_comments_changelog_to_tag... OK Đang áp dụng dcim.0071_device_components_add_description... OK Đang áp dụng dcim.0072_powerfeeds... OK Đang áp dụng dcim.0073_interface_form_factor_to_type... OK Đang áp dụng extras.0022_custom_links... OK Đang áp dụng extras.0023_fix_tag_sequences... OK Đang áp dụng ipam.0026_prefix_ordering_vrf_nulls_first... OK Đang áp dụng ipam.0027_ipaddress_add_dns_name... OK Đang áp dụng sessions.0001_initial... OK Đang áp dụng taggit.0003_taggeditem_add_unique_index... OK Đang áp dụng users.0001_api_tokens_squashed_0002_unicode_literals... OK Đang áp dụng users.0003_token_permissions... OK
Mã:
python3 manage.py createsuperuser
Mã:
Tên người dùng (để trống để sử dụng 'root'): netboxadminĐịa chỉ email: [emailprotected]Mật khẩu:Mật khẩu (lặp lại):Siêu người dùng đã tạo thành công.
Mã:
python3 manage.py collectstatic
python3 manage.py loaddata initial_data
Cài đặt và cấu hình Gunicorn cho NetBox
Tiếp theo, bạn sẽ cần cài đặt Gunicorn cho NetBox. Bạn có thể cài đặt bằng lệnh pip như được hiển thị bên dưới:
Mã:
pip3 install gunicorn
Mã:
nano /opt/netbox/gunicorn_config.py
Mã:
command = '/usr/local/bin/gunicorn'pythonpath = '/opt/netbox/netbox'bind = 'your-server-ip:8001'workers = 3user = 'www-data'
Cấu hình Supervisor cho Netbox
Tiếp theo, bạn sẽ cần cấu hình Supervisor để quản lý dịch vụ NetBox. Bạn có thể thực hiện bằng lệnh sau:
Mã:
nano /etc/supervisor/conf.d/netbox.conf
Mã:
[program:netbox]command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgidirectory = /opt/netbox/netbox/user = www-data
Mã:
systemctl restart supervisor
systemctl enable Supervisor
Mã:
systemctl status Supervisor
Mã:
? supervisor.service - Hệ thống kiểm soát quy trình giám sát cho UNIX Đã tải: đã tải (/lib/systemd/system/supervisor.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, ngày 07 tháng 08 năm 2019 lúc 07:13:26 UTC; 8 giây trước Tài liệu: http://supervisord.org Tiến trình: 15013 ExecStop=/usr/bin/supervisorctl $OPTIONS tắt máy (mã=thoát, trạng thái=0/THÀNH CÔNG) PID chính: 15015 (supervisord) Nhiệm vụ: 5 (giới hạn: 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.wsgi07 tháng 8 07:13:26 hitesh systemd[1]: Đã khởi động hệ thống kiểm soát quy trình Supervisor cho UNIX.07/08 07:13:27 hitesh supervisord[15015]: 07/08/2019 07:13:27,087 CRIT Supervisor chạy dưới dạng root (không có người dùng trong tệp cấu hình)07/08 07:13:27 hitesh supervisord[15015]: 07/08/2019 07:13:27,089 THÔNG TIN Đã bao gồm tệp bổ sung "/etc/supervisor/conf.d/netbox.conf" trong quá trình phân tích cú pháp07/08 07:13:27 hitesh supervisord[15015]: 07/08/2019 07:13:27,117 THÔNG TIN Giao diện RPC 'supervisor' đã được khởi tạo07/08 07:13:27 hitesh supervisord[15015]: 07/08/2019 07:13:27,117 Máy chủ CRIT 'unix_http_server' đang chạy mà không có bất kỳ kiểm tra xác thực HTTP nào07/08 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,118 THÔNG TIN supervisord đã bắt đầu với pid 1501507/08 07:13:28 hitesh supervisord[15015]: 2019-08-07 07:13:28,123 THÔNG TIN đã tạo: 'netbox' với pid 1503707/08 07:13:29 hitesh supervisord[15015]: 2019-08-07 07:13:29,610 THÔNG TIN thành công: netbox đã vào trạng thái CHẠY, tiến trình đã dừng
Cấu hình Nginx cho NetBox
Tiếp theo, bạn sẽ cần cấu hình Nginx để truy cập NetBox bằng cổng 80. Để thực hiện, hãy tạo tệp cấu hình máy chủ ảo bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/netbox
Mã:
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; }}
Mã:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/
Mã:
systemctl restart nginx
Truy cập Giao diện Web NetBox
NetBox hiện đã được cài đặt và cấu hình, đã đến lúc truy cập giao diện web NetBox.Mở trình duyệt web của bạn và nhập URL http://your-domain.com. Bạn sẽ được chuyển hướng đến trang sau:
Bây giờ, hãy nhấp vào nút Đăng nhập ở góc trên bên phải. Bạn sẽ thấy trang sau:
Bây giờ, hãy cung cấp tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút Đăng nhập . Bạn sẽ thấy bảng điều khiển mặc định của NetBox ở trang sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình thành công NetBox trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể quản lý và ghi lại Mạng và địa chỉ IP của mình từ vị trí trung tâm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.