部署JumpServer

1、安装 MySQL 服务

# 下载MySQL镜像并启动
[root@jumpserver ~]# docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jumpserver -e MYSQL_USER=jumpserver -e MYSQL_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.38

# 查看MySQL
[root@jumpserver ~]# docker exec -it mysql bash
bash-4.2# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.38 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show create database jumpserver;
+------------+-----------------------------------------------------------------------+
| Database   | Create Database                                                       |
+------------+-----------------------------------------------------------------------+
| jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+------------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show create database jumpserver;
+------------+-----------------------------------------------------------------------+
| Database   | Create Database                                                       |
+------------+-----------------------------------------------------------------------+
| jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+------------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)

mysql> exit
Bye

[root@jumpserver ~]# docker stop mysql
# 在宿主机准备MySQL配置文件

# 准备相关目录
[root@jumpserver ~]# mkdir -p /etc/mysql/mysql.conf.d/
[root@jumpserver ~]# mkdir -p /etc/mysql/conf.d/

# 生成服务器配置文件,指定字符集
[root@jumpserver ~]# tee /etc/mysql/mysql.conf.d/mysqld.cnf <<EOF
> [mysqld]
> pid-file= /var/run/mysqld/mysqld.pid
> socket= /var/run/mysqld/mysqld.sock
> datadir= /var/lib/mysql
> symbolic-links=0
> character-set-server=utf8
> EOF
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8

[root@jumpserver ~]# tee /etc/mysql/conf.d/mysql.cnf <<EOF
> [mysql]
> default-character-set=utf8
> EOF
[mysql]
default-character-set=utf8

[root@jumpserver ~]# tree /etc/mysql/
/etc/mysql/
├── conf.d
│   └── mysql.cnf
└── mysql.conf.d
    └── mysqld.cnf
# 启动 MySQL 容器
docker run -d -p 3306:3306 --name mysql --restart always \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=jumpserver \
-e MYSQL_USER=jumpserver \
-e MYSQL_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
-v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf   mysql:5.7.38
[root@jumpserver ~]# docker exec -it mysql sh
sh-4.2# mysql -p123456 -e 'show variables like "character%"'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
sh-4.2# mysql -p123456 -e 'show variables like "collation%"'
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+

sh-4.2# cat /var/lib/mysql/jumpserver/db.opt
default-character-set=utf8
default-collation=utf8_general_ci
sh-4.2# cat /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8
sh-4.2#  cat /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8
sh-4.2# mysql -p123456 -e 'select user,host from mysql.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
sh-4.2#  mysql -p123456 -e 'select user,host from mysql.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
sh-4.2# ls /var/lib/mysql/ -l
total 188484
-rw-r----- 1 mysql mysql       56 Nov 28 12:22 auto.cnf
-rw------- 1 mysql mysql     1680 Nov 28 12:22 ca-key.pem
-rw-r--r-- 1 mysql mysql     1112 Nov 28 12:22 ca.pem
-rw-r--r-- 1 mysql mysql     1112 Nov 28 12:22 client-cert.pem
-rw------- 1 mysql mysql     1676 Nov 28 12:22 client-key.pem
-rw-r----- 1 mysql mysql     1318 Nov 28 12:22 ib_buffer_pool
-rw-r----- 1 mysql mysql 50331648 Nov 28 12:22 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Nov 28 12:22 ib_logfile1
-rw-r----- 1 mysql mysql 79691776 Nov 28 12:22 ibdata1
-rw-r----- 1 mysql mysql 12582912 Nov 28 12:22 ibtmp1
drwxr-x--- 2 mysql mysql       20 Nov 28 12:22 jumpserver
drwxr-x--- 2 mysql mysql     4096 Nov 28 12:22 mysql
lrwxrwxrwx 1 mysql mysql       27 Nov 28 12:22 mysql.sock -> /var/run/mysqld/mysqld.sock
drwxr-x--- 2 mysql mysql     8192 Nov 28 12:22 performance_schema
-rw------- 1 mysql mysql     1676 Nov 28 12:22 private_key.pem
-rw-r--r-- 1 mysql mysql      452 Nov 28 12:22 public_key.pem
-rw-r--r-- 1 mysql mysql     1112 Nov 28 12:22 server-cert.pem
-rw------- 1 mysql mysql     1680 Nov 28 12:22 server-key.pem
drwxr-x--- 2 mysql mysql     8192 Nov 28 12:22 sys
[root@jumpserver ~]# ls /data/mysql/
auto.cnf    client-cert.pem  ibdata1      ibtmp1      mysql.sock          public_key.pem   sys
ca-key.pem  client-key.pem   ib_logfile0  jumpserver  performance_schema  server-cert.pem
ca.pem      ib_buffer_pool   ib_logfile1  mysql       private_key.pem     server-key.pem

2、安装 Redis 服务

[root@jumpserver ~]# docker run -d -p 6379:6379 --name redis --restart always redis:6.2.7

3、部署 JumpServer

# 生成 key 和 token

#!/bin/bash
if [ ! "$SECRET_KEY" ]; then
  SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`;
  echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc;
  echo SECRET_KEY=$SECRET_KEY;
else
  echo SECRET_KEY=$SECRET_KEY;
fi
if [ ! "$BOOTSTRAP_TOKEN" ]; then
  BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`;
  echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc;
  echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
else
  echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
fi

[root@jumpserver ~]# bash key.sh
SECRET_KEY=K3M0N7SUdSAP9koynU1smvlvMUKZXRzEKBCj1dioa73guVxKFj
BOOTSTRAP_TOKEN=EDsurdnmx5s8ajRx
docker run --name jms_all -d \
  -v /opt/jumpserver/core/data:/opt/jumpserver/data \
  -v /opt/jumpserver/koko/data:/opt/koko/data \
  -v /opt/jumpserver/lion/data:/opt/lion/data \
  -p 80:80 \
  -p 2222:2222 \
  -e SECRET_KEY=kWQdmdCQKjaWlHYpPhkNQDkfaRulM6YnHctsHLlSPs8287o2kW \
  -e BOOTSTRAP_TOKEN=KXOeyNgDeTdpeu9q \
  -e LOG_LEVEL=ERROR \
  -e DB_HOST=192.168.1.15 \
  -e DB_PORT=3306 \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=123456 \
  -e DB_NAME=jumpserver \
  -e REDIS_HOST=192.168.1.15 \
  -e REDIS_PORT=6379 \
  -e REDIS_PASSWORD='' \
  --privileged=true \
 jumpserver/jms_all:v2.15.3
# 查看日志
[root@jumpserver ~]# docker logs -f jms_all
......
Starting supervisor: supervisord.
Jumpserver ALL v2.15.3
官网 http://www.jumpserver.org
文档 http://docs.jumpserver.org

进入容器命令 docker exec -it jms_all /bin/bash
[root@jumpserver ~]# ss -ntl
State       Recv-Q Send-Q                    Local Address:Port                                   Peer Address:Port
LISTEN      0      128                                   *:3306                                              *:*
LISTEN      0      128                                   *:6379                                              *:*
LISTEN      0      128                                   *:2222                                              *:*
LISTEN      0      128                                   *:111                                               *:*
LISTEN      0      128                                   *:80                                                *:*
LISTEN      0      128                                   *:22                                                *:*
LISTEN      0      100                           127.0.0.1:25                                                *:*
LISTEN      0      128                                [::]:3306                                           [::]:*
LISTEN      0      128                                [::]:6379                                           [::]:*
LISTEN      0      128                                [::]:2222                                           [::]:*
LISTEN      0      128                                [::]:111                                            [::]:*
LISTEN      0      128                                [::]:80                                             [::]:*
LISTEN      0      128                                [::]:22                                             [::]:*
LISTEN      0      100                               [::1]:25                                             [::]:* 

登录 JumpServer 默认用户: admin 密码: admin

图片[1]-部署JumpServer-李佳程的个人主页
图片[2]-部署JumpServer-李佳程的个人主页

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享