前言:我是使用的阿里云服务器来搭建jumpserver,阿里云自带的python版本比较老,所以需要自己下。
网上有很多搭jumpserver的教程,基本上问题都不大,比如https://www.jianshu.com/p/c9d5bbde7018
这一篇。但是我遇到的问题是python环境的问题,很多次都会报错,要么是python模板找不到,要么是版本不匹配。由于我本人平时主要接触的是java开发,对python语言不怎么了解,所以解决难度较大。
提示:只想知道如何快速搭建jumpserver的可以直接去到分割线下
我先写上我之前的搭建步骤:
(1)安装依赖包修改字符集
sudo apt-get update && apt-get -y upgrade
sudo apt-get -y install wget libkrb5-dev libsqlite3-dev gcc make automake libssl-dev zlib1g-dev libmysqlclient-dev libffi-dev git xz-utils
sudo apt-get install language-pack-zh-hans
echo 'LANG="zh_CN.UTF-8"' > /etc/default/locale
(2)下载python并配置
mkdir download && cd download
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
tar xf Python-3.6.5.tar.xz && cd Python-3.6.5
./configure --prefix=/usr/local/python && make && make install
echo 'export PATH=/usr/local/python/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
(3)下载jumpserver
cd /opt && git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
(4)安装依赖包
cd /opt/jumpserver/requirements
apt-get -y install $(cat deb_requirements.txt)
(5)安装python依赖(问题主要出在这步,很多依赖安装有问题,加上ubuntu本身自带有python,版本切换我也挺迷糊,根据网上写的尝试了之后输入python -V显示的是正确的版本,不过pip的版本好像又不对,不太懂这二者之间的关系,切换版本可以看这篇文章https://blog.csdn.net/beijiu5854/article/details/77897767
)
/usr/local/python/bin/pip3 install -r requirements.txt
(6)安装Redis
sudo apt-get -y install redis-server
systemctl start redis
(7)安装mysql(如果之前有可以直接用,就不用新安装了)
sudo apt-get -y install mysql-server
(8)创建一个mysql账号给jumpserver
mysql -uroot -e "create database jumpserver default charset 'utf8';grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'aabbcc';flush privileges;"
前面的准备工作就完成了,后面进入jumpserver目录,执行
cp config_example.cnf config.cnf
再进入config.cnf配置数据库账号密码,之后
cd utils
bash make_migrations.sh
初始化数据库数据,完成这些后就可以启动jumpserver了。
分割线-------------------------------------------------------------------
前面也说了,python环境我一直没弄对,后面在官网上看到了支持docker搭建,那事情一下就简单多了。
直接回滚镜像到初始状态,然后安装docker,阿里云上很方便直接
apt-get install docker-ce
然后安装jumpserver
docker run --name jms_all -d -p 80:80 -p 2222:2222 -e SECRET_KEY= yourkey -e BOOTSTRAP_TOKEN= yourtoken jumpserver/jms_all:latest
如何查看key和token可以看这篇文章
https://www.cnblogs.com/heyongboke/p/11153802.html
但是最后运行起来我发现load一直飙到30多,卡顿相当明显。我开始觉得是内存不够,但是查看了内存还有剩余。所以我又推测是cpu资源不够,毕竟用的学生机。但是我到网上搜了一圈,竟然没有找到一篇正经说资源问题的帖子,而且官网上也没有写资源需求。那按道理jumpserver占用资源应该不多呀,于是我又下了几个镜像启动容器进行实验,结果第一个就有了很大改观,load只有一点几,进去操作也很流畅,所以直接原因还是镜像的问题。我把我后面使用的镜像写在下面,还是上面的命令,直接替换镜像就可。
镜像名是:jumpserver/allinone:latest