Mailman Web§
要使用 Unit 安装并运行 Mailman 3 套件的 Web UI
使用 Python 3.7+ 语言模块安装 Unit。
按照 Mailman 的 指南 安装其先决条件和核心文件,但在 设置 WSGI 服务器 时停止;我们将使用 Unit。此外,请注意以下设置(指南中的值在冒号后给出)
虚拟环境路径:/opt/mailman/venv/
安装路径:/etc/mailman3/
静态文件路径:/opt/mailman/web/static/
用户和组:mailman:mailman
这些是配置 Unit 所需的。
运行以下命令,以便 Unit 可以访问 Mailman 的静态文件
# chown -R unit:unit /opt/mailman/web/static/
或者,将 Unit 的非特权用户帐户添加到 Mailman 的组,以便 Unit 可以访问静态文件
# usermod -a -G mailman unit
接下来,为 Unit 准备 Mailman 配置(使用步骤 2 中的值,用于共享、路径和主页)
{ "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": "/static/*" }, "action": { "share": "/opt/mailman/web/$uri" } }, { "action": { "pass": "applications/mailman_web" } } ], "applications": { "mailman_web": { "type": "python 3.X", "path": "/etc/mailman3/", "home": "/opt/mailman/venv/", "module": "mailman_web.wsgi", "user": "mailman", "environment": { "DJANGO_SETTINGS_MODULE": "settings" } } } }
上传更新的配置。假设上述 JSON 已添加到
config.json
# curl -X PUT --data-binary @config.json --unix-socket \ /path/to/control.unit.sock http://localhost/config/
成功更新后,应在侦听器的 IP 地址和端口上提供 Mailman 的 Web UI