编辑
2023-03-31
学习笔记
00
请注意,本文编写于 364 天前,最后修改于 302 天前,其中某些信息可能已经过时。

目录

安装Docker和Docker-compose
安装Microsoft 365 E5 Renew X
拉取镜像并在后台启动容器
未完成的写作
未完成的动作

安装Docker和Docker-compose

  1. 安装Docker
bash
curl -fsSL https://get.docker.com -o get-docker.sh&&sudo sh get-docker.sh
  1. 安装Docker-compose
  • ARM64
bash
curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-aarch64 | sudo tee /usr/local/bin/docker-compose >/dev/null
  • AMD64
bash
curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 | sudo tee /usr/local/bin/docker-compose >/dev/null
  1. 增加执行权限
bash
sudo chmod +x /usr/local/bin/docker-compose
  1. 检查是否正常
docker -v && docker-compose -v

安装Microsoft 365 E5 Renew X

  1. 创建ms365目录结构
bash
mkdir ~/ms365 cd ~/ms365
bash
mkdir appdata DataProtection-Keys Deploy static
bash
cd ~/ms365/Deploy && touch Config.xml && vim Config.xml

写配置文件,这是原始模版,可根据实际情况修改。

xml
<?xml version="1.0" encoding="utf-8" ?> <Configuration> <!--站点服务器基本配置--> <Serivce> <!--服务访问端口--> <Port>1066</Port> <!--管理员密码(管理员登录路由/Admin/Login) 重要:首次启动前必须更改--> <LoginPassword>12345678</LoginPassword> <!--是否启用内核多线程支持--> <CoreMultiThread>true</CoreMultiThread> <!--网站备案号(选填)--> <ICP></ICP> <!--备案管理查询机构跳转链接(选填)--> <ICPLink>https://beian.miit.gov.cn</ICPLink> </Serivce> <!--站点Kestrel服务器HTTPS配置 (只支持IIS证书类型 即PFX格式的证书)--> <HTTPS> <!--Kestrel是否启用HTTPS(SSL加密传输)--> <Enable>false</Enable> <!--SSL证书文件名 (需要将PFX格式的SSL证书放置于该配置文件的同级目录Deploy文件夹下) 如e5.sundayrx.net.pfx--> <!--不填则默认使用Dev localhost 本地证书--> <Certificate></Certificate> <!--SSL证书密钥(PFX证书的访问密钥)--> <Password></Password> </HTTPS> <!--共享站点配置,不共享可无视以下内容 (若要共享站点 请自备以下所需的配置信息 且配置中HTTPS必须启用)--> <ShareSite> <!--是否启用站点共享--> <Enable>false</Enable> <!--SMTP邮件发送支持--> <SMTP> <!--发件邮箱--> <Email></Email> <!--邮箱密钥--> <Password></Password> <!--SMTP服务器地址--> <Host></Host> <!--SMTP服务器端口--> <Port>587</Port> <!--SMTP服务器是否使用SSL传输--> <EnableSSL>true</EnableSSL> </SMTP> <!--第三方OAuth登录支持(至少启用以下一种OAuth否则其他用户无法注册)--> <OAuth> <!--微软登录授权--> <Microsoft> <!--是否启用该OAuth--> <Enable>true</Enable> <!--应用程序Id--> <ClientId></ClientId> <!--应用程序访问机密--> <ClientSecret></ClientSecret> </Microsoft> <!--GitHub登录授权--> <Github> <!--是否启用该OAuth--> <Enable>true</Enable> <!--应用程序Id--> <ClientId></ClientId> <!--应用程序访问机密--> <ClientSecret></ClientSecret> </Github> </OAuth> <!--站点系统设置--> <System> <!--站点启动后默认是否允许用户注册 建议为false--> <AllowRegister>false</AllowRegister> <!--站点启动后默认公告(换行符请使用 &#x000D;&#x000A; 进行换行)--> <Notice></Notice> <!--站点运营者--> <Master></Master> <!--站点运营者推广链接--> <MasterLink></MasterLink> <!--站点新用户默认配额数--> <DefaultQuota>1</DefaultQuota> <!--站点自动特赦时间间隔 (单位:天 至少30天)--> <AutoSpecialPardonInterval>30</AutoSpecialPardonInterval> </System> </ShareSite> </Configuration>

⚠️如果vim文件显示中文乱码,请打开/etc/vim/vimrc

bash
vim /etc/vim/vimrc

在文件代码结束前加入如下内容:

set encoding=UTF-8 set langmenu=zh_CN.UTF-8 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set fileencoding=utf-8
  1. 编排compose配置文件
bash
cd ~/ms365 && touch docker-compose.yml && vim docker-compose.yml

写入配置文件

yaml
version: '3' services: ms365: image: hanhongyong/ms365-e5-renew-x:arm # amd参数改为latest container_name: ms365 restart: always ports: - "1066:1066" environment: - TZ=Asia/Shanghai volumes: - /root/ms365/Deploy:/app/Deploy - /root/ms365/DataProtection-Keys:/root/.aspnet/DataProtection-Keys - /root/ms365/appdata/:/app/appdata/ - /root/ms365/static/:/app/wwwroot/static/

如果把nginx proxy manager 加进来, 在ms365下创建 npm文件夹来储存nginx proxy manager数据,

bash
cd ~/ms365 && mkdir npm

根据官网可以直接在代码后边加入,这是一个配置模板。

yaml
version: '3' services: ms365: image: hanhongyong/ms365-e5-renew-x:arm container_name: ms365 restart: always ports: - "1066:1066" environment: - TZ=Asia/Shanghai volumes: - /root/ms365/Deploy:/app/Deploy - /root/ms365/DataProtection-Keys:/root/.aspnet/DataProtection-Keys - /root/ms365/appdata/:/app/appdata/ - /root/ms365/static/:/app/wwwroot/static/ nginx-proxy-manager: image: jc21/nginx-proxy-manager:latest container_name: npm restart: unless-stopped ports: - "80:80" - "81:81" - "443:443" volumes: - ./npm/data:/data - ./npm/letsencrypt:/etc/letsencrypt

拉取镜像并在后台启动容器

  1. 启动容器
docker-compose up -d
  1. 停止容器
docker-compose down

未完成的写作

已完成,未实行编辑,使用同一个IP,不同端口号,反向代理到不同网址,以达到E5和npm都使用域名访问,比如a.a.com和b.a.com在cloudflare解析到同一IP,然后a.a.com和b.a.com都申请证书。。。。

未完成的动作

  • 打开共享后并开启https后网页一直提示502
  • 关闭共享后并关闭https后网页正常访问。
  • 日志文件也体现不出来,不知道问题出在哪里,往知道的大神可以留言,不胜感激!

本文作者:我本无罪

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!