Centos 6.8  安装 jumpserver

 

系统环境:

        cat /etc/redhat-release

        CentOS release 6.8 (Final)

Ip192.168.137.31

 

 

一.关闭selinux

[root@localhost ~]# sed -i '/SELINUX=/s/enforcing/Disabled/' /etc/selinux/config

[root@localhost ~]# cat /etc/selinux/config

临时设置关闭

[root@localhost ~]# setenforce 0

[root@localhost ~]# getenforce 0

Permissive

 

二.测试的先关闭防火墙,测试完成再开启,添加相应的端口

[root@localhost ~]# service iptables stop

[root@localhost ~]# iptables -nL

三.升级python2.6python2.7

[root@localhost ~]# wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2

[root@localhost ~]# tar -jxvf Python-2.7.3.tar.bz2

[root@localhost ~]# cd Python-2.7.3

[root@localhost Python-2.7.3]# ./configure

[root@localhost Python-2.7.3]# make all

[root@localhost Python-2.7.3]# make && make install

[root@localhost Python-2.7.3]# make clean

[root@localhost Python-2.7.3]# mv /usr/bin/python /usr/bin/python.bak

[root@localhost bin]# ln -s /usr/local/bin/python2.7 /usr/bin/python

python -V检验是否成功

vim /usr/bin/yum

把第一行改为#!/usr/bin/python2.6

四.安装pip

[root@localhost ~]# curl -O https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz

[root@localhost ~]# tar zxvf pip-7.1.2.tar.gz

[root@localhost ~]# cd pip-7.1.2

[root@localhost pip-7.1.2]# python setup.py install    #如果以下报错,是缺少setuptools模块

Traceback (most recent call last):

  File "setup.py", line 6, in <module>

    from setuptools import setup, find_packages

ImportError: No module named setuptools

 

安装setuptools模块

[root@localhost ~]#

wget    http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e --no-check-certificate

 

[root@localhost ~]# tar -zxvf setuptools-0.6c11.tar.gz

[root@localhost ~]# cd setuptools-0.6c11

[root@localhost setuptools-0.6c11]# python setup.py install   

#出现以下报错,则是缺少zlib模块跟相关的依赖包:

File "setup.py", line 94, in <module>

    scripts = scripts,

  File "/usr/local/lib/python2.7/distutils/core.py", line 152, in setup

    dist.run_commands()

  File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands

    self.run_command(cmd)

  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/root/setuptools-0.6c11/setuptools/command/install.py", line 76, in run

    self.do_egg_install()

  File "/root/setuptools-0.6c11/setuptools/command/install.py", line 96, in do_egg_install

    self.run_command('bdist_egg')

  File "/usr/local/lib/python2.7/distutils/cmd.py", line 326, in run_command

    self.distribution.run_command(command)

  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/root/setuptools-0.6c11/setuptools/command/bdist_egg.py", line 236, in run

    dry_run=self.dry_run, mode=self.gen_header())

  File "/root/setuptools-0.6c11/setuptools/command/bdist_egg.py", line 527, in make_zipfile

    z = zipfile.ZipFile(zip_filename, mode, compression=compression)

  File "/usr/local/lib/python2.7/zipfile.py", line 681, in __init__

    "Compression requires the (missing) zlib module"

RuntimeError: Compression requires the (missing) zlib module

 

[root@localhost setuptools-0.6c11]# yum install zlib-devel

安装完zlib-devel依赖包或者模块,需要重新编译一下就可以了

root@localhost ~]# cd Python-2.7.3

[root@localhost Python-2.7.3]# make && make install

[root@localhost Python-2.7.3]# cd /root/setuptools-0.6c11

[root@localhost setuptools-0.6c11]# python setup.py install    #成功执行

再去到pip路径重新执行pip程序就显示可以了

[root@localhost setuptools-0.6c11]# cd /root/pip-7.1.2

[root@localhost pip-7.1.2]# python setup.py install

[root@localhost pip-7.1.2]# ln -s /usr/local/bin/pip2.7 /usr/bin/pip

 

[root@localhost pip-7.1.2]# pip list      #出现以下报错

Traceback (most recent call last):

  File "/usr/local/bin/pip", line 8, in <module>

    load_entry_point('pip==7.1.2', 'console_scripts', 'pip')()

  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 318, in load_entry_point

  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2221, in load_entry_point

  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 1954, in load

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/__init__.py", line 15, in <module>

    from pip.vcs import git, mercurial, subversion, bazaar  # noqa

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/vcs/subversion.py", line 9, in <module>

    from pip.index import Link

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/index.py", line 30, in <module>

    from pip.wheel import Wheel, wheel_ext

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/wheel.py", line 35, in <module>

    from pip._vendor.distlib.scripts import ScriptMaker

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/_vendor/distlib/scripts.py", line 14, in <module>

    from .compat import sysconfig, detect_encoding, ZipFile

  File "/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/_vendor/distlib/compat.py", line 31, in <module>

    from urllib2 import (Request, urlopen, URLError, HTTPError,

ImportError: cannot import name HTTPSHandler

 

处理:yum 安装openssl  openssl-devel,然后重新编译python

[root@localhost pip-7.1.2]# yum install openssl openssl-devel

[root@localhost pip-7.1.2]# cd /root/Python-2.7.3

再回到pip目录

[root@localhost Python-2.7.3]# cd /root/pip-7.1.2

[root@localhost pip-7.1.2]# pip list

pip (7.1.2)

setuptools (0.6rc11)

/usr/local/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

  InsecurePlatformWarning

You are using pip version 7.1.2, however version 9.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

 

版本太低了,我们升级一下pip

[root@localhost pip-7.1.2]# pip install -U pip

[root@localhost pip-7.1.2]# pip list

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.

pip (9.0.1)

setuptools (0.6rc11)

上面出现就说明好了,只是告警信息,可以忽略

五.安装依赖 rpm  下载阿里云的yum

[root@localhost~]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

[root@localhost ~]# yum clean all

[root@localhost ~]# yum install epel-release

[root@localhost ~]# yum install epel-release  -y

[root@localhost ~]# yum install python-pip mysql-devel gcc automake autoconf python-devel vim sshpass lrzsz -y

六. 下载 jumpserver

 

[root@localhost ~]# cd /opt

[root@localhost opt]# yum install git -y

[root@localhost opt]#  git clone https://github.com/ibuler/jumpserver.git

 执行快速安装脚本

[root@localhost opt]# cd jumpserver/install && pip install -r requirements.txt

[root@localhost jumpserver]# cd install/

[root@localhost install]# python install.py

Traceback (most recent call last):

  File "install.py", line 14, in <module>

    import readline

ImportError: No module named readline    #缺少realine模块

 

[root@localhost install]# wget https://pypi.python.org/packages/source/r/readline/readline-6.2.4.1.tar.gz#md5=578237939c81fdbc2c8334d168b17907 --no-check-certificate

[root@localhost install]# tar -zxvf readline-6.2.4.1.tar.gz

[root@localhost install]# cd readline-6.2.4.1

root@localhost readline-6.2.4.1]# python setup.py install

报错:

gcc -pthread -shared build/temp.linux-x86_64-2.7/Modules/2.x/readline.o readline/libreadline.a readline/libhistory.a -lncurses -o build/lib.linux-x86_64-2.7/readline.so

/usr/bin/ld: cannot find -lncurses

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

解决:

     更新系统内核,安装ncurses依赖包

 

[root@localhost ~]# yum install kernel devel

[root@localhost ~]# yum install ncurses-devel

[root@localhost ~]# [root@localhost ~]# cd readline-6.2.4.1

[root@localhost readline-6.2.4.1]# python setup.py install

[root@localhost readline-6.2.4.1]# cd /opt/jumpserver/install/

[root@localhost install]# python install.py

 

     

[root@localhost install]# python install.py

除了自己填自己的邮箱,账号和密码,还有设置jump的账号密码,其他默认


wKioL1muTn2QzT1BAACNvKlynOs176.png-wh_50

wKiom1muTprxorY8AAAWMDq935Y467.png-wh_50

wKiom1muTpzx3baTAABT_TNyXzY925.png-wh_50

 

 

  

七.最后输入自己的服务器或者虚拟机ip即可

运行 crontab,定期处理失效连接,定期更新资产信息 
[root@localhost ~]#cd /opt/jumpserver 
[root@localhost ~]#python manage.py crontab add

 

 wKiom1muTp7h72CwAAFTyRYKfN4542.png-wh_50

 

 

8.更新代码 
[root@localhost ~]#cd /opt/jumpserver 
[root@localhost ~]#git  pull