系统: CentOS 7 IP: 192.168.11.199
关闭 selinux 和防火墙
1 # setenforce 0 # 临时关闭,重启后失效 2 # systemctl stop firewalld.service # 临时关闭,重启后失效
修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
1 # localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 2 # export LC_ALL=zh_CN.UTF-8 3 # echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
一. 准备 Python3 和 Python 虚拟环境
1.1 安装依赖包
1 # yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
1.2 编译安装
1 # wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz 2 # tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1 3 # ./configure && make && make install
1.3 建立 Python 虚拟环境
1 # cd /opt 2 # python3 -m venv py3 3 # source /opt/py3/bin/activate
1.4 自动载入 Python 虚拟环境配置
1 # cd /opt 2 # git clone https://github.com/kennethreitz/autoenv.git 3 # echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc 4 # source ~/.bashrc
二. 安装 Jumpserver
2.1 下载或 Clone 项目
1 # cd /opt/ 2 # git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master 3 # echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env # 进入 jumpserver 目录时将自动载入 python 虚拟环境
2.2 安装依赖 RPM 包
1 # cd /opt/jumpserver/requirements 2 # yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续
2.3 安装 Python 库依赖
1 # pip install -r requirements.txt
2.4 安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
1 # yum -y install redis 2 # systemctl enable redis 3 # systemctl start redis
2.5 安装 MySQL
1 # yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb 2 # systemctl enable mariadb 3 # systemctl start mariadb 4 # mysql_secure_installation #设置mysql密码,比如密码设置为123456
2.6 创建数据库 Jumpserver 并授权
1 # mysql -p123456 2 > create database jumpserver default charset 'utf8'; 3 > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456'; 4 > flush privileges;
2.7 修改 Jumpserver 配置文件
1 # cd /opt/jumpserver 2 # cp config_example.py config.py 3 # vi config.py
# 注意对齐,不要直接复制本文档的内容,实际内容以文件为准
注意: 配置文件是 Python 格式,不要用 TAB,而要用空格
修改:
1 # SECRET_KEY = os.environ.get('SECRET_KEY') or '2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x' 2 SECRET_KEY = '请随意输入随机字符串(推荐字符大于等于 50位)'
# 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
1 LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING' 2 LOG_DIR = os.path.join(BASE_DIR, 'logs')
# 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
1 # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# 默认使用SQLite3,如果使用其他数据库请注释下面两行
1 # DB_ENGINE = 'sqlite3' 2 # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
# 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
1 DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql' 2 DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1' 3 DB_PORT = os.environ.get("DB_PORT") or 3306 4 DB_USER = os.environ.get("DB_USER") or 'jumpserver' 5 DB_PASSWORD = os.environ.get("DB_PASSWORD") or '123456' 6 DB_NAME = os.environ.get("DB_NAME") or 'jumpserver'
2.8 生成数据库表结构和初始化数据
1 # cd /opt/jumpserver/utils 2 # bash make_migrations.sh
2.9 运行 Jumpse