jumpserver/docs/_build/html/step_by_step.html

489 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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>一步一步安装 &mdash; 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> &raquo;</li>
<li><a href="installation.html">安装文档</a> &raquo;</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 &amp;&amp; cd Python-3.6.1
$ ./configure &amp;&amp; make &amp;&amp; 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 &amp;&amp; cd jumpserver &amp;&amp; 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
&gt; create database jumpserver default charset &#39;utf8&#39;;
&gt; grant all on jumpserver.* to &#39;jumpserver&#39;@&#39;127.0.0.1&#39; identified by &#39;somepassword&#39;;
</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">&#39;mysql&#39;</span>
<span class="n">DB_HOST</span> <span class="o">=</span> <span class="s1">&#39;127.0.0.1&#39;</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">&#39;jumpserver&#39;</span>
<span class="n">DB_PASSWORD</span> <span class="o">=</span> <span class="s1">&#39;somepassword&#39;</span>
<span class="n">DB_NAME</span> <span class="o">=</span> <span class="s1">&#39;jumpserver&#39;</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 &amp;&amp; cd coco &amp;&amp; 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">//&lt;</span><span class="n">jumpserver</span><span class="o">&gt;</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 &quot;upgrade&quot;;
}
location /guacamole/ {
proxy_pass http://&lt;guacamole&gt;: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>
&copy; 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>