环境:

CentOS 7、EPEL库、git、python3.8.0版本以上、postgreSQL、redis、netbox、Nginx

安装步骤:

1、安装epel库

sudo yum -y install epel-release

2、在CentOS 7系统上禁用SELinux

sudo setenforce 0

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

cat /etc/selinux/config | grep SELINUX=

3、安装Netbox安装的依赖项包

sudo yum -y install @"Development Tools"

sudo yum -y install wget vim gcc httpd git libxml2-devel libxslt libffi-devel graphviz libxslt-devel supervisor zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel gdbm-devel ncurses-devel

4、在CentOS 7上安装Python 3.8

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

解压:

tar xzf Python-3.8.0.tgz

进入python

cd Python-3.8.0

sudo ./configure --enable-optimizations

sudo make altinstall

创建python3.8到python3的软连接

sudo ln -fs /usr/local/bin/python3.7 /usr/bin/python3

sudo ln -fs /usr/local/bin/pip3.7 /usr/bin/pip3

5、安装和配置PostgreSQL数据库

sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

安装数据库服务器

sudo yum -y install postgresql14 postgresql14-server

初始化数据库

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

设置开机自启动

sudo systemctl enable postgresql-14

sudo systemctl start postgresql-14

例:配置数据库用于netbox(根据实际开发情况进行配置)

sudo su - postgres

-bash-4.2$ psql

psql (14.0)

Type "help" for help.

postgres=# CREATE DATABASE netbox;

CREATE DATABASE

postgres=# CREATE USER netbox WITH PASSWORD 'StrongPassword';

CREATE ROLE

postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

GRANT

postgres=#

postgres=# \q

-bash-4.2$ exit

logout

启用密码登录PostgreSQL数据库

sudo sed -i -e 's/ident/md5/' /var/lib/pgsql/14/data/pg_hba.conf

重启pgsql

sudo systemctl restart postgresql-14

6、在CentOS 7上安装和配置Netbox

在opt文件夹下从git上拉取netbox

cd /opt/

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

进入到netbox文件内对配置文件进行自配置

cd netbox/netbox/netbox/

sudo cp configuration_example.py configuration.py

编辑configuration.py文件

ALLOWED_HOSTS = [''] '内'进行IP指定

# PostgreSQL database configuration.

DATABASE = {

'NAME': 'netbox', # Database name

'USER': 'netbox', # PostgreSQL username

'PASSWORD': 'StrongPassword', # PostgreSQL password

'HOST': 'localhost', # Database server

'PORT': '', # Database port (leave blank for default)

}

创建一个netbox的虚拟环境

cd /opt/netbox/

sudo python3 -m venv /opt/netbox/venv

激活环境

source venv/bin/activate

环境内安装Django依赖

sudo python3 -m pip install -U pip

sudo python3 -m pip install -U setuptools

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

sudo pip3 install --upgrade PyYAML --ignore-installed

配置Django环境变量

PYTHONPATH="/usr/local/lib/python3.8/site-packages/":"${PYTHONPATH}"

export PYTHONPATH

生成Django密钥

cd /opt/netbox/netbox

./generate_secret_key.py

再次编辑configuration.py文件,将SECRET_KEY填入密钥

创建框架

cd /opt/netbox/netbox/

sudo python3 manage.py migrate

创建Netbox Admin用户和静态文件

sudo python3 manage.py createsuperuser

通过运行以下命令移动静态文件

sudo python3 manage.py collectstatic

为Netbox配置gunicorn

sudo pip3 install gunicorn

sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn_config.py

编辑gunicorn_config.py配置文件

sudo vim /opt/netbox/gunicorn_config.py

在配置文件顶部添加如下信息

command = '/usr/bin/gunicorn'

pythonpath = '/opt/netbox/netbox'

user = 'netbox'

创建一个netbox的超级管理员

sudo vim /etc/supervisord.d/netbox.ini

填入如下信息:

[program:netbox]

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

directory = /opt/netbox/netbox/

user = netbox

配置超级管理员信息

sudo groupadd --system netbox

sudo useradd --system netbox -g netbox

sudo chown -R netbox:netbox /opt/netbox/netbox/media/

配置开机自启动

sudo systemctl enable supervisord

sudo systemctl restart supervisord

配置端口:(以8001为例)

sudo ss -tunelp | grep 8001

安装redis

sudo yum -y install redis

sudo systemctl enable --now redis

systemctl status redis

7、将httpd或Nginx配置为Netbox的代理

1、安装Nginx

sudo yum -y install nginx

2、创建一个虚拟文件并写入如下内容

server {

listen 80;

server_name netbox.example.com;

client_max_body_size 25m;

location /static/ {

alias /opt/netbox/netbox/static/;

}

location / {

proxy_pass http://127.0.0.1:8001;

}

}

3、配置Nginx开机自启动

sudo nginx -t

sudo systemctl start nginx

sudo systemctl enable nginx

4、关闭防火墙

sudo firewall-cmd --permanent --add-port={80,443}/tcp

sudo firewall-cmd --reload

8、访问地址:

127.0.0.1(根据自己配置)

# CentOS 7 安装 NETBOX相关推荐

  1. CentOS 8 安装图解

    继 RHEL 8 发布之后,CentOS 社区也发布了让人期待已久的 CentOS 8,并发布了两种模式: CentOS stream:滚动发布的 Linux 发行版,适用于需要频繁更新的开发者 Ce ...

  2. centOS 自动安装php

    centos下安装php #yum install -y php 这个只安装PHP 建议安装运行库及MySQL的支持 #yum install -y php php-devel php-mysql 如 ...

  3. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  4. linux卸载欧朋浏览器,如何在Centos下安装opera浏览器

    如何在Centos下安装opera浏览器 ,Opera目前是Linux平台上性能最优的浏览器,而且Opera中国团队本身即定位于Opera的研发中心,主要也是负责全球Linux平台项目的开发,这个版本 ...

  5. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

  6. CentOS 7 安装 Jenkins

    CentOS 7 安装 Jenkins 准备工作 首选需要安装JAVA环境 这个简单不说了 如果你的系统没有自带git,那么也需要安装一个 yum install git 1.安装 第一种方法 sud ...

  7. centos+ffmpeg安装配置+切片

    在虚拟机vmware6(版本比较旧了)中,安装centos6,不多说了. vmware虚拟工具安装前,需要安装如下内容 yum -y install kernel-devel yum -y insta ...

  8. centos 编译安装mysql

    centos 编译安装mysql,请看附件 转载于:https://blog.51cto.com/3131854/1883713

  9. 在CentOS下安装apche+tomcat+mysql+php

    在CentOS下安装apche+tomcat+mysql+php 本例中所用到的软件 Apache 2.2 Sun的JDK-1_5_0_12-linux-i586 MySQL: mysql-5.0.4 ...

最新文章

  1. 2018年视频云服务市场格局进入整合阶段,阿里云视频云位居市场竞争力领导者的位置...
  2. NLP技术在海外金融机构的应用
  3. 【推荐】ZendStudio 5.5.1 开发调试(Debug)配置说明
  4. Java--图片浏览器
  5. 社交平台舆情分析项目的总结和感想(LU学习,EM,KNN)(二)
  6. 请问:如何写出没有BUG的代码?
  7. L3-002 堆栈 树状数组+二分答案
  8. php页面怎么去登录,php中登录后跳转回原来要访问的页面实例
  9. 【CodeForces - 205B 】Little Elephant and Sorting (思维)
  10. java8 groupingby_Java8 教程第五章之Streams Collectors groupingBy
  11. PHP下获取上个月、下个月、本月的日期(strtotime,date)
  12. STM32跑html协议,STM32移植SBUS协议
  13. ME525+ Defy+ 刷机指南[zz]
  14. uml通信图画法_UML各种图画法总结
  15. hadoop学习路线
  16. 将雅虎《心香一脉》每天推荐的文章发到咱邮箱(Java版)
  17. Java中的for循环
  18. 高翔视觉SLAM十四讲课本代码运行
  19. 虚拟化中的链接克隆技术
  20. 数字IC后端实现问答(摘选自知识星球本周问答)

热门文章

  1. Mongodb 数据库基本操作语句,结合 Node.js + express + mongoose (实现增、删、改、查,批量增加、修改等,创建临时表,多表查询......)
  2. Android常用设计模式
  3. 用js实现菜单的联动选择
  4. 上海市街道划分矢量数据
  5. Java 文件压缩工具类
  6. 特斯联科技携手比特大陆共建国内首家物联网区块链实验室
  7. CF - E95(div2) -- A. Buying Torches【简单思维】
  8. 【蓝桥杯集训100题】scratch从小到大排序 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第17题
  9. opencv 梯度幅值_基于OpenCV的图像梯度与边缘检测!
  10. 乔布斯在斯坦福大学的演讲--摘录