上一篇 下一篇 分享链接 返回 返回顶部

在Ubuntu上安装NetBox网络文档和管理工具

发布人:Minchunlin 发布时间:2020-12-25 20:55 阅读量:1840

Netbox是一款免费且功能强大的IP地址(IPAM)和数据中心基础设施管理(DCIM)工具。它用于存储你的网络、虚拟机、库存等信息。它最初是由DigitalOcean的网络工程团队开发的。这个工具是用Django Python框架编写的,并依赖于PostgreSQL数据库。

在本教程中,我们将说明如何在Ubuntu 20.04上使用Nginx作为反向代理安装Netbox。

一、先决条件

正常运行Ubuntu 20.04的服务器。

服务器上配置了root密码。

二、安装依赖项

在开始之前,您将需要安装Netbox所需的一些依赖项。您可以通过运行以下命令来安装所有它们:

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

一旦安装了所有软件包,就可以继续进行下一步。

三、安装和配置PostgreSQL数据库

Netbox依靠PostgreSQL数据库进行数据存储。您可以使用以下命令进行安装:

apt-get install postgresql postgresql-contrib -y

PostgreSQL安装完成后,使用以下命令登录到PostgreSQL:

su - postgres

postgres@ubuntu2004:~$ psql

您应该获得以下输出:

psql (12.2 (Ubuntu 12.2-4))

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 Shell退出:

postgres=# exit

postgres@ubuntu2004:~$ exit

四、安装和配置NetBox

首先,将目录更改为/ opt并使用以下命令从Git Hub存储库下载最新版本的Netbox:

cd /opt/

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

接下来,使用以下命令创建Python二进制文件的符号链接:

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

接下来,将目录更改为/ opt / netbox / netbox /并通过运行以下命令来生成Django SECRET密钥:

cd /opt/netbox/netbox/

./generate_secret_key.py

您应该获得以下输出:

wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z

接下来,将目录更改为netbox并重命名示例配置文件:

cd netbox

mv configuration.example.py configuration.py

接下来,编辑Netbox配置文件并定义数据库,密钥和允许的主机:

nano configuration.py

进行以下修改:

保存并关闭文件,然后使用以下命令安装所有Python依赖项:

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

接下来,使用以下命令迁移数据库:

cd /opt/netbox/netbox/

python3 manage.py migrate

接下来,使用以下命令创建一个Netbox管理用户:

python3 manage.py createsuperuser

系统将要求您提供用户名和密码,如下所示:

接下来,使用以下命令收集静态文件:

python3 manage.py collectstatic

您应该看到以下输出:

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

五、安装和配置Gunicorn

Netbox是一个基于Django的应用程序。因此,您需要在系统中安装Gunicorn。您可以通过运行以下命令来安装它:

pip3 install gunicorn

安装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'

完成后保存并关闭文件。

六、安装和配置Supervisor

Supervisor是一个客户端/服务器系统,允许您监视和控制NetBox服务。您可以使用以下命令为Netbox创建新的Supervisor配置文件:

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

添加以下行:

[program:netbox]

[program:netbox]

command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi

directory = /opt/netbox/netbox/

user = www-data

完成后,保存并关闭文件。然后,使用以下命令重新启动Supervisor服务:

systemctl restart supervisor

您还可以使用以下命令来验证Supervisor服务的状态:

systemctl status supervisor

您应该获得以下输出:

七、为NetBox配置Nginx

将Nginx配置为反向代理以访问端口80上的Netbox是一个好主意。您可以使用以下命令创建新的Nginx虚拟主机配置:

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

添加以下行:

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;

}

}

保存并关闭文件。然后,创建一个指向/etc/nginx/sites-enabled/目录的符号链接:

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

接下来,使用以下命令验证Nginx是否存在语法错误:

nginx -t

如果一切正常,您应该获得以下输出:

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

nginx: configuration file /etc/nginx/nginx.conf test is successful

最后,重新启动Nginx服务以实现更改。

systemctl restart nginx

您还可以使用以下命令验证Nginx:

systemctl status nginx

您应该获得以下输出:

此时,Nginx Web服务器已配置为在端口80上为Netbox提供服务。您现在可以继续访问Netbox Web界面。

八、访问Netbox Web界面

打开Web浏览器,然后访问URL http:// 你的服务器IP地址。您将打开以下界面:

点击登录的按钮。您应该在以下屏幕中看到Netbox登录页面:

输入您的Netbox管理员用户名,密码,然后单击登录 按钮。您应该在以下页面中看到Netbox默认仪表板:

总结

在本文中,如何使用Nginx在Ubuntu 20.04上安装Netbox就已经完成了。

目录结构
全文