- 本流程环境centos7.8
PostgreSQL数据库安装
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql96 postgresql96-server postgresql96-devel
/usr/pgsql-9.6/bin/postgresql96-setup initdb
- 修改文件
/var/lib/pgsql/9.6/data/pg_hba.conf
中ident
为md5
- - 启动服务
systemctl start postgresql-9.6
systemctl enable postgresql-9.6
创建数据库
# sudo -u postgres psql
psql (9.4.5)
Type "help" for help.
postgres=# CREATE DATABASE netbox;
CREATE DATABASE
postgres=# CREATE USER netbox WITH PASSWORD 'J5brHrAXFLQSif0K';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
GRANT
postgres=# \q
- 验证状态
psql -U netbox -W -h localhost netbox
Redis安装
# yum install -y epel-release
# yum install -y redis
# systemctl start redis
# systemctl enable redis
- 验证状态
$ redis-cli ping
PONG
NetBox安装
# yum install -y gcc python36 python36-devel python36-setuptools libxml2-devel libxslt-devel libffi-devel openssl-devel redhat-rpm-config
# easy_install-3.6 pip
- 克隆git仓库
mkdir -p /opt/netbox/ && cd /opt/netbox/
- 下载git
# yum install -y git
- 克隆项目
git clone -b master https://github.com/netbox-community/netbox.git .
- 创建用户(centos需要先建组)
groupadd netbox
adduser -r netbox -g netbox
chown --recursive netbox /opt/netbox/netbox/media/
- 设置python环境
python3 -m venv /opt/netbox/venv
source venv/bin/activate
pip3 install -r requirements.txt
配置文件设置
- 备份配置文件
cd netbox/netbox/
cp configuration.example.py configuration.py
-编辑configuration.py
文件
- 设置可访问主机
ALLOWED_HOSTS = [‘127.0.0.1’]
如果全可以访问就填入*
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
}
- 至少包含50个字母数字字符的随机密钥
数据库迁移
cd /opt/netbox/netbox/
python3 manage.py migrate
管理员用户创建
(venv) # python3 manage.py createsuperuser
Username: admin
Email address: admin@example.com
Password:
Password (again):
Superuser created successfully.
python3 manage.py collectstatic --no-input
应用测试
- 本地访问可以通过127.0.0.1:8080访问到项目
python3 manage.py runserver 0.0.0.0:8000 --insecure
常驻运行
- 这里我们直接使用运行的方式来进行应用常驻
nohup python3 manage.py runserver 0.0.0.0:8000 –-insecure
- 当然正规的做法是
nginx +uwsgi +django
部署,比较麻烦 - 注:缺少venv环境对应位置执行source venv/bin/activate
参考文档:https://netbox.readthedocs.io/en/stable/