mirror of https://github.com/jumpserver/jumpserver
489 lines
19 KiB
HTML
489 lines
19 KiB
HTML
|
||
|
||
<!DOCTYPE html>
|
||
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||
<head>
|
||
<meta charset="utf-8">
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<title>一步一步安装 — jumpserver 0.5.0 文档</title>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="index" title="索引"
|
||
href="genindex.html"/>
|
||
<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="upgrade.html"/>
|
||
<link rel="prev" title="快速安装" href="quickstart.html"/>
|
||
|
||
|
||
<script src="_static/js/modernizr.min.js"></script>
|
||
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav" role="document">
|
||
|
||
|
||
<div class="wy-grid-for-nav">
|
||
|
||
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search">
|
||
|
||
|
||
|
||
<a href="index.html">
|
||
|
||
|
||
|
||
|
||
<img src="_static/logo-text.png" class="logo" />
|
||
|
||
</a>
|
||
|
||
|
||
|
||
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||
<input type="text" name="q" placeholder="Search docs" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<p class="caption"><span class="caption-text">文档:</span></p>
|
||
<ul class="current">
|
||
<li class="toctree-l1"><a class="reference internal" href="intro.html">简介</a></li>
|
||
<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><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="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>
|
||
</ul>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||
|
||
|
||
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="index.html">jumpserver</a>
|
||
|
||
</nav>
|
||
|
||
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||
|
||
<ul class="wy-breadcrumbs">
|
||
|
||
<li><a href="index.html">Docs</a> »</li>
|
||
|
||
<li><a href="installation.html">安装文档</a> »</li>
|
||
|
||
<li>一步一步安装</li>
|
||
|
||
|
||
<li class="wy-breadcrumbs-aside">
|
||
|
||
|
||
<a href="_sources/step_by_step.rst.txt" rel="nofollow"> View page source</a>
|
||
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<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>
|
||
|
||
|
||
</div>
|
||
<div class="articleComments">
|
||
|
||
</div>
|
||
</div>
|
||
<footer>
|
||
|
||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||
|
||
<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>
|
||
|
||
</div>
|
||
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>
|
||
© Copyright 北京堆栈科技有限公司 © 2014-2018.
|
||
|
||
</p>
|
||
</div>
|
||
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
</footer>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</section>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
var DOCUMENTATION_OPTIONS = {
|
||
URL_ROOT:'./',
|
||
VERSION:'0.5.0',
|
||
COLLAPSE_INDEX:false,
|
||
FILE_SUFFIX:'.html',
|
||
HAS_SOURCE: true,
|
||
SOURCELINK_SUFFIX: '.txt'
|
||
};
|
||
</script>
|
||
<script type="text/javascript" src="_static/jquery.js"></script>
|
||
<script type="text/javascript" src="_static/underscore.js"></script>
|
||
<script type="text/javascript" src="_static/doctools.js"></script>
|
||
<script type="text/javascript" src="_static/translations.js"></script>
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript" src="_static/js/theme.js"></script>
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
jQuery(function () {
|
||
SphinxRtdTheme.StickyNav.enable();
|
||
});
|
||
</script>
|
||
|
||
|
||
</body>
|
||
</html> |