跳至主要內容

malenia系统安装

大约 4 分钟

malenia系统安装

Docker部署

Docker依赖mysql,故需要docker-compose配合

docker-compose

已经安装过docker和docker-compose的请略过此步骤

# 如果你的服务器长期没有更新,那么建议更新一下
sudo yum clean all
sudo yum makecache
sudo yum update

# 安装docker(系统依赖升级到最新,这里一般不会报错,如果报错请走一遍第一步,可以考虑使用阿里云的yum镜像)
sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
sudo yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io

# 设置docker开机自启动
sudo systemctl start docker 
sudo systemctl enable docker
systemctl enable docker.service
systemctl start docker.service

# 安装docker-compose,这里使用了pip的方式
sudo pip install docker-compose

启动malenia

执行命令:

curl https://oss.iinti.cn/malenia/quickstart.sh | bash

访问网站:http://127.0.0.1:5810/open in new window,首次打开网站请注册账户,第一个注册账户将会成为管理员

  • 请预先安装好dockerdocker-compose
  • 服务依赖MySQL启动,使用Docker-compose 首次启动数据库较慢,
  • 可能会 malenia-server启动失败, 这种情况确认数据库启动成功后,直接docker restart malenia-server
  • docker全部使用默认参数做配置,非常适合快速入门,当然malenia目前没有非常复杂的环境依赖,使用docker用作生产也是可以的

malenia安装包

malenia使用zip压缩包进行发布,获得压缩包之后解锁文件可以看到相关的文件布局,如下

.
|____bin //启动脚本
| |____Malenia.sh //Linux和MacOS的启动脚本
| |____Malenia.bat //Windows的启动脚本
|____lib //程序依赖的三方库
| |____swagger-annotations-1.5.13.jar
| |____netty-reactive-streams-1.0.8.jar
| |____...
|____assets //部署相关的资源
| |____ddl.sql
|____conf //程序配置相关的文件夹
| |____logback.xml //系统的日志规则配置
| |____static //网页前端资源
| | |____favicon.ico
| | |____index.html
| | |____images
| | | |____malenia.png
| | | |____undraw_page_not_found_su7k.svg
| | |____service-worker.js
| |____application.properties //后端配置总入口

安装前准备

操作系统

支持Windows/Linux和MacOS,最低要求2G内存,作为代理服务器建议带宽至少选择4兆。

预装软件

  • Java最低要求1.8版本请自行安装完成并配置好环境变量
  • mysql最底要求5.5版本请自行安装或者使用mysql云服务
  • 如果你需要完整的支持mitm功能的话,你需要额外的注意一下环境
    • brotli(br)压缩算法
      • windows: 请安装微软c++运行(Microsoft Visual C++ Redistributable)
    • alpn(支持http2.0)
      • 当jdk=oracle jdk 1.8时,需要安装open ssl

mysql初始化

初始化脚本在安装包的assets/ddl.sql 请在mysql中导入初始化脚本,完成mysql建表

其他参数配置

请在conf/application.properties配置程序基础参数,包括mysql连接信息、服务端口等。

请在conf/logback.xml设定日志打印规则和指定日志输出文件夹。

启动和运行

直接执行bin/malenia.sh或者bin/malenia.bat即可启动服务。之后通过浏览器访问刚配置好的服务和端口,即可打开网站后台。

网站第一个完成注册的账户会自动变成管理员,其他后续账户都会被设定为普通账户,您后续可以在操作页面设定其他管理员。

分布式部署

分布式部署流程非常简单,只需要将您刚编辑好的安装包文件夹复制到多台服务器并完成启动即可。但是需要注意您的mysql多台服务器鉴权。

分布式环境要求malenia系统的多台服务器都运行在公网并且可以相互通信。

https网站

正常情况malenia不适合和nginx配合,因为他和nginx都为http网关。如果你需要给malenia增加https,建议给裸网站直接配置ssl证书,请将申请到的ssl证书放到conf目录下, 并修改配置文件: appliation.properties

server.port=443
server.ssl.key-store=classpath:ssl_key_store_file.pfx
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=the-password

malenia使用springboot开发,底层内置tomcat服务器,参考网上的任何关于springboot配置https证书的教程均可

一个环境冲突问题

为了对http2.0进行mitm,我们需要使用 TLS ALPN协议,但是这个协议在oracle jdk1.8的实现并不完整。 这会导致:《oracle jdk && <=1.8 && mitm && https》组合的https请求转发失败。

你可以做以下任何一种策略绕过这个问题:

  1. 使用openJDK
  2. 使用jdk 1.9+
  3. 确保你的主机环境安装了完整的openSSL库,malenia将会尝试使用openSSL方案