• 如何在带有Postfix、Nginx和FastCGI的Ubuntu 16.04上安装GNU Mailman

    GNU mailman是用Python编写的基于web的免费开源邮件列表管理器。它通常被开源项目使用。在本教程中,我们将使用Nginx和FastCGI在Ubuntu 16.04上安装GNU mailman。 先决条件 Mailman只提供一个web管理界面。它本身不发送或接收电子邮件,但依赖外部SMTP服务器,如Postfix。 假设您已经正确安装了Postfix。如果没有,请查看以下教程。 如何在Ubuntu 16.04上安装基本的Postfix SMTP服务器 现在,让我们开始安装GNU Mailman。 步骤1:安装GNU Mailman 我们可以从存储库安装GNU Mailman。 sudo apt update sudo apt install mailman 在安装过程中,您将被要求为Mailman选择语言。使用箭头键上下移动。使用空格键选择您的语言。星号表示选择了该语言。 之后,它会提示您创建一个新列表。点击OK,然后运行以下命令创建邮件列表。 sudo newlist mailman 输入列表管理员电子邮件地址并设置密码。然后编辑/etc/alias文件。 sudo nano /etc/aliases 将以下行复制并粘贴到文件中。 ## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" 保存并关闭文件。运行以下命令更新别名索引文件。 sudo newaliases 重新启动Postfix SMTP服务器。 sudo systemctl restart postfix 启动邮递员程序。 sudo systemctl start mailman 第2步:安装FCGIWrap 为了正确显示Mailman web界面,我们需要安装fcgiwrap包,它允许我们使用FastCGI和Nginx运行CGI应用程序。 sudo apt install fcgiwrap 一旦安装,fcgiwrap将自动运行,如发出以下命令所示: systemctl status fcgiwrap 输出: ● fcgiwrap.service - Simple CGI Server Loaded: loaded (/lib/systemd/system/fcgiwrap.service; indirect; vendor preset: enabled) Active: active (running) since Mon 2016-12-12 01:25:20 EST; 4min 27s ago Main PID: 27780 (fcgiwrap) CGroup: /system.slice/fcgiwrap.service └─27780 /usr/sbin/fcgiwrap -f 我们需要确保FCGI和Nginx作为同一个用户(www数据)运行。编辑/etc/init。d/fcgiwrap shell脚本。 sudo nano /etc/init.d/fcgiwrap 查找FCGI_用户和FCGI_组变量。该值应为www数据。如果没有,就改变它。 FCGI_USER="www-data" FCGI_GROUP="www-data" 之后,重新启动fcgiwrap服务。 sudo systemctl restart fcgiwrap fcgiwrap服务监听/var/run/fcigwrap。默认情况下为套接字。 步骤3:设置Nginx服务器块 使用以下软件安装Nginx: sudo apt install nginx 要从现有网站的子目录访问Mailman,请编辑网站的服务器块文件。 sudo nano /etc/nginx/conf.d/your-site.conf 将以下几行放在服务器部分。 location /cgi-bin/mailman { root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; } location /images/mailman { alias /usr/share/images/mailman; } location /pipermail { alias /var/lib/mailman/archives/public; autoindex on; } 保存并关闭文件。然后测试Nginx配置并重新加载。 sudo nginx -t sudo systemctl reload nginx 现在,您可以通过以下URL访问Mailman管理页面,并创建新的邮件列表。 www.your-site.com/cgi-bin/mailman/admin/ 就这样! 我希望这篇文章能帮助你在Ubuntu 16.04上安装带有Nginx的GNU Mailman。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。你也可以在Google+、Twitter或我们的Facebook页面上关注我们。

    2022.03.23 浏览:252