mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-13 20:06:20 +00:00
[Update] 修改文档
This commit is contained in:
parent
13abd4c751
commit
634b36c74b
1
.gitignore
vendored
1
.gitignore
vendored
@ -30,3 +30,4 @@ celerybeat.pid
|
||||
django.db
|
||||
celerybeat-schedule.db
|
||||
data/static
|
||||
_build/
|
||||
|
BIN
docs/_build/doctrees/admin_asset.doctree
vendored
BIN
docs/_build/doctrees/admin_asset.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/admin_guide.doctree
vendored
BIN
docs/_build/doctrees/admin_guide.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/admin_user.doctree
vendored
BIN
docs/_build/doctrees/admin_user.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/contact.doctree
vendored
BIN
docs/_build/doctrees/contact.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/contributor.doctree
vendored
BIN
docs/_build/doctrees/contributor.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/development.doctree
vendored
BIN
docs/_build/doctrees/development.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/faq.doctree
vendored
BIN
docs/_build/doctrees/faq.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/index.doctree
vendored
BIN
docs/_build/doctrees/index.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/installation.doctree
vendored
BIN
docs/_build/doctrees/installation.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/quickstart.doctree
vendored
BIN
docs/_build/doctrees/quickstart.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/step_by_step.doctree
vendored
BIN
docs/_build/doctrees/step_by_step.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/user_guide.doctree
vendored
BIN
docs/_build/doctrees/user_guide.doctree
vendored
Binary file not shown.
30
docs/_build/html/_sources/contact.rst.txt
vendored
30
docs/_build/html/_sources/contact.rst.txt
vendored
@ -1,3 +1,33 @@
|
||||
联系方式
|
||||
+++++++++++++++++++++++++
|
||||
|
||||
QQ群
|
||||
~~~~~~~~
|
||||
|
||||
群1: 390139816
|
||||
群2: 399218702
|
||||
群3: 552054376
|
||||
|
||||
|
||||
Github
|
||||
~~~~~~~~
|
||||
|
||||
https://github.com/jumpserver/jumpserver.git
|
||||
|
||||
|
||||
官网
|
||||
~~~~~~~~
|
||||
|
||||
http://www.jumpserver.org
|
||||
|
||||
|
||||
Demo
|
||||
~~~~~~~~
|
||||
|
||||
http://demo.jumpserver.org:8080
|
||||
|
||||
|
||||
邮件
|
||||
~~~~~~~~
|
||||
|
||||
ibuler#fit2cloud.com (#替换为@)
|
13
docs/_build/html/_sources/contributor.rst.txt
vendored
13
docs/_build/html/_sources/contributor.rst.txt
vendored
@ -1,2 +1,13 @@
|
||||
贡献者
|
||||
++++++++++++++++++++++++
|
||||
++++++++++++++++++++++++
|
||||
|
||||
感谢一下朋友为Jumpserver做出的贡献,世界因你们而不同,排名不分先后
|
||||
|
||||
|
||||
- **小彧 <李磊>** Django资深开发者,为用户模块贡献了很多代码
|
||||
- **sofia <周小侠>** 资深前端工程师, 前端代码贡献者
|
||||
- **liuz <刘正> 全栈工程师** 编写了Web terminal大部分代码
|
||||
- **jiaxiangkong <陈尚委>** Jumpserver测试运营
|
||||
- **halcyon <王墉>** DevOps 资深开发者, 0.3.2 核心开发者之一
|
||||
- **yumaojun03 <喻茂峻>** DevOps 资深开发者,擅长Python, Go以及PAAS平台开发
|
||||
- **kelianchun <柯连春>** DevOps 资产开发者,fix了很多bug
|
14
docs/_build/html/_sources/development.rst.txt
vendored
14
docs/_build/html/_sources/development.rst.txt
vendored
@ -1,2 +1,12 @@
|
||||
开发指南
|
||||
-------------------
|
||||
开发文档
|
||||
======================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: 开发文档
|
||||
|
||||
api_style_guide
|
||||
python_style_guide
|
||||
project_structure
|
||||
|
||||
|
||||
|
2
docs/_build/html/_sources/index.rst.txt
vendored
2
docs/_build/html/_sources/index.rst.txt
vendored
@ -28,7 +28,7 @@ Jumpserver 支持容器化部署,windows,LDAP, s3, elasticsearch存储等功
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:maxdepth: 2
|
||||
:caption: 文档:
|
||||
|
||||
installation
|
||||
|
@ -6,3 +6,4 @@
|
||||
|
||||
quickstart
|
||||
step_by_step
|
||||
upgrade
|
||||
|
32
docs/_build/html/_sources/quickstart.rst.txt
vendored
32
docs/_build/html/_sources/quickstart.rst.txt
vendored
@ -1,7 +1,10 @@
|
||||
快速安装
|
||||
==========================
|
||||
|
||||
Jumpserver 封装了一个All in one Docker,可以快速启动。
|
||||
Jumpserver 封装了一个All in one Docker,可以快速启动。该镜像集成了所有需要的组件,可以使用外置db和redis
|
||||
|
||||
Tips: 不建议在生产中使用
|
||||
|
||||
|
||||
Docker 安装见: `Docker官方安装文档 <https://docs.docker.com/install/>`_
|
||||
|
||||
@ -17,4 +20,29 @@ Docker 安装见: `Docker官方安装文档 <https://docs.docker.com/install/>`_
|
||||
|
||||
浏览器访问: http://localhost:8080
|
||||
|
||||
ssh访问: ssh -p 2222 localhost
|
||||
ssh访问: ssh -p 2222 localhost
|
||||
|
||||
|
||||
额外环境变量
|
||||
```````````````
|
||||
|
||||
- DB_ENGINE = mysql
|
||||
- DB_HOST = mysql_host
|
||||
- DB_PORT = 3306
|
||||
- DB_USER = xxx
|
||||
- DB_PASSWORD = xxxx
|
||||
- DB_NAME = jumpserver
|
||||
|
||||
- REDIS_HOST = ''
|
||||
- REDIS_PORT = ''
|
||||
- REDIS_PASSWORD = ''
|
||||
|
||||
::
|
||||
|
||||
docker run -p 8080:80 -p 2222:2222 -e DB_ENGINE=mysql -e DB_HOST=192.168.1.1 -e DB_PORT=3306 -e DB_USER=root -e DB_PASSWORD=xxx -e DB_NAME=jumpserver jumpserver/jumpserver:0.5.0-beta2
|
||||
|
||||
|
||||
仓库地址
|
||||
```````````````
|
||||
|
||||
https://github.com/jumpserver/Dockerfile
|
||||
|
292
docs/_build/html/_sources/step_by_step.rst.txt
vendored
292
docs/_build/html/_sources/step_by_step.rst.txt
vendored
@ -1,2 +1,294 @@
|
||||
一步一步安装
|
||||
--------------------------
|
||||
|
||||
环境
|
||||
~~~~
|
||||
|
||||
- 系统: CentOS 7
|
||||
- IP: 192.168.244.144
|
||||
- 关闭 selinux和防火墙
|
||||
|
||||
::
|
||||
|
||||
# CentOS 7
|
||||
$ setenforce 0 # 可以设置配置文件永久关闭
|
||||
$ systemctl stop iptables.service
|
||||
$ systemctl stop firewalld.service
|
||||
|
||||
# CentOS6
|
||||
$ setenforce 0
|
||||
$ service iptables stop
|
||||
|
||||
一. 准备Python3和Python虚拟环境
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**1.1 安装依赖包**
|
||||
|
||||
::
|
||||
|
||||
$ yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release
|
||||
|
||||
**1.2 编译安装**
|
||||
|
||||
::
|
||||
|
||||
$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
|
||||
$ tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1
|
||||
$ ./configure && make && make install
|
||||
|
||||
**1.3 建立python虚拟环境**
|
||||
|
||||
因为CentOS
|
||||
6/7自带的是Python2,而Yum等工具依赖原来的Python,为了不扰乱原来的环境我们来使用Python虚拟环境
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt
|
||||
$ python3 -m venv py3
|
||||
$ source /opt/py3/bin/activate
|
||||
|
||||
# 看到下面的提示符代表成功,以后运行jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行
|
||||
(py3) [root@localhost py3]#
|
||||
|
||||
二. 安装Jumpserver 0.5.0
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**2.1 下载或clone项目**
|
||||
|
||||
项目提交较多git clone时较大,你可以选择去github项目页面直接下载
|
||||
zip包,我的网速好,我直接clone了
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/
|
||||
$ git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout dev
|
||||
|
||||
**2.2 安装依赖rpm包**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续
|
||||
|
||||
**2.3 安装python库依赖**
|
||||
|
||||
::
|
||||
|
||||
$ pip install -r requirements.txt # 不要指定-i参数,因为镜像上可能没有最新的包,如果没有任何报错请继续
|
||||
|
||||
**2.4 安装Redis, jumpserver使用redis做cache和celery broker**
|
||||
|
||||
::
|
||||
|
||||
$ yum -y install redis
|
||||
$ service redis start
|
||||
|
||||
**2.5 安装MySQL**
|
||||
|
||||
本教程使用mysql作为数据库,如果不使用mysql可以跳过相关mysql安装和配置
|
||||
|
||||
::
|
||||
|
||||
# centos7
|
||||
$ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb
|
||||
$ service mariadb start
|
||||
|
||||
# centos6
|
||||
$ yum -y install mysql mysql-devel mysql-server
|
||||
$ service mysqld start
|
||||
|
||||
**2.6 创建数据库 jumpserver并授权**
|
||||
|
||||
::
|
||||
|
||||
$ mysql
|
||||
> create database jumpserver default charset 'utf8';
|
||||
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';
|
||||
|
||||
**2.7 修改jumpserver配置文件**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver
|
||||
$ cp config_example.py config.py
|
||||
$ vi config.py # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config
|
||||
|
||||
**注意: 配置文件是python格式,不要用tab,而要用空格** **注意:
|
||||
配置文件是python格式,不要用tab,而要用空格** **注意:
|
||||
配置文件是python格式,不要用tab,而要用空格**
|
||||
|
||||
::
|
||||
|
||||
class DevelopmentConfig(Config):
|
||||
DEBUG = True
|
||||
DB_ENGINE = 'mysql'
|
||||
DB_HOST = '127.0.0.1'
|
||||
DB_PORT = 3306
|
||||
DB_USER = 'jumpserver'
|
||||
DB_PASSWORD = 'somepassword'
|
||||
DB_NAME = 'jumpserver'
|
||||
|
||||
...
|
||||
|
||||
config = DevelopmentConfig() # 确保使用的是刚才设置的配置文件
|
||||
|
||||
**2.8 生成数据库表结构和初始化数据**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver/utils
|
||||
$ bash make_migrations.sh
|
||||
|
||||
**2.9 运行Jumpserver**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver
|
||||
$ python run_server.py all
|
||||
|
||||
运行不报错,请浏览器访问 http://192.168.244.144:8080/
|
||||
(这里只是jumpserver, 没有web terminal,所以访问web terminal会报错)
|
||||
|
||||
账号:admin 密码: admin
|
||||
|
||||
三. 安装 SSH Server和Web Socket Server: Coco
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**3.1 下载clone项目**
|
||||
|
||||
新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt
|
||||
$ git clone https://github.com/jumpserver/coco.git && cd coco && git checkout dev
|
||||
|
||||
**3.2 安装依赖**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco/requirements $ yum -y install $(cat rpm_requirements.txt) $ pip install requirements.txt
|
||||
|
||||
|
||||
**3.2 安装依赖**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt)
|
||||
$ pip install -r requirements.txt
|
||||
|
||||
**3.3 查看配置文件并运行**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco
|
||||
$ cp conf_example.py conf.py
|
||||
$ python run_server.py
|
||||
|
||||
这时需要去
|
||||
jumpserver管理后台-终端-终端(http://192.168.244.144:8080/terminal/terminal/)接受coco的注册
|
||||
|
||||
::
|
||||
|
||||
Coco version 0.4.0, more see https://www.jumpserver.org
|
||||
Starting ssh server at 0.0.0.0:2222
|
||||
Quit the server with CONTROL-C.
|
||||
|
||||
**3.4 测试连接**
|
||||
|
||||
::
|
||||
|
||||
$ ssh -p2222 admin@192.168.244.144
|
||||
密码: admin
|
||||
|
||||
如果是用在windows下,Xshell terminal登录语法如下
|
||||
$ssh admin@192.168.244.144 2222
|
||||
密码: admin
|
||||
如果能登陆代表部署成功
|
||||
|
||||
四. 安装 Web Terminal 前端: Luna
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Luna已改为纯前端,需要nginx来运行访问
|
||||
|
||||
下载 release包,直接解压,不需要编译
|
||||
|
||||
访问 https://github.com/jumpserver/luna/releases,下载对应release包
|
||||
|
||||
4.1 解压luna
|
||||
|
||||
::
|
||||
|
||||
$ pwd
|
||||
/opt/
|
||||
|
||||
$ tar xvf luna.tar.gz
|
||||
$ ls /opt/luna
|
||||
...
|
||||
|
||||
五. 安装Windows支持组件
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
使用docker启动 guacamole
|
||||
|
||||
.. code:: shell
|
||||
|
||||
docker run \
|
||||
-p 8080:8080 \
|
||||
-e JUMPSERVER_SERVER=http://<jumpserver>:8080 \
|
||||
jumpserver/guacamole
|
||||
|
||||
这里所需要注意的是guacamole暴露出来的端口是8080,若与jumpserver部署在同一主机上自定义一下。
|
||||
|
||||
修改JUMPSERVER_SERVER的配置,填上jumpserver的内网地址
|
||||
|
||||
六. 配置 nginx 整合各组件
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
6.1 安装nginx 根据喜好选择安装方式和版本
|
||||
|
||||
6.2 配置文件
|
||||
|
||||
::
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
location /luna/ {
|
||||
try_files $uri / /index.html;
|
||||
alias /opt/luna/;
|
||||
}
|
||||
|
||||
location /media/ {
|
||||
add_header Content-Encoding gzip;
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /socket.io/ {
|
||||
proxy_pass http://localhost:5000/socket.io/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
|
||||
location /guacamole/ {
|
||||
proxy_pass http://<guacamole>:8080/;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8080;
|
||||
}
|
||||
}
|
||||
|
||||
6.3 运行 nginx
|
||||
|
||||
6.4 访问 http://192.168.244.144
|
1
docs/_build/html/admin_asset.html
vendored
1
docs/_build/html/admin_asset.html
vendored
@ -96,7 +96,6 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
|
1
docs/_build/html/admin_guide.html
vendored
1
docs/_build/html/admin_guide.html
vendored
@ -95,7 +95,6 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
|
1
docs/_build/html/admin_user.html
vendored
1
docs/_build/html/admin_user.html
vendored
@ -96,7 +96,6 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
|
33
docs/_build/html/contact.html
vendored
33
docs/_build/html/contact.html
vendored
@ -91,9 +91,16 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">联系方式</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">联系方式</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#qq">QQ群</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#github">Github</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id2">官网</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#demo">Demo</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id3">邮件</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
</ul>
|
||||
|
||||
@ -160,6 +167,28 @@
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>联系方式<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="qq">
|
||||
<h2>QQ群<a class="headerlink" href="#qq" title="永久链接至标题">¶</a></h2>
|
||||
<p>群1: 390139816
|
||||
群2: 399218702
|
||||
群3: 552054376</p>
|
||||
</div>
|
||||
<div class="section" id="github">
|
||||
<h2>Github<a class="headerlink" href="#github" title="永久链接至标题">¶</a></h2>
|
||||
<p><a class="reference external" href="https://github.com/jumpserver/jumpserver.git">https://github.com/jumpserver/jumpserver.git</a></p>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2>官网<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<p><a class="reference external" href="http://www.jumpserver.org">http://www.jumpserver.org</a></p>
|
||||
</div>
|
||||
<div class="section" id="demo">
|
||||
<h2>Demo<a class="headerlink" href="#demo" title="永久链接至标题">¶</a></h2>
|
||||
<p><a class="reference external" href="http://demo.jumpserver.org:8080">http://demo.jumpserver.org:8080</a></p>
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h2>邮件<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h2>
|
||||
<p>ibuler#fit2cloud.com (#替换为@)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
16
docs/_build/html/contributor.html
vendored
16
docs/_build/html/contributor.html
vendored
@ -37,7 +37,7 @@
|
||||
<link rel="search" title="搜索" href="search.html"/>
|
||||
<link rel="top" title="jumpserver 0.5.0 文档" href="index.html"/>
|
||||
<link rel="next" title="联系方式" href="contact.html"/>
|
||||
<link rel="prev" title="开发指南" href="development.html"/>
|
||||
<link rel="prev" title="项目骨架" href="project_structure.html"/>
|
||||
|
||||
|
||||
<script src="_static/js/modernizr.min.js"></script>
|
||||
@ -91,7 +91,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -160,6 +160,16 @@
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>贡献者<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<p>感谢一下朋友为Jumpserver做出的贡献,世界因你们而不同,排名不分先后</p>
|
||||
<ul class="simple">
|
||||
<li><strong>小彧 <李磊></strong> Django资深开发者,为用户模块贡献了很多代码</li>
|
||||
<li><strong>sofia <周小侠></strong> 资深前端工程师, 前端代码贡献者</li>
|
||||
<li><strong>liuz <刘正> 全栈工程师</strong> 编写了Web terminal大部分代码</li>
|
||||
<li><strong>jiaxiangkong <陈尚委></strong> Jumpserver测试运营</li>
|
||||
<li><strong>halcyon <王墉></strong> DevOps 资深开发者, 0.3.2 核心开发者之一</li>
|
||||
<li><strong>yumaojun03 <喻茂峻></strong> DevOps 资深开发者,擅长Python, Go以及PAAS平台开发</li>
|
||||
<li><strong>kelianchun <柯连春></strong> DevOps 资产开发者,fix了很多bug</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
@ -175,7 +185,7 @@
|
||||
<a href="contact.html" class="btn btn-neutral float-right" title="联系方式" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
|
||||
|
||||
<a href="development.html" class="btn btn-neutral" title="开发指南" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||
<a href="project_structure.html" class="btn btn-neutral" title="项目骨架" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
25
docs/_build/html/development.html
vendored
25
docs/_build/html/development.html
vendored
@ -8,7 +8,7 @@
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<title>开发指南 — jumpserver 0.5.0 文档</title>
|
||||
<title>开发文档 — jumpserver 0.5.0 文档</title>
|
||||
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
href="genindex.html"/>
|
||||
<link rel="search" title="搜索" href="search.html"/>
|
||||
<link rel="top" title="jumpserver 0.5.0 文档" href="index.html"/>
|
||||
<link rel="next" title="贡献者" href="contributor.html"/>
|
||||
<link rel="next" title="REST API规范约定" href="api_style_guide.html"/>
|
||||
<link rel="prev" title="用户使用文档" href="user_guide.html"/>
|
||||
|
||||
|
||||
@ -91,7 +91,12 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">开发指南</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">开发文档</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_style_guide.html">REST API规范约定</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python_style_guide.html">Jumpserver 项目规范(Draft)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="project_structure.html">项目骨架</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -139,7 +144,7 @@
|
||||
|
||||
<li><a href="index.html">Docs</a> »</li>
|
||||
|
||||
<li>开发指南</li>
|
||||
<li>开发文档</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
@ -159,7 +164,15 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>开发指南<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<h1>开发文档<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p class="caption"><span class="caption-text">开发文档</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_style_guide.html">REST API规范约定</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="python_style_guide.html">Jumpserver 项目规范(Draft)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="project_structure.html">项目骨架</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -172,7 +185,7 @@
|
||||
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
|
||||
<a href="contributor.html" class="btn btn-neutral float-right" title="贡献者" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
<a href="api_style_guide.html" class="btn btn-neutral float-right" title="REST API规范约定" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
|
||||
|
||||
<a href="user_guide.html" class="btn btn-neutral" title="用户使用文档" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||
|
1
docs/_build/html/faq.html
vendored
1
docs/_build/html/faq.html
vendored
@ -90,7 +90,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">FAQ</a></li>
|
||||
|
2
docs/_build/html/genindex.html
vendored
2
docs/_build/html/genindex.html
vendored
@ -90,7 +90,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
|
31
docs/_build/html/index.html
vendored
31
docs/_build/html/index.html
vendored
@ -90,7 +90,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -171,12 +171,33 @@
|
||||
<div class="toctree-wrapper compound">
|
||||
<p class="caption"><span class="caption-text">文档:</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">快速安装</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="step_by_step.html">一步一步安装</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="upgrade.html">升级</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="admin_user.html">用户模块</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="admin_asset.html">资产管理模块</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_style_guide.html">REST API规范约定</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python_style_guide.html">Jumpserver 项目规范(Draft)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="project_structure.html">项目骨架</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="contact.html#qq">QQ群</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="contact.html#github">Github</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="contact.html#id2">官网</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="contact.html#demo">Demo</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="contact.html#id3">邮件</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
4
docs/_build/html/installation.html
vendored
4
docs/_build/html/installation.html
vendored
@ -91,11 +91,12 @@
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">安装文档</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">快速安装</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="step_by_step.html">一步一步安装</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="upgrade.html">升级</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -168,6 +169,7 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">快速安装</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="step_by_step.html">一步一步安装</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="upgrade.html">升级</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
BIN
docs/_build/html/objects.inv
vendored
BIN
docs/_build/html/objects.inv
vendored
Binary file not shown.
30
docs/_build/html/quickstart.html
vendored
30
docs/_build/html/quickstart.html
vendored
@ -93,6 +93,8 @@
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">快速安装</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">快速启动</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id3">访问</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id4">额外环境变量</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id5">仓库地址</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="step_by_step.html">一步一步安装</a></li>
|
||||
@ -100,7 +102,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -171,7 +173,8 @@
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>快速安装<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<p>Jumpserver 封装了一个All in one Docker,可以快速启动。</p>
|
||||
<p>Jumpserver 封装了一个All in one Docker,可以快速启动。该镜像集成了所有需要的组件,可以使用外置db和redis</p>
|
||||
<p>Tips: 不建议在生产中使用</p>
|
||||
<p>Docker 安装见: <a class="reference external" href="https://docs.docker.com/install/">Docker官方安装文档</a></p>
|
||||
<div class="section" id="id2">
|
||||
<h2>快速启动<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
@ -185,6 +188,29 @@
|
||||
<p>浏览器访问: <a class="reference external" href="http://localhost:8080">http://localhost:8080</a></p>
|
||||
<p>ssh访问: ssh -p 2222 localhost</p>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h2>额外环境变量<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li>DB_ENGINE = mysql</li>
|
||||
<li>DB_HOST = mysql_host</li>
|
||||
<li>DB_PORT = 3306</li>
|
||||
<li>DB_USER = xxx</li>
|
||||
<li>DB_PASSWORD = xxxx</li>
|
||||
<li>DB_NAME = jumpserver</li>
|
||||
<li>REDIS_HOST = ‘’</li>
|
||||
<li>REDIS_PORT = ‘’</li>
|
||||
<li>REDIS_PASSWORD = ‘’</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<div><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">p</span> <span class="mi">8080</span><span class="p">:</span><span class="mi">80</span> <span class="o">-</span><span class="n">p</span> <span class="mi">2222</span><span class="p">:</span><span class="mi">2222</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_ENGINE</span><span class="o">=</span><span class="n">mysql</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_HOST</span><span class="o">=</span><span class="mf">192.168</span><span class="o">.</span><span class="mf">1.1</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_PORT</span><span class="o">=</span><span class="mi">3306</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_USER</span><span class="o">=</span><span class="n">root</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_PASSWORD</span><span class="o">=</span><span class="n">xxx</span> <span class="o">-</span><span class="n">e</span> <span class="n">DB_NAME</span><span class="o">=</span><span class="n">jumpserver</span> <span class="n">jumpserver</span><span class="o">/</span><span class="n">jumpserver</span><span class="p">:</span><span class="mf">0.5</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="n">beta2</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
</div>
|
||||
<div class="section" id="id5">
|
||||
<h2>仓库地址<a class="headerlink" href="#id5" title="永久链接至标题">¶</a></h2>
|
||||
<p><a class="reference external" href="https://github.com/jumpserver/Dockerfile">https://github.com/jumpserver/Dockerfile</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
2
docs/_build/html/search.html
vendored
2
docs/_build/html/search.html
vendored
@ -89,7 +89,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
|
2
docs/_build/html/searchindex.js
vendored
2
docs/_build/html/searchindex.js
vendored
File diff suppressed because one or more lines are too long
251
docs/_build/html/step_by_step.html
vendored
251
docs/_build/html/step_by_step.html
vendored
@ -37,7 +37,7 @@
|
||||
<link rel="search" title="搜索" href="search.html"/>
|
||||
<link rel="top" title="jumpserver 0.5.0 文档" href="index.html"/>
|
||||
<link rel="up" title="安装文档" href="installation.html"/>
|
||||
<link rel="next" title="管理文档" href="admin_guide.html"/>
|
||||
<link rel="next" title="升级" href="upgrade.html"/>
|
||||
<link rel="prev" title="快速安装" href="quickstart.html"/>
|
||||
|
||||
|
||||
@ -91,12 +91,22 @@
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="installation.html">安装文档</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">快速安装</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">一步一步安装</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">一步一步安装</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">环境</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#python3python">一. 准备Python3和Python虚拟环境</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#jumpserver-0-5-0">二. 安装Jumpserver 0.5.0</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#ssh-serverweb-socket-server-coco">三. 安装 SSH Server和Web Socket Server: Coco</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#web-terminal-luna">四. 安装 Web Terminal 前端: Luna</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#windows">五. 安装Windows支持组件</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#nginx">六. 配置 nginx 整合各组件</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="upgrade.html">升级</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -167,6 +177,239 @@
|
||||
|
||||
<div class="section" id="id1">
|
||||
<h1>一步一步安装<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="id2">
|
||||
<h2>环境<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li>系统: CentOS 7</li>
|
||||
<li>IP: 192.168.244.144</li>
|
||||
<li>关闭 selinux和防火墙</li>
|
||||
</ul>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># CentOS 7
|
||||
$ setenforce 0 # 可以设置配置文件永久关闭
|
||||
$ systemctl stop iptables.service
|
||||
$ systemctl stop firewalld.service
|
||||
|
||||
# CentOS6
|
||||
$ setenforce 0
|
||||
$ service iptables stop
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="python3python">
|
||||
<h2>一. 准备Python3和Python虚拟环境<a class="headerlink" href="#python3python" title="永久链接至标题">¶</a></h2>
|
||||
<p><strong>1.1 安装依赖包</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>1.2 编译安装</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
|
||||
$ tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1
|
||||
$ ./configure && make && make install
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>1.3 建立python虚拟环境</strong></p>
|
||||
<p>因为CentOS
|
||||
6/7自带的是Python2,而Yum等工具依赖原来的Python,为了不扰乱原来的环境我们来使用Python虚拟环境</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt
|
||||
$ python3 -m venv py3
|
||||
$ source /opt/py3/bin/activate
|
||||
|
||||
# 看到下面的提示符代表成功,以后运行jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行
|
||||
(py3) [root@localhost py3]#
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="jumpserver-0-5-0">
|
||||
<h2>二. 安装Jumpserver 0.5.0<a class="headerlink" href="#jumpserver-0-5-0" title="永久链接至标题">¶</a></h2>
|
||||
<p><strong>2.1 下载或clone项目</strong></p>
|
||||
<p>项目提交较多git clone时较大,你可以选择去github项目页面直接下载
|
||||
zip包,我的网速好,我直接clone了</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/
|
||||
$ git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout dev
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.2 安装依赖rpm包</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/jumpserver/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.3 安装python库依赖</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install -r requirements.txt # 不要指定-i参数,因为镜像上可能没有最新的包,如果没有任何报错请继续
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.4 安装Redis, jumpserver使用redis做cache和celery broker</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ yum -y install redis
|
||||
$ service redis start
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.5 安装MySQL</strong></p>
|
||||
<p>本教程使用mysql作为数据库,如果不使用mysql可以跳过相关mysql安装和配置</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># centos7
|
||||
$ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb
|
||||
$ service mariadb start
|
||||
|
||||
# centos6
|
||||
$ yum -y install mysql mysql-devel mysql-server
|
||||
$ service mysqld start
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.6 创建数据库 jumpserver并授权</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ mysql
|
||||
> create database jumpserver default charset 'utf8';
|
||||
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.7 修改jumpserver配置文件</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/jumpserver
|
||||
$ cp config_example.py config.py
|
||||
$ vi config.py # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>注意: 配置文件是python格式,不要用tab,而要用空格</strong> <strong>注意:
|
||||
配置文件是python格式,不要用tab,而要用空格</strong> <strong>注意:
|
||||
配置文件是python格式,不要用tab,而要用空格</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">DevelopmentConfig</span><span class="p">(</span><span class="n">Config</span><span class="p">):</span>
|
||||
<span class="n">DEBUG</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="n">DB_ENGINE</span> <span class="o">=</span> <span class="s1">'mysql'</span>
|
||||
<span class="n">DB_HOST</span> <span class="o">=</span> <span class="s1">'127.0.0.1'</span>
|
||||
<span class="n">DB_PORT</span> <span class="o">=</span> <span class="mi">3306</span>
|
||||
<span class="n">DB_USER</span> <span class="o">=</span> <span class="s1">'jumpserver'</span>
|
||||
<span class="n">DB_PASSWORD</span> <span class="o">=</span> <span class="s1">'somepassword'</span>
|
||||
<span class="n">DB_NAME</span> <span class="o">=</span> <span class="s1">'jumpserver'</span>
|
||||
|
||||
<span class="o">...</span>
|
||||
|
||||
<span class="n">config</span> <span class="o">=</span> <span class="n">DevelopmentConfig</span><span class="p">()</span> <span class="c1"># 确保使用的是刚才设置的配置文件</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.8 生成数据库表结构和初始化数据</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/jumpserver/utils
|
||||
$ bash make_migrations.sh
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>2.9 运行Jumpserver</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/jumpserver
|
||||
$ python run_server.py all
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>运行不报错,请浏览器访问 <a class="reference external" href="http://192.168.244.144:8080/">http://192.168.244.144:8080/</a>
|
||||
(这里只是jumpserver, 没有web terminal,所以访问web terminal会报错)</p>
|
||||
<p>账号:admin 密码: admin</p>
|
||||
</div>
|
||||
<div class="section" id="ssh-serverweb-socket-server-coco">
|
||||
<h2>三. 安装 SSH Server和Web Socket Server: Coco<a class="headerlink" href="#ssh-serverweb-socket-server-coco" title="永久链接至标题">¶</a></h2>
|
||||
<p><strong>3.1 下载clone项目</strong></p>
|
||||
<p>新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt
|
||||
$ git clone https://github.com/jumpserver/coco.git && cd coco && git checkout dev
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>3.2 安装依赖</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/coco/requirements $ yum -y install $(cat rpm_requirements.txt) $ pip install requirements.txt
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>3.2 安装依赖</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/coco/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt)
|
||||
$ pip install -r requirements.txt
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>3.3 查看配置文件并运行</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd /opt/coco
|
||||
$ cp conf_example.py conf.py
|
||||
$ python run_server.py
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>这时需要去
|
||||
jumpserver管理后台-终端-终端(<a class="reference external" href="http://192.168.244.144:8080/terminal/terminal/">http://192.168.244.144:8080/terminal/terminal/</a>)接受coco的注册</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Coco</span> <span class="n">version</span> <span class="mf">0.4</span><span class="o">.</span><span class="mi">0</span><span class="p">,</span> <span class="n">more</span> <span class="n">see</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">jumpserver</span><span class="o">.</span><span class="n">org</span>
|
||||
<span class="n">Starting</span> <span class="n">ssh</span> <span class="n">server</span> <span class="n">at</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span><span class="p">:</span><span class="mi">2222</span>
|
||||
<span class="n">Quit</span> <span class="n">the</span> <span class="n">server</span> <span class="k">with</span> <span class="n">CONTROL</span><span class="o">-</span><span class="n">C</span><span class="o">.</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>3.4 测试连接</strong></p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ssh -p2222 admin@192.168.244.144
|
||||
密码: admin
|
||||
|
||||
如果是用在windows下,Xshell terminal登录语法如下
|
||||
$ssh admin@192.168.244.144 2222
|
||||
密码: admin
|
||||
如果能登陆代表部署成功
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="web-terminal-luna">
|
||||
<h2>四. 安装 Web Terminal 前端: Luna<a class="headerlink" href="#web-terminal-luna" title="永久链接至标题">¶</a></h2>
|
||||
<p>Luna已改为纯前端,需要nginx来运行访问</p>
|
||||
<p>下载 release包,直接解压,不需要编译</p>
|
||||
<p>访问 <a class="reference external" href="https://github.com/jumpserver/luna/releases">https://github.com/jumpserver/luna/releases</a>,下载对应release包</p>
|
||||
<p>4.1 解压luna</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pwd
|
||||
/opt/
|
||||
|
||||
$ tar xvf luna.tar.gz
|
||||
$ ls /opt/luna
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="windows">
|
||||
<h2>五. 安装Windows支持组件<a class="headerlink" href="#windows" title="永久链接至标题">¶</a></h2>
|
||||
<p>使用docker启动 guacamole</p>
|
||||
<div class="code shell highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> \
|
||||
<span class="o">-</span><span class="n">p</span> <span class="mi">8080</span><span class="p">:</span><span class="mi">8080</span> \
|
||||
<span class="o">-</span><span class="n">e</span> <span class="n">JUMPSERVER_SERVER</span><span class="o">=</span><span class="n">http</span><span class="p">:</span><span class="o">//<</span><span class="n">jumpserver</span><span class="o">></span><span class="p">:</span><span class="mi">8080</span> \
|
||||
<span class="n">jumpserver</span><span class="o">/</span><span class="n">guacamole</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>这里所需要注意的是guacamole暴露出来的端口是8080,若与jumpserver部署在同一主机上自定义一下。</p>
|
||||
<p>修改JUMPSERVER_SERVER的配置,填上jumpserver的内网地址</p>
|
||||
</div>
|
||||
<div class="section" id="nginx">
|
||||
<h2>六. 配置 nginx 整合各组件<a class="headerlink" href="#nginx" title="永久链接至标题">¶</a></h2>
|
||||
<p>6.1 安装nginx 根据喜好选择安装方式和版本</p>
|
||||
<p>6.2 配置文件</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>server {
|
||||
listen 80;
|
||||
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
location /luna/ {
|
||||
try_files $uri / /index.html;
|
||||
alias /opt/luna/;
|
||||
}
|
||||
|
||||
location /media/ {
|
||||
add_header Content-Encoding gzip;
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /socket.io/ {
|
||||
proxy_pass http://localhost:5000/socket.io/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
|
||||
location /guacamole/ {
|
||||
proxy_pass http://<guacamole>:8080/;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8080;
|
||||
}
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>6.3 运行 nginx</p>
|
||||
<p>6.4 访问 <a class="reference external" href="http://192.168.244.144">http://192.168.244.144</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -179,7 +422,7 @@
|
||||
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
|
||||
<a href="admin_guide.html" class="btn btn-neutral float-right" title="管理文档" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
<a href="upgrade.html" class="btn btn-neutral float-right" title="升级" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
|
||||
|
||||
<a href="quickstart.html" class="btn btn-neutral" title="快速安装" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||
|
5
docs/_build/html/user_guide.html
vendored
5
docs/_build/html/user_guide.html
vendored
@ -36,7 +36,7 @@
|
||||
href="genindex.html"/>
|
||||
<link rel="search" title="搜索" href="search.html"/>
|
||||
<link rel="top" title="jumpserver 0.5.0 文档" href="index.html"/>
|
||||
<link rel="next" title="开发指南" href="development.html"/>
|
||||
<link rel="next" title="贡献者" href="contributor.html"/>
|
||||
<link rel="prev" title="资产管理模块" href="admin_asset.html"/>
|
||||
|
||||
|
||||
@ -91,7 +91,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">安装文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="admin_guide.html">管理文档</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">用户使用文档</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">开发指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributor.html">贡献者</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contact.html">联系方式</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
|
||||
@ -172,7 +171,7 @@
|
||||
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
|
||||
<a href="development.html" class="btn btn-neutral float-right" title="开发指南" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
<a href="contributor.html" class="btn btn-neutral float-right" title="贡献者" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||
|
||||
|
||||
<a href="admin_asset.html" class="btn btn-neutral" title="资产管理模块" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||
|
166
docs/api_style_guide.rst
Normal file
166
docs/api_style_guide.rst
Normal file
@ -0,0 +1,166 @@
|
||||
REST API规范约定
|
||||
----------------
|
||||
|
||||
这里仅考虑REST API的基本情况。参考
|
||||
|
||||
`RESTful API 设计指南`_
|
||||
|
||||
`github api文档`_
|
||||
|
||||
协议
|
||||
~~~~
|
||||
|
||||
API与用户的通信协议,总是使用HTTPs协议。
|
||||
|
||||
域名
|
||||
~~~~
|
||||
|
||||
这版api相对简单, 没有前后端分离, 没有独立app, 所以放在主域名下
|
||||
|
||||
::
|
||||
|
||||
https://example.org/api/
|
||||
|
||||
版本
|
||||
~~~~
|
||||
|
||||
将API的版本号放入URL中, 由于一个项目多个app所以Jumpserver使用以下风格,
|
||||
将版本号放到app后面
|
||||
|
||||
::
|
||||
|
||||
https://example.com/api/:app:/:version:/:resource:
|
||||
https://example.com/api/assets/v1.0/assets [GET, POST]
|
||||
https://example.com/api/assets/v1.0/assets/1 [GET, PUT, DELETE]
|
||||
|
||||
路径
|
||||
~~~~
|
||||
|
||||
路径又称“终点”(endpoint),表示API的具体网址。
|
||||
在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的“集合”(collection),所以API中的名词也应该使用复数。
|
||||
举例来说 cmdb中的assets列表, idc列表
|
||||
|
||||
::
|
||||
|
||||
https://example.com/api/:app:/:version:/:resource:
|
||||
|
||||
https://example.com/api/assets/v1.0/assets [GET, POST]
|
||||
https://example.com/api/assets/v1.0/assets/1 [GET, PUT, DELETE]
|
||||
https://example.com/api/assets/v1.0/idcs [GET, POST]
|
||||
|
||||
一般性的增删查改(CRUD)API,完全使用HTTP
|
||||
method加上url提供的语义,url中的可变部分(比如上面提到的)
|
||||
一般用来传递该API操作的核心实体对象的唯一ID,如果有更多的参数需要提供,GET方法请使用url
|
||||
parameter
|
||||
(例如:“?client_id=xxxxx&app_id=xxxxxx”),PUT/POST/DELETE方法请使用请求体传递参数。
|
||||
|
||||
HTTP Method
|
||||
~~~~~~~~~~~
|
||||
|
||||
对于资源的具体操作类型,由HTTP动词表示。
|
||||
|
||||
常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
|
||||
|
||||
- GET(SELECT):从服务器取出资源(一项或多项)。
|
||||
- POST(CREATE):在服务器新建一个资源。
|
||||
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源, 幂等
|
||||
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
|
||||
- DELETE(DELETE):从服务器删除资源。
|
||||
|
||||
.. _RESTful API 设计指南: http://www.ruanyifeng.com/blog/2014/05/restful_api.html
|
||||
.. _github api文档: https://developer.github.com/v3/
|
||||
|
||||
|
||||
过滤信息
|
||||
~~~~~~~~
|
||||
|
||||
常见参数约定
|
||||
|
||||
::
|
||||
|
||||
?keyword=localhost 模糊搜索
|
||||
?limit=10:指定返回记录的数量
|
||||
?offset=10:指定返回记录的开始位置。
|
||||
?page=2&per_page=100:指定第几页,以及每页的记录数。
|
||||
?sort=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。
|
||||
?asset_id=1:指定筛选条件
|
||||
|
||||
状态码
|
||||
~~~~~~
|
||||
|
||||
服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词)。
|
||||
|
||||
- 200 OK -
|
||||
[GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
|
||||
- 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
|
||||
- 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
|
||||
- 204 NO CONTENT - [DELETE]:用户删除数据成功。
|
||||
- 400 INVALID REQUEST -
|
||||
[POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
|
||||
- 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
|
||||
- 403 Forbidden - [*]
|
||||
表示用户得到授权(与401错误相对),但是访问是被禁止的。
|
||||
- 404 NOT FOUND -
|
||||
[*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
|
||||
- 406 Not Acceptable -
|
||||
[GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
|
||||
- 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
|
||||
- 422 Unprocesable entity - [POST/PUT/PATCH]
|
||||
当创建一个对象时,发生一个验证错误。
|
||||
- 500 INTERNAL SERVER ERROR -
|
||||
[*]:服务器发生错误,用户将无法判断发出的请求是否成功。
|
||||
|
||||
错误处理
|
||||
~~~~~~~~
|
||||
|
||||
如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。
|
||||
|
||||
::
|
||||
|
||||
{
|
||||
error: "Invalid API key"
|
||||
}
|
||||
|
||||
|
||||
返回结果
|
||||
~~~~~~~~
|
||||
|
||||
针对不同操作,服务器向用户返回的结果应该符合以下规范。
|
||||
|
||||
::
|
||||
|
||||
GET /collection:返回资源对象的列表(数组)
|
||||
GET /collection/resource:返回单个资源对象
|
||||
POST /collection:返回新生成的资源对象
|
||||
PUT /collection/resource:返回完整的资源对象
|
||||
PATCH /collection/resource:返回完整的资源对象
|
||||
DELETE /collection/resource:返回一个空文档
|
||||
|
||||
Hypermedia API
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
RESTful
|
||||
API最好做到Hypermedia,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。
|
||||
比如,当用户向api.example.com的根目录发出请求,会得到这样一个文档。
|
||||
|
||||
::
|
||||
|
||||
{"link": {
|
||||
"rel": "collection https://www.example.com/zoos",
|
||||
"href": "https://api.example.com/zoos",
|
||||
"title": "List of zoos",
|
||||
"type": "application/vnd.yourformat+json"
|
||||
}}
|
||||
|
||||
上面代码表示,文档中有一个link属性,用户读取这个属性就知道下一步该调用什么API了。
|
||||
|
||||
rel表示这个API与当前网址的关系(collection关系,并给出该collection的网址),
|
||||
|
||||
href表示API的路径,title表示API的标题,type表示返回类型。 Hypermedia
|
||||
API的设计被称为HATEOAS。 Github的API就是这种设计.
|
||||
|
||||
其它
|
||||
~~~~
|
||||
|
||||
(1)API的身份认证应该使用OAuth 2.0框架。
|
||||
(2)服务器返回的数据格式,应该尽量使用JSON
|
@ -70,6 +70,7 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
html_show_sourcelink = True
|
||||
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
|
@ -1,3 +1,33 @@
|
||||
联系方式
|
||||
+++++++++++++++++++++++++
|
||||
|
||||
QQ群
|
||||
~~~~~~~~
|
||||
|
||||
群1: 390139816
|
||||
群2: 399218702
|
||||
群3: 552054376
|
||||
|
||||
|
||||
Github
|
||||
~~~~~~~~
|
||||
|
||||
https://github.com/jumpserver/jumpserver.git
|
||||
|
||||
|
||||
官网
|
||||
~~~~~~~~
|
||||
|
||||
http://www.jumpserver.org
|
||||
|
||||
|
||||
Demo
|
||||
~~~~~~~~
|
||||
|
||||
http://demo.jumpserver.org:8080
|
||||
|
||||
|
||||
邮件
|
||||
~~~~~~~~
|
||||
|
||||
ibuler#fit2cloud.com (#替换为@)
|
@ -1,2 +1,13 @@
|
||||
贡献者
|
||||
++++++++++++++++++++++++
|
||||
++++++++++++++++++++++++
|
||||
|
||||
感谢一下朋友为Jumpserver做出的贡献,世界因你们而不同,排名不分先后
|
||||
|
||||
|
||||
- **小彧 <李磊>** Django资深开发者,为用户模块贡献了很多代码
|
||||
- **sofia <周小侠>** 资深前端工程师, 前端代码贡献者
|
||||
- **liuz <刘正> 全栈工程师** 编写了Web terminal大部分代码
|
||||
- **jiaxiangkong <陈尚委>** Jumpserver测试运营
|
||||
- **halcyon <王墉>** DevOps 资深开发者, 0.3.2 核心开发者之一
|
||||
- **yumaojun03 <喻茂峻>** DevOps 资深开发者,擅长Python, Go以及PAAS平台开发
|
||||
- **kelianchun <柯连春>** DevOps 资产开发者,fix了很多bug
|
@ -1,2 +1,12 @@
|
||||
开发指南
|
||||
-------------------
|
||||
开发文档
|
||||
======================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: 开发文档
|
||||
|
||||
api_style_guide
|
||||
python_style_guide
|
||||
project_structure
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ Jumpserver 支持容器化部署,windows,LDAP, s3, elasticsearch存储等功
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:maxdepth: 2
|
||||
:caption: 文档:
|
||||
|
||||
installation
|
||||
|
@ -6,3 +6,4 @@
|
||||
|
||||
quickstart
|
||||
step_by_step
|
||||
upgrade
|
||||
|
51
docs/project_structure.rst
Normal file
51
docs/project_structure.rst
Normal file
@ -0,0 +1,51 @@
|
||||
项目骨架
|
||||
--------
|
||||
|
||||
说明如下:
|
||||
|
||||
::
|
||||
|
||||
.
|
||||
├── config-example.py // 配置文件样例
|
||||
├── docs // 所有doc文件放到该目录
|
||||
│ └── README.md
|
||||
├── LICENSE
|
||||
├── README.md
|
||||
├── install // 安装说明
|
||||
├── logs // 日志目录
|
||||
├── apps // 管理后台目录,也是各app所在目录
|
||||
│ └── assets // app目录
|
||||
│ │ ├── admin.py
|
||||
│ │ ├── apps.py // 新版本django app设置文件
|
||||
│ │ ├── api.py // api文件
|
||||
│ │ ├── __init__.py // 对外暴露的接口,放到该文件中,方便别的app引用
|
||||
│ │ ├── migrations // models Migrations版本控制目录
|
||||
│ │ │ └── __init__.py
|
||||
│ │ ├── models.py // 数据模型目录
|
||||
│ │ ├── static // app下静态资源目录,如果需要
|
||||
│ │ │ └── assets // 多一层目录,防止资源重名
|
||||
│ │ │ └── some_image.png
|
||||
│ │ ├── templates // app下模板目录
|
||||
│ │ │ └── assets // 多一层目录,防止资源重名
|
||||
│ │ │ └── asset_list.html
|
||||
│ │ ├── templatetags // 模板标签目录
|
||||
│ │ ├── tests.py // 测试用例文件
|
||||
│ │ ├── urls.py // urlconf文件
|
||||
│ │ ├── utils.py // 将views和api可复用的代码放在这里, api和views只是请求和返回不同
|
||||
│ │ └── views.py // views文件
|
||||
│ ├── common
|
||||
│ │ ├── templatetags // 通用template tag
|
||||
│ │ ├── utils.py // 通用的函数方法
|
||||
│ │ └── views.py
|
||||
│ ├── fixtures // 初始化数据目录
|
||||
│ │ ├── init.json // 初始化项目数据库
|
||||
│ │ └── fake.json // 生成大量测试数据
|
||||
│ ├── jumpserver // 项目设置目录
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── settings.py // 项目设置文件
|
||||
│ │ ├── urls.py // 项目入口urlconf
|
||||
│ │ └── wsgi.py
|
||||
│ ├── manage.py
|
||||
│ ├── static // 项目静态资源目录
|
||||
│ ├── i18n // 项目多语言目录
|
||||
│ └── templates // 项目模板目录
|
216
docs/python_style_guide.rst
Normal file
216
docs/python_style_guide.rst
Normal file
@ -0,0 +1,216 @@
|
||||
Jumpserver 项目规范(Draft)
|
||||
============================
|
||||
|
||||
语言框架
|
||||
--------
|
||||
|
||||
1. Python 3.6.1 (当前最新)
|
||||
2. Django 1.11 (当前最新)
|
||||
3. Flask 0.12 Luna (当前最新)
|
||||
4. Paramiko 2.12 Coco (当前最新)
|
||||
|
||||
Django规范
|
||||
----------
|
||||
|
||||
1. 尽量使用Class Base View编程,更少代码
|
||||
2. 使用Django Form
|
||||
3. 每个url独立命名,不要硬编码,同理static也是
|
||||
4. 数据库表名手动指定,不要使用默认
|
||||
5. 代码优雅简洁
|
||||
6. 注释明确优美
|
||||
7. 测试案例尽可能完整
|
||||
8. 尽可能利用Django造好的轮子
|
||||
|
||||
代码风格
|
||||
--------
|
||||
|
||||
Python方面大致的风格,我们采用pocoo的\ `Style
|
||||
Guidance`_\ ,但是有些细节部分会尽量放开 参考国内翻译
|
||||
|
||||
基本的代码布局
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
缩进
|
||||
^^^^
|
||||
|
||||
1. Python严格采用4个空格的缩进,任何python代码都都必须遵守此规定。
|
||||
2. web部分代码(HTML, CSS,
|
||||
JavaScript),Node.js采用2空格缩进,同样不使用tab (:raw-latex:`\t`)。
|
||||
之所以与Python不同,是因为js中有大量回调式的写法,2空格可以显著降低视觉上的负担。
|
||||
|
||||
最大行长度
|
||||
^^^^^^^^^^
|
||||
|
||||
按PEP8规范,Python一般限制最大79个字符,
|
||||
但是Django的命名,url等通常比较长,
|
||||
而且21世纪都是宽屏了,所以我们限制最大120字符
|
||||
|
||||
**补充说明:HTML代码不受此规范约束。**
|
||||
|
||||
长语句缩进
|
||||
^^^^^^^^^^
|
||||
|
||||
编写长语句时,可以使用换行符()换行。在这种情况下,下一行应该与上一行的最后
|
||||
一个“.”句点或“=”对齐,或者是缩进4个空格符
|
||||
|
||||
::
|
||||
|
||||
this_is_a_very_long(function_call, 'with many parameters') \
|
||||
.that_returns_an_object_with_an_attribute
|
||||
|
||||
MyModel.query.filter(MyModel.scalar > 120) \
|
||||
.order_by(MyModel.name.desc()) \
|
||||
.limit(10)
|
||||
|
||||
如果你使用括号“()”或花括号“{}”为长语句换行,那么下一行应与括号或花括号对齐:
|
||||
|
||||
::
|
||||
|
||||
this_is_a_very_long(function_call, 'with many parameters',
|
||||
23, 42, 'and even more')
|
||||
|
||||
对于元素众多的列表或元组,在第一个“[”或“(”之后马上换行:
|
||||
|
||||
::
|
||||
|
||||
items = [
|
||||
'this is the first', 'set of items', 'with more items',
|
||||
'to come in this line', 'like this'
|
||||
]
|
||||
|
||||
.. _Style Guidance: http://www.pocoo.org/internal/styleguide/
|
||||
|
||||
|
||||
空行
|
||||
^^^^
|
||||
|
||||
顶层函数与类之间空两行,此外都只空一行。不要在代码中使用太多的空行来区分不同的逻辑模块。
|
||||
|
||||
::
|
||||
|
||||
def hello(name):
|
||||
print 'Hello %s!' % name
|
||||
|
||||
|
||||
def goodbye(name):
|
||||
print 'See you %s.' % name
|
||||
|
||||
|
||||
class MyClass(object):
|
||||
"""This is a simple docstring."""
|
||||
|
||||
def __init__(self, name):
|
||||
self.name = name
|
||||
|
||||
def get_annoying_name(self):
|
||||
return self.name.upper() + '!!!!111'
|
||||
|
||||
语句和表达式
|
||||
~~~~~~~~~~~~
|
||||
|
||||
一般空格规则
|
||||
^^^^^^^^^^^^
|
||||
|
||||
1. 单目运算符与运算对象之间不空格(例如,-,~等),即使单目运算符位于括号内部也一样。
|
||||
2. 双目运算符与运算对象之间要空格。
|
||||
|
||||
::
|
||||
|
||||
exp = -1.05
|
||||
value = (item_value / item_count) * offset / exp
|
||||
value = my_list[index]
|
||||
value = my_dict['key']
|
||||
|
||||
比较
|
||||
^^^^
|
||||
|
||||
1. 任意类型之间的比较,使用“==”和“!=”。
|
||||
2. 与单例(singletons)进行比较时,使用is和is not。
|
||||
3. 永远不要与True或False进行比较(例如,不要这样写:foo ==
|
||||
False,而应该这样写:not foo)。
|
||||
|
||||
否定成员关系检查
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
使用foo not in bar,而不是not foo in bar。
|
||||
|
||||
命名约定
|
||||
~~~~~~~~
|
||||
|
||||
1. 类名称:采用骆驼拼写法(CamelCase),首字母缩略词保持大写不变(HTTPWriter,而不是HttpWriter)。
|
||||
2. 变量名:小写_以及_下划线(lowercase_with_underscores)。
|
||||
3. 方法与函数名:小写_以及_下划线(lowercase_with_underscores)。
|
||||
4. 常量:大写_以及_下划线(UPPERCASE_WITH_UNDERSCORES)。
|
||||
5. 预编译的正则表达式:name_re。
|
||||
6. 受保护的元素以一个下划线为前缀。双下划线前缀只有定义混入类(mixin
|
||||
classes)时才使用。
|
||||
7. 如果使用关键词(keywords)作为类名称,应在名称后添加后置下划线(trailing
|
||||
underscore)。
|
||||
允许与内建变量重名,不要在变量名后添加下划线进行区分。如果函数需要访问重名的内建变量,请将内建变量重新绑定为其他名称。
|
||||
8. 命名要有寓意, 不使用拼音,不使用无意义简单字母命名 (循环中计数例外 for
|
||||
i in)
|
||||
9. 命名缩写要谨慎, 尽量是大家认可的缩写
|
||||
|
||||
函数和方法的参数:
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. 类方法:cls为第一个参数。
|
||||
2. 实例方法:self为第一个参数。
|
||||
3. property函数中使用匿名函数(lambdas)时,匿名函数的第一个参数可以用x替代,
|
||||
例如:display_name = property(lambda x: x.real_name or x.username)。
|
||||
|
||||
|
||||
文档注释(Docstring,即各方法,类的说明文档注释)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
所有文档字符串均以reStructuredText格式编写,方便Sphinx处理。文档字符串的行数不同,布局也不一样。
|
||||
如果只有一行,代表字符串结束的三个引号与代表字符串开始的三个引号在同一行。
|
||||
如果为多行,文档字符串中的文本紧接着代表字符串开始的三个引号编写,代表字符串结束的三个引号则自己独立成一行。
|
||||
(有能力尽可能用英文, 否则请中文优雅注释)
|
||||
|
||||
::
|
||||
|
||||
def foo():
|
||||
"""This is a simple docstring."""
|
||||
|
||||
|
||||
def bar():
|
||||
"""This is a longer docstring with so much information in there
|
||||
that it spans three lines. In this case, the closing triple quote
|
||||
is on its own line.
|
||||
"""
|
||||
|
||||
文档字符串应分成简短摘要(尽量一行)和详细介绍。如果必要的话,摘要与详细介绍之间空一行。
|
||||
|
||||
模块头部
|
||||
~~~~~~~~
|
||||
|
||||
模块文件的头部包含有utf-8编码声明(如果模块中使用了非ASCII编码的字符,建议进行声明),以及标准的文档字符串。
|
||||
|
||||
::
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
package.module
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
A brief description goes here.
|
||||
|
||||
:copyright: (c) YEAR by AUTHOR.
|
||||
:license: LICENSE_NAME, see LICENSE_FILE for more details.
|
||||
"""
|
||||
|
||||
注释(comment)
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
注释的规范与文档字符串编写规范类似。二者均以reStructuredText格式编写。
|
||||
如果使用注释来编写类属性的文档,请在#符号后添加一个冒号“:”。
|
||||
(有能力尽可能用英文, 否则请中文优雅注释)
|
||||
|
||||
::
|
||||
|
||||
class User(object):
|
||||
#: the name of the user as unicode string
|
||||
name = Column(String)
|
||||
#: the sha1 hash of the password + inline salt
|
||||
pw_hash = Column(String)
|
@ -20,4 +20,29 @@ Docker 安装见: `Docker官方安装文档 <https://docs.docker.com/install/>`_
|
||||
|
||||
浏览器访问: http://localhost:8080
|
||||
|
||||
ssh访问: ssh -p 2222 localhost
|
||||
ssh访问: ssh -p 2222 localhost
|
||||
|
||||
|
||||
额外环境变量
|
||||
```````````````
|
||||
|
||||
- DB_ENGINE = mysql
|
||||
- DB_HOST = mysql_host
|
||||
- DB_PORT = 3306
|
||||
- DB_USER = xxx
|
||||
- DB_PASSWORD = xxxx
|
||||
- DB_NAME = jumpserver
|
||||
|
||||
- REDIS_HOST = ''
|
||||
- REDIS_PORT = ''
|
||||
- REDIS_PASSWORD = ''
|
||||
|
||||
::
|
||||
|
||||
docker run -p 8080:80 -p 2222:2222 -e DB_ENGINE=mysql -e DB_HOST=192.168.1.1 -e DB_PORT=3306 -e DB_USER=root -e DB_PASSWORD=xxx -e DB_NAME=jumpserver jumpserver/jumpserver:0.5.0-beta2
|
||||
|
||||
|
||||
仓库地址
|
||||
```````````````
|
||||
|
||||
https://github.com/jumpserver/Dockerfile
|
||||
|
@ -1,2 +1,294 @@
|
||||
一步一步安装
|
||||
--------------------------
|
||||
|
||||
环境
|
||||
~~~~
|
||||
|
||||
- 系统: CentOS 7
|
||||
- IP: 192.168.244.144
|
||||
- 关闭 selinux和防火墙
|
||||
|
||||
::
|
||||
|
||||
# CentOS 7
|
||||
$ setenforce 0 # 可以设置配置文件永久关闭
|
||||
$ systemctl stop iptables.service
|
||||
$ systemctl stop firewalld.service
|
||||
|
||||
# CentOS6
|
||||
$ setenforce 0
|
||||
$ service iptables stop
|
||||
|
||||
一. 准备Python3和Python虚拟环境
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**1.1 安装依赖包**
|
||||
|
||||
::
|
||||
|
||||
$ yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release
|
||||
|
||||
**1.2 编译安装**
|
||||
|
||||
::
|
||||
|
||||
$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
|
||||
$ tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1
|
||||
$ ./configure && make && make install
|
||||
|
||||
**1.3 建立python虚拟环境**
|
||||
|
||||
因为CentOS
|
||||
6/7自带的是Python2,而Yum等工具依赖原来的Python,为了不扰乱原来的环境我们来使用Python虚拟环境
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt
|
||||
$ python3 -m venv py3
|
||||
$ source /opt/py3/bin/activate
|
||||
|
||||
# 看到下面的提示符代表成功,以后运行jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行
|
||||
(py3) [root@localhost py3]#
|
||||
|
||||
二. 安装Jumpserver 0.5.0
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**2.1 下载或clone项目**
|
||||
|
||||
项目提交较多git clone时较大,你可以选择去github项目页面直接下载
|
||||
zip包,我的网速好,我直接clone了
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/
|
||||
$ git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout dev
|
||||
|
||||
**2.2 安装依赖rpm包**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续
|
||||
|
||||
**2.3 安装python库依赖**
|
||||
|
||||
::
|
||||
|
||||
$ pip install -r requirements.txt # 不要指定-i参数,因为镜像上可能没有最新的包,如果没有任何报错请继续
|
||||
|
||||
**2.4 安装Redis, jumpserver使用redis做cache和celery broker**
|
||||
|
||||
::
|
||||
|
||||
$ yum -y install redis
|
||||
$ service redis start
|
||||
|
||||
**2.5 安装MySQL**
|
||||
|
||||
本教程使用mysql作为数据库,如果不使用mysql可以跳过相关mysql安装和配置
|
||||
|
||||
::
|
||||
|
||||
# centos7
|
||||
$ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb
|
||||
$ service mariadb start
|
||||
|
||||
# centos6
|
||||
$ yum -y install mysql mysql-devel mysql-server
|
||||
$ service mysqld start
|
||||
|
||||
**2.6 创建数据库 jumpserver并授权**
|
||||
|
||||
::
|
||||
|
||||
$ mysql
|
||||
> create database jumpserver default charset 'utf8';
|
||||
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';
|
||||
|
||||
**2.7 修改jumpserver配置文件**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver
|
||||
$ cp config_example.py config.py
|
||||
$ vi config.py # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config
|
||||
|
||||
**注意: 配置文件是python格式,不要用tab,而要用空格** **注意:
|
||||
配置文件是python格式,不要用tab,而要用空格** **注意:
|
||||
配置文件是python格式,不要用tab,而要用空格**
|
||||
|
||||
::
|
||||
|
||||
class DevelopmentConfig(Config):
|
||||
DEBUG = True
|
||||
DB_ENGINE = 'mysql'
|
||||
DB_HOST = '127.0.0.1'
|
||||
DB_PORT = 3306
|
||||
DB_USER = 'jumpserver'
|
||||
DB_PASSWORD = 'somepassword'
|
||||
DB_NAME = 'jumpserver'
|
||||
|
||||
...
|
||||
|
||||
config = DevelopmentConfig() # 确保使用的是刚才设置的配置文件
|
||||
|
||||
**2.8 生成数据库表结构和初始化数据**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver/utils
|
||||
$ bash make_migrations.sh
|
||||
|
||||
**2.9 运行Jumpserver**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/jumpserver
|
||||
$ python run_server.py all
|
||||
|
||||
运行不报错,请浏览器访问 http://192.168.244.144:8080/
|
||||
(这里只是jumpserver, 没有web terminal,所以访问web terminal会报错)
|
||||
|
||||
账号:admin 密码: admin
|
||||
|
||||
三. 安装 SSH Server和Web Socket Server: Coco
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**3.1 下载clone项目**
|
||||
|
||||
新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt
|
||||
$ git clone https://github.com/jumpserver/coco.git && cd coco && git checkout dev
|
||||
|
||||
**3.2 安装依赖**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco/requirements $ yum -y install $(cat rpm_requirements.txt) $ pip install requirements.txt
|
||||
|
||||
|
||||
**3.2 安装依赖**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco/requirements
|
||||
$ yum -y install $(cat rpm_requirements.txt)
|
||||
$ pip install -r requirements.txt
|
||||
|
||||
**3.3 查看配置文件并运行**
|
||||
|
||||
::
|
||||
|
||||
$ cd /opt/coco
|
||||
$ cp conf_example.py conf.py
|
||||
$ python run_server.py
|
||||
|
||||
这时需要去
|
||||
jumpserver管理后台-终端-终端(http://192.168.244.144:8080/terminal/terminal/)接受coco的注册
|
||||
|
||||
::
|
||||
|
||||
Coco version 0.4.0, more see https://www.jumpserver.org
|
||||
Starting ssh server at 0.0.0.0:2222
|
||||
Quit the server with CONTROL-C.
|
||||
|
||||
**3.4 测试连接**
|
||||
|
||||
::
|
||||
|
||||
$ ssh -p2222 admin@192.168.244.144
|
||||
密码: admin
|
||||
|
||||
如果是用在windows下,Xshell terminal登录语法如下
|
||||
$ssh admin@192.168.244.144 2222
|
||||
密码: admin
|
||||
如果能登陆代表部署成功
|
||||
|
||||
四. 安装 Web Terminal 前端: Luna
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Luna已改为纯前端,需要nginx来运行访问
|
||||
|
||||
下载 release包,直接解压,不需要编译
|
||||
|
||||
访问 https://github.com/jumpserver/luna/releases,下载对应release包
|
||||
|
||||
4.1 解压luna
|
||||
|
||||
::
|
||||
|
||||
$ pwd
|
||||
/opt/
|
||||
|
||||
$ tar xvf luna.tar.gz
|
||||
$ ls /opt/luna
|
||||
...
|
||||
|
||||
五. 安装Windows支持组件
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
使用docker启动 guacamole
|
||||
|
||||
.. code:: shell
|
||||
|
||||
docker run \
|
||||
-p 8080:8080 \
|
||||
-e JUMPSERVER_SERVER=http://<jumpserver>:8080 \
|
||||
jumpserver/guacamole
|
||||
|
||||
这里所需要注意的是guacamole暴露出来的端口是8080,若与jumpserver部署在同一主机上自定义一下。
|
||||
|
||||
修改JUMPSERVER_SERVER的配置,填上jumpserver的内网地址
|
||||
|
||||
六. 配置 nginx 整合各组件
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
6.1 安装nginx 根据喜好选择安装方式和版本
|
||||
|
||||
6.2 配置文件
|
||||
|
||||
::
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
location /luna/ {
|
||||
try_files $uri / /index.html;
|
||||
alias /opt/luna/;
|
||||
}
|
||||
|
||||
location /media/ {
|
||||
add_header Content-Encoding gzip;
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
root /opt/jumpserver/data/;
|
||||
}
|
||||
|
||||
location /socket.io/ {
|
||||
proxy_pass http://localhost:5000/socket.io/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
|
||||
location /guacamole/ {
|
||||
proxy_pass http://<guacamole>:8080/;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8080;
|
||||
}
|
||||
}
|
||||
|
||||
6.3 运行 nginx
|
||||
|
||||
6.4 访问 http://192.168.244.144
|
18
docs/upgrade.rst
Normal file
18
docs/upgrade.rst
Normal file
@ -0,0 +1,18 @@
|
||||
升级
|
||||
----
|
||||
|
||||
1. 升级 jumpserver
|
||||
|
||||
::
|
||||
|
||||
$ git pull && pip install -r requirements/requirements.txt && cd utils && sh make_migrations.sh
|
||||
|
||||
2. 升级 coco
|
||||
|
||||
::
|
||||
|
||||
$ git pull && cd requirements && pip install -r requirements.txt # 不要指定 -i参数
|
||||
|
||||
3. 升级 luna
|
||||
|
||||
重新下载release包
|
Loading…
Reference in New Issue
Block a user