在 Debian 与 Exim4 下安装 Mailman 邮件列表软件
2010-10-22 23:22
309 查看
Solidot
不再使用 Google Groups 的邮件列表了,装上了 Mailman (http://lists.solidot.org
),
主要用于团队交流,Slash 中文版交流和Solidot 的用户之间的交流。虽然 Google Groups 很酷,但我们觉得使用强大的 Mailman 更有趣。
这里介绍一下 Mailman 的安装过程,操作系统是 Debian, MTA 是 Exim4.
1. Mailman 简介。
Mailman 是一个开源的邮件列表管理软件,由自由软件基金会开发和维护,官方网站是 www.list.org
.
Mailman 的列表项目、存档邮件都可以在 Web 上显示,可以允许用户参与订阅、取消订阅、管理订阅等。Mailman 可以运行在基于
POSIX 的绝大多数系统,比如 UNIX, MacOSX 和 GNU/Linux, 目前不支持 Windows. Mailman
支持的邮件服务器有 Postfix, Sendmail, Exim 和 qmail. 要求 Python 版本2.1 以上,推荐使用
Python 2.3 或更新的版本。当然一个网络服务器是不可少的,Apache
是最佳选择。
1. 下载最新版 Mailman 2.1.8
, 放到一个临时目录并解压缩。
# cd /root/src
# tar zxvf mailman-2.1.8.tar.gz
2. 创建 Mailman 用户组、用户和安装目录。Mailman 需要自己专用的用户和用户组,这里使用的名字都是 mailman:
# groupadd mailman
# useradd mailman
创建 Mailman 安装目录,我们安装在
/usr/local 目录下:
# make dir /usr/local/mailman
设置安装目录的权限:
# cd /usr/local/mailman
# chgrp mailman .
# chmod a+rx,g+ws .
3. 配置安装 Mailman.
Mailman 的安装不需要用 Root 身份,以免权限发生错误,这里换到前面创建的 mailman 用户来安装:
#su mailman
到Mailman源码存放目录:
# cd /root/src/mailman-2.1.8
# ./configure
--prefix=/usr/local/mailman --with-mail-gid=nobody
--with-cgi-gid=nobody --with-urlhost=lists.solidot.org
--with-username=mailman --with-groupname=mailman
# make
# make install
4. 检查安装情况。
到 Mailman 的安装目录:
# cd /usr/local/mailman
# bin/check_perms
如果有错误,运行下面的修复:
# bin/check_perms -f
检查完成后看到一个"No problem found"那么安装这一部分就成功了。
5. 配置 Exim4 邮件服务器。
在 Exim4 的主要设置中(main) 加入下面的内容:
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
MAILMAN_HOME=/usr/local/mailman
MAILM AN_WRAP=MAILMAN_HOME/mail/mailman
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script.
MAILMAN_USER=mailman
MAILMAN_GROUP=mailm an
在 Exim4 的 Router 设置中加入下面的,位置在 begin routers 这一行之后均可。
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : /
-confirm+* : -join : -leave : /
-owner : -request : -admin
transport = mailman_transport
在 Exim4 的 Transport 部分加入下面的:
mailman_transport:
driver = pipe
command = MAILMAN_WRAP /
'${if def:local_part_suffix /
{${sg{$local_part_suffix}{-(//w+)(//+.*)?}{/$1}}} /
{post}}' /
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
6. 配置 Apache 服务器。
在 httpd.conf 加入下面的内容,使 Mailman 可以通过 Apache 访问。
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
Alias /pipermail/ /usr/local/mailman/archives/public/
Solidot 使用的是二级域名,设置了一个虚拟机 (Virtual Host), 内容如下:
NameVirtualHost 10.2.168.2:80
<VirtualHost 10.2.168.2:80>
ServerAdmin admin@lists.solidot.org
DocumentRoot /usr/local/mailman/html/
ServerName lists.solidot.org
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
order allow,deny
allow from all
</Directory>
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
Alias /pipermail/ /usr/local/mailman/archives/public/
Alias /icons/ /usr/local/mailman/icons/
</VirtualHost>
复制 Mailman 的 Logo 图片到 Apache Icons 目录:
# cp /usr/local/mailman/icons/*.{jpg,png} /path/to/apache/icons
重起 Apache:
# /etc/init.d/apache restart
7. 创建网站方面的邮件列表。
# bin/newlist mailman
然后初始化它:
# bin/config_list -i data/sitelist.cfg mailman
启动 Mailman:
# bin/mailmanctl start
8. 创建你的首个邮件列表。
到这里 Mailman 的安装配置就完成了,可以开始创建你的邮件列表了。可以用命令行也可以到 Web 页面: http://www.yoursite.com/mailman/create
创建后可以到 http://www.yoursite.com/mailman/listinfo 查看列表的状况。
后记:
Mailman 的配置文件在 ~/mailman/Mailman/mm_cfg.py, 你可以根据需要添加一些个人的设置,这个文件将覆盖 ~/mailman/Mailman/Defaults.py 里边的设置。
Solidot 安装后的演示地址: http://lists.solidot.org/
.
目前使用 Mailman 作为邮件列表管理的网站和机构: http://list.org/inthenews.html
.
不再使用 Google Groups 的邮件列表了,装上了 Mailman (http://lists.solidot.org
),
主要用于团队交流,Slash 中文版交流和Solidot 的用户之间的交流。虽然 Google Groups 很酷,但我们觉得使用强大的 Mailman 更有趣。
这里介绍一下 Mailman 的安装过程,操作系统是 Debian, MTA 是 Exim4.
1. Mailman 简介。
Mailman 是一个开源的邮件列表管理软件,由自由软件基金会开发和维护,官方网站是 www.list.org
.
Mailman 的列表项目、存档邮件都可以在 Web 上显示,可以允许用户参与订阅、取消订阅、管理订阅等。Mailman 可以运行在基于
POSIX 的绝大多数系统,比如 UNIX, MacOSX 和 GNU/Linux, 目前不支持 Windows. Mailman
支持的邮件服务器有 Postfix, Sendmail, Exim 和 qmail. 要求 Python 版本2.1 以上,推荐使用
Python 2.3 或更新的版本。当然一个网络服务器是不可少的,Apache
是最佳选择。
1. 下载最新版 Mailman 2.1.8
, 放到一个临时目录并解压缩。
# cd /root/src
# tar zxvf mailman-2.1.8.tar.gz
2. 创建 Mailman 用户组、用户和安装目录。Mailman 需要自己专用的用户和用户组,这里使用的名字都是 mailman:
# groupadd mailman
# useradd mailman
创建 Mailman 安装目录,我们安装在
/usr/local 目录下:
# make dir /usr/local/mailman
设置安装目录的权限:
# cd /usr/local/mailman
# chgrp mailman .
# chmod a+rx,g+ws .
3. 配置安装 Mailman.
Mailman 的安装不需要用 Root 身份,以免权限发生错误,这里换到前面创建的 mailman 用户来安装:
#su mailman
到Mailman源码存放目录:
# cd /root/src/mailman-2.1.8
# ./configure
--prefix=/usr/local/mailman --with-mail-gid=nobody
--with-cgi-gid=nobody --with-urlhost=lists.solidot.org
--with-username=mailman --with-groupname=mailman
# make
# make install
4. 检查安装情况。
到 Mailman 的安装目录:
# cd /usr/local/mailman
# bin/check_perms
如果有错误,运行下面的修复:
# bin/check_perms -f
检查完成后看到一个"No problem found"那么安装这一部分就成功了。
5. 配置 Exim4 邮件服务器。
在 Exim4 的主要设置中(main) 加入下面的内容:
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
MAILMAN_HOME=/usr/local/mailman
MAILM AN_WRAP=MAILMAN_HOME/mail/mailman
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script.
MAILMAN_USER=mailman
MAILMAN_GROUP=mailm an
在 Exim4 的 Router 设置中加入下面的,位置在 begin routers 这一行之后均可。
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : /
-confirm+* : -join : -leave : /
-owner : -request : -admin
transport = mailman_transport
在 Exim4 的 Transport 部分加入下面的:
mailman_transport:
driver = pipe
command = MAILMAN_WRAP /
'${if def:local_part_suffix /
{${sg{$local_part_suffix}{-(//w+)(//+.*)?}{/$1}}} /
{post}}' /
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
6. 配置 Apache 服务器。
在 httpd.conf 加入下面的内容,使 Mailman 可以通过 Apache 访问。
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
Alias /pipermail/ /usr/local/mailman/archives/public/
Solidot 使用的是二级域名,设置了一个虚拟机 (Virtual Host), 内容如下:
NameVirtualHost 10.2.168.2:80
<VirtualHost 10.2.168.2:80>
ServerAdmin admin@lists.solidot.org
DocumentRoot /usr/local/mailman/html/
ServerName lists.solidot.org
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
order allow,deny
allow from all
</Directory>
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
Alias /pipermail/ /usr/local/mailman/archives/public/
Alias /icons/ /usr/local/mailman/icons/
</VirtualHost>
复制 Mailman 的 Logo 图片到 Apache Icons 目录:
# cp /usr/local/mailman/icons/*.{jpg,png} /path/to/apache/icons
重起 Apache:
# /etc/init.d/apache restart
7. 创建网站方面的邮件列表。
# bin/newlist mailman
然后初始化它:
# bin/config_list -i data/sitelist.cfg mailman
启动 Mailman:
# bin/mailmanctl start
8. 创建你的首个邮件列表。
到这里 Mailman 的安装配置就完成了,可以开始创建你的邮件列表了。可以用命令行也可以到 Web 页面: http://www.yoursite.com/mailman/create
创建后可以到 http://www.yoursite.com/mailman/listinfo 查看列表的状况。
后记:
Mailman 的配置文件在 ~/mailman/Mailman/mm_cfg.py, 你可以根据需要添加一些个人的设置,这个文件将覆盖 ~/mailman/Mailman/Defaults.py 里边的设置。
Solidot 安装后的演示地址: http://lists.solidot.org/
.
目前使用 Mailman 作为邮件列表管理的网站和机构: http://list.org/inthenews.html
.
相关文章推荐
- Debian下常用软件列表
- Debian 8 安装录屏软件kazam
- Debian/Ubuntu常见安装软件错误解决方案
- SCCM 客户端软件安装失败检查列表 client installation troubleshooting checking
- 【资源列表】安装软件列表
- BeagleBone Black 更新官方debian后安装软件显示"no space" 的解决方法!
- Linux rpm 提示安装成功,可是查询的时候发现没有软件列表
- cPanel默认安装软件列表
- 基于FreeBSD和Postfix的邮件系统与邮件列表的web mail安装
- 2个debian机器安装相同的软件
- ubuntu,debian,software install,软件安装,新手指南,manual
- Debian下常用软件列表
- Debian 安装下载工具软件
- Ubuntu与Debian下apt-get软件安装与删除的相关命令
- Debian下常用软件列表
- 杂货:Debian系统安装软件
- 新机安装软件列表
- C++通过访问注册表获取已安装软件信息列表
- java获取安装软件列表(64位和32位)
- Mailman开源邮件列表系统