# Netbox安装配置及使用

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/21278.html | 发布：2023-06-15 | 更新：2023-06-15 | 分类：建站教程

一.环境部署  
在正式使用NETBOX之前，需要提前配置以下所有：  
1.Postsql

 

本节需要安装和配置本地 PostgreSQL 数据库。如果您已经有一个 PostgreSQL 数据库服务，请跳到下一部分。

 

注意：NetBox 需要 PostgreSQL 11 或更高版本。请注意，不支持 MySQL 和其他关系数据库。

 

本人以本机centos7镜像为例子，首先以管理员权限进入虚拟机

 

首先确认自己的yum是否为最新 不然可能无法执行一些命令。

 

进入postsql选择适合自己的postsql版本

 

传送门：PostgreSQL：Linux 下载（Red Hat 系列）

 

本人选择如下版本：  
 按照提示在虚拟机的命令面板执行即可

  

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm  
sudo yum install -y postgresql12-server  
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb  
sudo systemctl enable postgresql-12  
sudo systemctl start postgresql-12

 

在完成安装后，需要为 NetBox 创建一个数据库，并为其分配用户名和密码进行身份验证。首先以系统 Postgres 用户身份调用 PostgreSQL shell。

 

sudo -u postgres psql

 

此时可能会有一个权限不足的提醒，如下图，可以忽略

 

继续输入以下命令，看到如下图成功后即可

 

CREATE DATABASE netbox;  
CREATE USER netbox WITH PASSWORD 'J5brHrAXFLQSif0K';  
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

 

2.Redis

 

NetBox v2.9.0 及更高版本需要 Redis v4.0 或更高版本。如果您的发行版没有提供足够新的版本，则需要从源代码构建 Redis。有关更多详细信息，请参阅 Redis 安装文档。

 

由于 redis 是用 C 语言开发，安装之前必先确认是否安装 gcc 环境（gcc -v），如果没有安装，执行以下命令进行安装。

 

yum install -y gcc

 

然后wegt +自己的下载链接，下载完后tar -zvxf +压缩包名解压

 

tar -zvxf 7.0.7.tar.gz

 

## **3.Netbox**

 

在安装netbox前先安装python

 

**NetBox 需要 Python 3.8、3.9、3.10 或 3.11**

 

**安装完python后导入依赖包**

 

**sudo yum install -y gcc libxml2-devel libxslt-devel libffi-devel libpq-devel openssl-devel redhat-rpm-config**

 

克隆 Git 存储库

 

创建 NetBox 安装的基本目录。对于本指南，我们将使用 .`/opt/netbox`

 

安装git:

 

sudo yum install -y git

 

因为git clone要访问github，需要在下载完git后输入以下的命令：

 

**git config --global http.postBuffer 524288000**

 

**接下来，将 NetBox GitHub 存储库的主分支克隆到当前目录中。（此分支始终保存当前稳定版本**

 

**sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .**

 

**该命令应生成类似于以下内容的输出：`git clone`**

 

**Cloning into '.'... remote: Enumerating objects: 996, done. remote: Counting objects: 100% (996/996), done. remote: Compressing objects: 100% (935/935), done. remote: Total 996 (delta 148), reused 386 (delta 34), pack-reused 0 Receiving objects: 100% (996/996), 4.26 MiB | 9.81 MiB/s, done. Resolving deltas: 100% (148/148), done.**

 

## **创建网络盒系统用户**

 

创建名为 的系统用户帐户。我们将 WSGI 和 HTTP 服务配置为在此帐户下运行。我们还将分配此用户对媒体目录的所有权。这确保了NetBox能够保存上传的文件。

 

sudo groupadd --system netbox  
sudo adduser --system -g netbox netbox  
sudo chown --recursive netbox /opt/netbox/netbox/media/

 

## **配置**

 

移动到 NetBox 配置目录并创建名为 .此文件将保存所有本地配置参数。

 

cd /opt/netbox/netbox/netbox/  
sudo cp configuration_example.py configuration.py

 

使用您首选的编辑器打开以开始配置 NetBox。NetBox 提供了许多配置参数，但新安装只需要以下四个参数：configuration.py

 

ALLOWED_HOSTS  
 DATABASE  
 REDIS  
 SECRET_KEY

 

ALLOWED_HOSTS

 

这是可以访问此服务器的有效主机名和 IP 地址的列表。必须至少指定一个名称或 IP 地址。（请注意，这并不限制可以访问 NetBox 的位置：它仅用于 HTTP 主机标头验证。

 

ALLOWED_HOSTS = ['netbox.example.com', '192.0.2.123']

 

如果您还不确定 NetBox 安装的域名和/或 IP 地址是什么，则可以将其设置为通配符（星号）以允许所有主机值：

 

ALLOWED_HOSTS = ['*']

 

数据库

 

此参数保存数据库配置详细信息。您必须定义配置 PostgreSQL 时使用的用户名和密码。如果服务在远程主机上运行，请相应地更新 和 参数。有关各个参数的更多详细信息，请参阅配置文档。HOSTPORT

 

DATABASE = { 'NAME': 'netbox', # Database name 'USER': 'netbox', # PostgreSQL username 'PASSWORD': 'J5brHrAXFLQSif0K', # PostgreSQL password 'HOST': 'localhost', # Database server 'PORT': '', # Database port (leave blank for default) 'CONN_MAX_AGE': 300, # Max database connection age (seconds) }

 

雷迪斯

 

Redis 是 NetBox 用于缓存和后台任务队列的内存中键值存储。Redis 通常需要最少的配置;以下值应该足以满足大多数安装的需求。有关各个参数的更多详细信息，请参阅配置文档。

 

请注意，NetBox 需要规范两个独立的 Redis 数据库：和 。它们可能都由同一 Redis 服务提供，但每个服务都应具有唯一的数字数据库 ID。taskscaching

 

REDIS = { 'tasks': { 'HOST': 'localhost', # Redis server 'PORT': 6379, # Redis port 'PASSWORD': '', # Redis password (optional) 'DATABASE': 0, # Database ID 'SSL': False, # Use SSL (optional) }, 'caching': { 'HOST': 'localhost', 'PORT': 6379, 'PASSWORD': '', 'DATABASE': 1, # Unique ID for second database 'SSL': False, } }

 

SECRET_KEY

 

必须为此参数分配一个随机生成的密钥，用作哈希和相关加密函数的盐。（但请注意，它从未直接用于加密机密数据。此密钥对于此安装必须是唯一的，建议长度至少为 50 个字符。它不应在本地系统外部共享。

 

父目录中提供了一个名为的简单 Python 脚本，以帮助生成合适的密钥：generate_secret_key.py

 

单独启动一个命令面板，进入父目录后使用以下命令，并将生成的随机密码粘贴到configuration.py

 

```

```

 
 
1.  

 

```

```

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
