基于centos7 部署 NetBox3
环境 centos7
依赖、版本
PostgreSQL database > v10
Redis > v4.0
NetBox ponents > v3
Python 3.8
1) install PostgreSQL 10
centos7 自带的PG数据库是9.2,而只有9.4才开始支持JSONB。
yum install https://donload.postgresql./pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum install postgresql10-contrib postgresql10-server -y
psql -V # 查看版本号,验证安装是否成功
初始化数据库并设置开机启动
/usr/pgsql-10/bin/postgresql-10-setup initdb # 初始化数据库
sudo systemctl start postgresql-10 # 启动pgsql
sudo systemctl enable postgresql-10.service # 添加开机启动
登陆pgsql并创建账户
sudo -u postgres psql # 创建 box 相关数据库信息
CREATE DATAbase box;
CREATE USER box WITH PASSWORD '39tprXhrnELC';
GRANT ALL PRIVILEGES ON DATAbase box TO box;
列出所有用户du
退出 q
验证
psql --username box --passord --host localhost box
Passord for user box:
psql (12.5 (Ubuntu 12.5-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, pression: off)
Type "help" for help.
box=> conninfo
You are connected to database "box" as user "box" on host "localhost" (address "127.0.0.1") at port "5432".
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, pression: off)
box=> q
修改vi /var/lib/pgsql/10/data/pg_hba.conf
将 ident 修改为 md5 或者 trust,如下
# TYPE DATAbase USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allo replication connections from localhost, by a user ith the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
重要 更改完配置后,一定要重启pgsql
systemctl restart postgresql-10
2)Install Redis
CentOS 7 yum 默认安装的版本是3.2。
这里使用 Remi 的软件源,官网地址http://rpms.famillecollet./。安装最新的 Redis
yum install -y http://rpms.famillecollet./enterprise/remi-release-7.rpm
yum --enablerepo=remi install redis -y
redis-server -v # 确认 redis 版本
3)install Python3.8
yum install -y centos-release-scl # 仓库注册
yum install -y rh-python38 hich # 安装python3.8
# 创建软连接
ln -s /opt/rh/rh-python38/root/usr/bin/python3 /usr/bin/python3
ln -s /opt/rh/rh-python38/root/usr/bin/pip3 /usr/bin/pip3
python -V # 确认版本
4)Install NetBox ponents
安装环境依赖
yum install -y g libxml2-devel libxslt-devel libffi-devel libpq-devel openssl-devel redhat-rpm-config
源码安装
get https://github./box-munity/box/archive/refs/tags/v3.1.7.tar.gz
tar -zxvf v3.1.7.tar.gz
mv box-3.1.7 && cd /opt
ln -s /opt/box-3.1.7 /opt/box
创建NetBox系统用户
sudo groupadd --system box
sudo adduser --system -g box box
sudo chon --recursive box /opt/box/box/media/
配置
1、cp配置文件
cd /opt/box/box/box/
sudo cp configuration.example.py configuration.py
2、打开 configuration.py 以开始配置 NetBox。NetBox 提供了许多配置参数,但新安装只需要以下四个
ALLOWED_HOSTS = ['']
DATAbase = {
'NAME': 'box', # Database name
'USER': 'box', # PostgreSQL username
'PASSWORD': 'J5brHrAXFLQSif0K', # PostgreSQL passord
'HOST': 'localhost', # Database server
'PORT': '', # Database port (leave blank for default)
'CONN_MAX_AGE': 300, # Max database connection age (seconds)
}
3)redis 使用默认参数
REDIS = {
'tasks': {
'HOST': 'localhost', # Redis server
'PORT': 6379, # Redis port
'PASSWORD': '', # Redis passord (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,
}
}
4) SECRET_KEY
cd /opt/box/box/
python3 generate_secret_key.py
将 key 复制到 configuration.py 的
SECRET_KEY = 'a%X$8=!JyjMFXt19=CO2FHJehsp^S$t0i9r5ALL$ZUho)Dk'
运行升级脚本
配置好 NetBox 后,将运行打包的升级脚本 ( upgrade.sh) 来执行以下操作
创建 Python 虚拟环境安装所有必需的 Python 包运行数据库架构迁移在本地构建文档(供离线使用)聚合磁盘上的静态资源文件
sudo /opt/box/upgrade.sh
如果默认的版本较低,可以使用环境变量来运行脚本
sudo PYTHON=/usr/bin/python3.8 /opt/box/upgrade.sh
创建超级用户
NetBox 没有默认账户,需要创建一个超级用户(管理帐户)才能登录 NetBox。
进入虚拟环境
source /opt/box/venv/bin/activate
(venv) [root@localhost box]# cd /opt/box/box
(venv) [root@localhost box]# python3 manage.py createsuperuser
启用定时任务来清理过期会话
调用此命令的 shell 脚本包含在contrib/box-housekeeping.sh. 它可以复制或链接到您系统的每日 cron 任务目录,或直接包含在 crontab 中。(如果将 NetBox 安装到非标准路径,请务必先更新此脚本中的系统路径。)
sudo ln -s /opt/box/contrib/box-housekeeping.sh /etc/cron.daily/box-housekeeping
测试验证
python3 manage.py runserver 0.0.0.0:8000 --insecure
此时浏览器如果无法访问 请关闭 防火墙
systemctl s firealld
systemctl disable firealld
或者放行端口
fireall-cmd --zone=public --add-port=8000/tcp --permanent
fireall-cmd --reload
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线