您的位置:首页 > 大数据 > 人工智能

在 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
.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: