环境:

Centos7  2c4g  50G

依赖、版本:

PostgreSQL database  > v10
        Redis > v4.0
        NetBox components > v3
        Python 3.8

1) install PostgreSQL 10

centos7 自带的PG数据库是9.2,而只有9.4才开始支持JSONB。

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -yyum install postgresql10-contrib postgresql10-server -y psql -V        # 查看版本号,验证安装是否成功

初始化数据库并设置开机启动:

/usr/pgsql-10/bin/postgresql-10-setup initdb        # 初始化数据库sudo systemctl start postgresql-10        # 启动pgsqlsudo systemctl enable postgresql-10.service        # 添加开机启动

登陆pgsql并创建账户:

sudo -u postgres psql        # 创建 netbox 相关数据库信息:CREATE DATABASE netbox;CREATE USER netbox WITH PASSWORD '39tprXhrnELC';GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;列出所有用户:\du退出: \q

验证:

psql --username netbox --password --host localhost netboxPassword for user netbox:psql (12.5 (Ubuntu 12.5-0ubuntu0.20.04.1))SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)Type "help" for help.netbox=> \conninfoYou are connected to database "netbox" as user "netbox" on host "localhost" (address "127.0.0.1") at port "5432".SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)netbox=> \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
# Allow replication connections from localhost, by a user with 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.com/。安装最新的 Redis :

​
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum --enablerepo=remi install redis -yredis-server -v        # 确认 redis 版本​

3)install Python3.8

yum install -y centos-release-scl        # 仓库注册yum install -y rh-python38 which         # 安装python3.8# 创建软连接ln -s /opt/rh/rh-python38/root/usr/bin/python3 /usr/bin/python3ln -s  /opt/rh/rh-python38/root/usr/bin/pip3 /usr/bin/pip3python -V        # 确认版本

4)Install NetBox components

安装环境依赖:

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

源码安装:

​
wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.1.7.tar.gztar -zxvf v3.1.7.tar.gzmv netbox-3.1.7 && cd /optln -s /opt/netbox-3.1.7 /opt/netbox​

创建NetBox系统用户:

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

配置:

1、cp配置文件

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

2、打开 configuration.py 以开始配置 NetBox。NetBox 提供了许多配置参数,但新安装只需要以下四个:

ALLOWED_HOSTS = ['*']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)}

3、redis 使用默认参数

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,}}

4、SECRET_KEY

cd  /opt/netbox/netbox/python3 generate_secret_key.py# 将 key 复制到 configuration.py 的SECRET_KEY = 'a%X$8=!JyjMFXt19=CO2FHJehsp^S$t0i*9r5ALL$ZUho)*wDk'

运行升级脚本:

# 配置好 NetBox 后,将运行打包的升级脚本 ( upgrade.sh) 来执行以下操作:# 创建 Python 虚拟环境# 安装所有必需的 Python 包# 运行数据库架构迁移# 在本地构建文档(供离线使用)# 聚合磁盘上的静态资源文件sudo /opt/netbox/upgrade.sh# 如果默认的版本较低,可以使用环境变量来运行脚本:sudo PYTHON=/usr/bin/python3.8 /opt/netbox/upgrade.sh

创建超级用户:

NetBox 没有默认账户,需要创建一个超级用户(管理帐户)才能登录 NetBox。

进入虚拟环境:

source /opt/netbox/venv/bin/activate(venv) [root@localhost netbox]# cd /opt/netbox/netbox(venv) [root@localhost netbox]# python3 manage.py createsuperuser

启用定时任务来清理过期会话:

调用此命令的 shell 脚本包含在contrib/netbox-housekeeping.sh. 它可以复制或链接到您系统的每日 cron 任务目录,或直接包含在 crontab 中。(如果将 NetBox 安装到非标准路径,请务必先更新此脚本中的系统路径。)

sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

测试验证:

python3 manage.py runserver 0.0.0.0:8000 --insecure

此时浏览器如果无法访问 请关闭 防火墙:

systemctl stop firewalldsystemctl disable firewalld

或者放行端口:

firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload

pg_dump 备份 NetBox3的数据:

pg_dump --username netbox --password --host localhost netbox > netbox.sql

引用:

Installing NetBox - NetBox Documentation
        https://netbox.readthedocs.io/en/stable/installation/

基于centos7 部署 NetBox3相关推荐

  1. 基于centos7部署监控利器Zabbix

    一.Zabix简介 Zabbix是一款开源的监控软件,它能提供对网络,系统负载,web页面等服务的监控.并且支持实时从客户端收集数据.Zabbix能帮助监控系统的健康状态,发现故障.在Zabbix客户 ...

  2. openstack 系列: 基于CentOS7系统使用packstack工具单节点部署openstacktrain---Part-I安装简易命令

    1说明 本人非linux专业人士,更不是云计算专家 部署过程是从各大博客自己百度知道 各种搜索排查,硬是搭起了train环境 过程纠结,先是在win 10 vmware 上安装centos7 再基于c ...

  3. centos7 校正linux系统时间_基于centos7系统部署NTP服务及配置时间定时同步

    概述 linux服务器在提供服务时,要和其他机器进行请求的交互,实际生产环境中,可能因为时间不同步,导致了服务异常. 下面介绍下怎么部署NTP服务来解决这个问题. ps:强烈吐槽下头条这个新排版功能, ...

  4. 基于centos7.3 3.10-514的LVS双机负载均衡部署方案

    基于centos7.3 3.10-514的LVS双机负载均衡部署方案 主机:192.168.1.51 备机:192.168.1.52 LVS VIP: 192.168.1.50 0.制作系统本地的光盘 ...

  5. centos7 没有pip命令_Linux(CentOS7)部署系列---Docker编排应用部署方案

    前言 在上一篇文章中 https://www.toutiao.com/i6756219936244269572/ 介绍了基于常规部署的方案,随着容器技术的越来越成熟,需要不同的方式进行部署应用,下面会 ...

  6. centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署

    概述 因为OSC和innotop这两个需要的依赖包比较接近,所以这次就写一起了,下面介绍下完整的部署教程,以下基于centos7操作系统. 官网文档:http://dev.mysql.com/doc/ ...

  7. 基于CentOS7,MySQL5.7的高可用MHA架构搭建实战

    基于CentOS7,MySQL5.7的高可用MHA架构搭建实战 MHA 架构搭建 一 .MHA架构 MHA(Master High Availability)是一套比较成熟的 MySQL 高可用方案, ...

  8. 基于CentOS7,MySQL5.7的 读写分离

    基于CentOS7,MySQL5.7的 读写分离 一.读写分离 1.1 读写分离引入时机 大多数互联网业务中,往往读多写少,这时候数据库的读会首先成为数据库的瓶颈.如果我们已经优化了SQL,但是读依旧 ...

  9. 基于CentOS7,MySQL5.7的主从复制架构搭建实战

    基于CentOS7,MySQL5.7的主从复制架构搭建实战1 一.环境说明 1. 软件版本 环境&软件 版本 虚拟机&VMware Workstation 15 Pro 服务器& ...

最新文章

  1. VS2010中如何更改项目名称【转】
  2. AndroidStudio常用快捷键及其设置
  3. h5 修改title 微信_微信公众号客服消息不限次数推送如何设置?
  4. 记录之tensorflow和pytorch中的取范数归一化操作
  5. FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
  6. 如何成为呼叫中心客服老司机
  7. php 模块 远程,ThinkPHP远程调用模块的操作方法 URL 参数格式
  8. python打开浏览器并最大化_我需要Selenium以更大的分辨率打开它的Web浏览器(最好是最大化)...
  9. SQL Server 之 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误
  10. 落花美眷,终究抵不过逝水流连,回忆我的2016,展望2017。
  11. 计算机课件白板培训,希沃白板使用教学,直接导入PPT课件并修改
  12. intel服务器无线网卡,英特尔网卡: Intel无线网卡Win7驱动 12.4.1.53版发布
  13. 数据库维护计划中出现错误,数据库无法自动备份。 错误提示:作业失败。所有者(XXX\administrator用户拥有DB维护计划“数据库备份”作业)没有服务器访问权限。
  14. MFC对话框标题栏颜色自绘,标题栏由过渡色组成,自绘关闭按钮
  15. c语言程序运行超时是怎么回事,这个运行超时是什么原因?求助~
  16. 一个游戏建模师一天的工作都在做什么?
  17. Coder之路,平凡才是唯一的答案
  18. win10 使用苹果耳机没有声音解决方案
  19. 计算机毕业设计ssm家具商城hog7l系统+程序+源码+lw+远程部署
  20. 3D动作绑定_三维动画制作流程——商迪3D科普分享系列(二)

热门文章

  1. 义乌个体工商户结汇怎么办理,需要什么资料
  2. 乳业何以自信?来自呼和浩特的48小时观察
  3. 运营一个自媒体新账号,从拍摄剪辑到赚取收益,都有哪些步骤?
  4. 高端html5网站设计工作室织梦模板 dedecms5.7,html5高端网络建站设计工作室网站织梦模板...
  5. 图像分割、图像超分辨率简介
  6. Springboot单元测试mysql_Springboot Mybatis-Plus数据库单元测试实战(三种方式)
  7. HTML 基本学习------更新至链接
  8. 如何阅读一篇论文-CS230
  9. 迪文屏幕动态曲线显示问题记录
  10. HTML插入FLASH的全兼容解决方案[主讲SWFObject方法]