diff options
author | tkikuchi <> | 2005-01-08 01:11:31 +0000 |
---|---|---|
committer | tkikuchi <> | 2005-01-08 01:11:31 +0000 |
commit | 9558ec01a172aa48512713d604bfccea69804998 (patch) | |
tree | e0ac1da641d0a51c2c09e6e19e79c62ac1e0010e /messages/ja/doc | |
parent | 9a34843428d569a5699f9aeb431f2a6f1b6bf974 (diff) | |
download | mailman2-9558ec01a172aa48512713d604bfccea69804998.tar.gz mailman2-9558ec01a172aa48512713d604bfccea69804998.tar.xz mailman2-9558ec01a172aa48512713d604bfccea69804998.zip |
Add (partial) japanese translation of install manual.
Diffstat (limited to 'messages/ja/doc')
-rw-r--r-- | messages/ja/doc/mailman-install.tex | 1830 |
1 files changed, 1830 insertions, 0 deletions
diff --git a/messages/ja/doc/mailman-install.tex b/messages/ja/doc/mailman-install.tex new file mode 100644 index 00000000..bea0dff6 --- /dev/null +++ b/messages/ja/doc/mailman-install.tex @@ -0,0 +1,1830 @@ +\documentclass{howto} + +\title{GNU Mailman - ���ȡ���ޥ˥奢��} +\author{Barry Warsaw} +\authoraddress{\email{barry(at)python.org}} + +\date{\today} +\release{2.1} % software release, not documentation +\setreleaseinfo{} % empty for final release +\setshortversion{2.1} % major.minor only for software + +\begin{document} + +\maketitle + +% This makes the Abstract go on a separate page in the HTML version; +% if a copyright notice is used, it should go immediately after this. +% +\ifhtml +\chapter*{��\label{front}} +\fi + +\begin{abstract} +\noindent +����ʸ��� GNU Mailman �� POSIX �����ƥ� (��: \UNIX{}, MacOSX, GNU/Linux) +�˥��ȡ��뤹����ˡ�����������ΤǤ�. ����Ū�ʥ��ȡ����� +�����Ǥʤ�, ���ʤ������Ѥ��륦���֤ȥ�륵���Ф����礹�뤿��� +�����ɥ饤���ޤ�Ǥ��ޤ�\footnote{ +�����������������������ԤδĶ��ˤ����Ƴ�ǧ�Ǥ�����ʬ�˸¤��Ƥ��ޤ�. +}. + + + +\noindent +GNU Mailman �Υ����֥����Ȥ� \url{http://www.list.org} �Ǥ�. +\end{abstract} + +% The ugly "%begin{latexonly}" pseudo-environment supresses the table +% of contents for HTML generation. +% +%begin{latexonly} +\tableofcontents +%end{latexonly} + + +\section{���ȡ����ɬ����} + +GNU Mailman �� \UNIX{} �� MacOSX, GNU/Linux �Ȥ��ä� POSIX �˴𤯥����ƥ� +�ΤۤȤ�ɤDz�ư���ޤ�. ���ߤΤȤ��� Windows �Ǥ�ư���ޤ���. ���ʤ��� +���������Ǥ����륵���Ф�ɬ�פȤ�, CGI/1.1 API �������������� +�����Ф�ɬ�פǤ�. �����֥����Фˤ� +\ulink{Apache}{http://httpd.apache.org} ��, �Ԥä���Ǥ�. ��륵���Фˤ� +�㤨��, +\ulink{Postfix}{http://www.postfix.org}, +\ulink{Exim}{http://www.exim.org}, +\ulink{Sendmail}{http://www.sendmail.org}, +\ulink{qmail}{http://cr.yp.to/qmail.html} +�ʤɤϤɤ��Ȥ��ޤ�. + +Mailman �������饤�ȡ��뤹��ˤ�, �������ƥ�����Τ���� +�Ѥ����Ƥ��� ��å�\footnote{����: wrapper ... ������å�(����̾)��Ʊ�� +�����פȤ�����̣�ʤΤ�, ���������Ƥߤޤ���} +�ץ��������ۤ���Ȥ���, ANSI C ����ѥ��顼�� +ɬ�פǤ�. \ulink{GNU C ����ѥ��� gcc}{http://gcc.gnu.org} �� 2.8.1 �ʹߤ� +�С������Ǥ��ޤ������ޤ�. + +�����ƥ�ˤ� \ulink{Python}{http://www.python.org} ���ץ�� +�ɤ����˥��ȡ��뤵��Ƥ��ʤ���Фʤ�ޤ���. +Mailman 2.1 �ˤ� Python 2.1 �ޤ��Ϥ�����⿷������Τ�ɬ�פǤ�. +Python 2.3 �ʾ��侩���ޤ�. + +\section{�����ƥॻ�åȥ��å�} + +Mailman ���եȥ������Υ��ȡ�������ˡ�����Υ桼���ȥ��롼�פ� +�ɲ���Ͽ���뤳�Ȥǥ����ƥ�ν�����ɬ�פ�����ޤ�. +���Τ���, ������Υ��ƥåפ�¹Ԥ���ˤ� root �ˤʤ�ɬ�פ�����ޤ�. + +\subsection{���롼�פȥ桼�����ɲ�} + +Mailman ��, �ե�������ͭ��, �ץ����������餻�뤿���, ¾�ǻ��Ѥ���Ƥ��ʤ� +�桼���ȥ��롼�פ�̾����ɬ�פȤ��ޤ�. Mailman �δ���Ū�ʥ������ƥ��� +���롼��ͭ���ε���(�ѡ��ߥå����)�˴𤤤Ƥ��ޤ�. ���ä�, ���Υ��ƥåפ� +������Ȥ��Ƥ������Ȥ����פǤ�\footnote{���ȡ��뤬��λ���Ƥ��� +�ѡ��ߥå���������å����ƽ������뤳�Ȥ��Ǥ��ޤ�.}. ŵ��Ū�ˤ�, +\code{mailman} �Ȥ���̾���Υ桼���ȥ��롼�פ�������뤳�Ȥˤʤ�ޤ�. +\code{mailman} �桼���� \code{mailman} ���롼�פΥ��С��Ǥʤ���� +�ʤ�ޤ���. Mailman �� \code{mailman} �桼���ȥ��롼�פβ���, +set-group-id (setgid) �ӥåȤ�Ω�Ƥƥ��ȡ��뤵��ޤ�. + +�⤷, ����̾�������˻Ȥ��Ƥ����ʤ�, �̤Υ桼���ȥ��롼��̾�����֤��Ȥ� +�Ǥ��ޤ���, \program{configure} �����餻��Ȥ��˳Ф��Ƥ����ʤ��Ȥ����ޤ���. +�⤷, �̤Υ桼��̾��������ʤ�, ����� \program{configure} �� +\longprogramopt{with-username} ���ץ����ǻ��ꤷ�ޤ�. �ޤ�, �̤� +���롼��̾����������ˤ�, \program{configure} �� +\longprogramopt{with-username} ���ץ����ǻ��ꤷ�Ƥ�������. + +Linux �����ƥ�Ǥ�, ���Υ��ޥ�ɤǤ����Υ�������Ȥ�������뤳�Ȥ� +�Ǥ��ޤ�. �����ѤΥ����ƥ�Υޥ˥奢��Ǿܺ٤��ǧ���Ƥ�������: + +\begin{verbatim} + % groupadd mailman + % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman +\end{verbatim} + +\subsection{���ȡ���ǥ��쥯�ȥ�κ���\label{create-install-dir}} +�̾�, Mailman ��ñ��Υǥ��쥯�ȥ�˥��ȡ��뤵��, �����ˤ� +Mailman �����������ɤ�, �¹Ի��Υǡ���(�ꥹ�Ȥ���¸���)��ξ��������ޤ�. +��Ū�ʥץ������ե�������Ѳ�����ǡ����ե������ʬΥ����, �̤Υǥ��쥯�ȥ� +������뤳�Ȥ��ǽ�Ǥ�. �����ǤϤ��Τ��Ȥ˴ؤ��륪�ץ������������ޤ�. + +Mailman �Υǥե���ȤΥ��ȡ���ǥ��쥯�ȥ�� +\file{/usr/local/mailman}\footnote{����� Mailman 2.1 �Υǥե���ȤǤ�. +�����ΥС������Ǥ�, /home/mailman �����ƥ��ȡ��뤷�Ƥ��ޤ���.} +���Υ��ȡ���ǥ��쥯�ȥ�(\var{\$prefix} �ǻ��Ȥ��ޤ�) ���ѹ�����ˤ� +configure �� \longprogramopt{prefix} ���ץ�����Ȥ��ޤ�. +�����ΥС�����鹹������ˤ�, ���ȡ���ǥ��쥯�ȥ���ѹ��� +��Τ�̵���¤�, \longprogramopt{prefix} �����ꤹ��ɬ�פ�����ޤ�. + +\begin{notice}[�ٹ�] +Mailman �� \code{nosuid} ���ץ����ǥޥ���Ȥ��줿�ե����륷���ƥ�� +���ȡ��뤹�뤳�ȤϤǤ��ޤ���. ���줬����� Mailman �Υ��ȡ���� +���Ԥ��ޤ�. �Ȥ����Τ�, �������ƥ������ͳ�� setgid �ץ����������Ѥ� +����Ȥ��Ƥ��뤫��Ǥ�. �⤷, ���줬���ƤϤޤ�褦�Ǥ�����, ñ���, +setgid �ץ�����������Ƥ������ Maiman �ȡ��뤷�Ƥ�������. +\end{notice} + +���ȡ���Υǥ��쥯�ȥ꤬ \code{mailman} ���롼�פ����ꤵ��� +���뤳�Ȥ��ǧ���Ƥ������� (���뤤�� \longprogramopt{with-groupname} �ǻ��� +���褦�Ȥ��Ƥ��륰�롼��). ������, setgid �ӥåȤ����åȤ��� +�Ƥ��뤳�Ȥ��ǧ���Ƥ�������\footnote{�⤷, BSD �����ƥ��Ȥ��ʤ� +\ref{bsd-issues} ���ɤ�Ǥ�������} �ޤ�, ���Υǥ��쥯�ȥ꤬���Ƥ� +�桼�����ɤ��ȼ¹�(��ư)��ǽ�Ǥ��뤳�Ȥ��ݾڤ������Ȼפ� +�Ǥ��礦. �ʲ��Υ����륳�ޥ�ɤǤ����Τ��Ȥ�����Ǥ��ޤ�: + +\begin{verbatim} + % cd $prefix + % chgrp mailman . + % chmod a+rx,g+ws . +\end{verbatim} + +�����, Mailman ���եȥ������� configure �����ȡ��뤹�� +�������Ǥ��ޤ���. + +\section{Mailman �ι��ۤȥ��ȡ���\label{building}} + +\subsection{\program{configure} ��¹�} + +Mailman �ȡ��뤹������ \program{configure} ��¹Ԥ���, �����ƥ� +��ɬ�פˤʤ뤤�������ʥ��ȡ��륪�ץ��������ꤷ�ʤ���Фʤ�ޤ���. + +\begin{notice}[����] +���ˤ��롤\longprogramopt{with-mail-gid} �� \longprogramopt{with-cgi-gid} +�Υ��ץ������ä�����. ¿ʬ���줬ɬ�פˤʤ�ޤ�. +\end{notice} + +������˽Ƥ������¹Ԥ���֤�, ���ʤ��� root �� +�ʤ�٤��ǤϤ��� \strong{�ޤ���}. ��ʬ���ȤΥ�������̾��, ¾�Υ��եȤ� +���ȡ��뤹��Ȥ��˻Ȥ���������Ȥ�ȤäƤ�������. �ޤ�, +\code{mailman} �桼���ˤʤ�ɬ�פϤ���ޤ���, �������Ƥ���ޤ���. +â��, ���μ��Ǻ������� \var{\$prefix} �ǥ��쥯�ȥ�ν��ߵ��Ĥ� +���뤿��ˤ�, ���Υ�������Ȥ� \code{mailman} ���롼�פ˽�°���Ƥ��� +ɬ�פ�����ޤ�. +�������åȤΥ��ȡ���ǥ��쥯�ȥ�˽��߸��¤����뤳�Ȥ�, +������ setgid �ե����������Ǥ��뤳�Ȥ��ǧ���Ƥ�������. +(NFS ��¾�Υޥ���������� setgid ��ػߤ��Ƥ����礬����ޤ�) + +�⤷, ¾�� GNU ���եȤȡ��뤷�����Ȥ�����ʤ�, \program{configure} +������ץȤˤϤ��ʤ��ߤǤ��礦. Mailman �� tarball ���� +�ǥ��쥯�ȥ�� \program{cd} ����, \program{configure} ��������դ����˼¹Ԥ��� +��������: + +\begin{verbatim} + % cd mailman-<version> + % ./configure + % make install +\end{verbatim} + +�ʲ��Υ��ץ����� Mailman �Υ��ȡ�������ޥ����Ǥ��ޤ�. + +\begin{description} +\item[\longprogramopt{prefix}=\var{dir}] + ɸ��Ū�� GNU configure �Υ��ץ����� Mailman ������ + �ȡ��뤵��뤳�Ȥˤʤ�١����Υǥ��쥯�ȥ���ѹ����ޤ��� + �ǥե���ȤǤ� \var{\$prefix} �� \file{/usr/local/mailman} �Ǥ������� + �ǥ��쥯�ȥ�Ϥ��λ�����¸�ߤ��Ƥ��ʤ���Фʤ餺, + \ref{create-install-dir} �����������褦�˥��åȥ��åפ���Ƥ��ʤ��� + �Фʤ�ޤ��� + +\item[\longprogramopt{exec-prefix}=\var{dir}] + ɸ��Ū�� GNU configure �Υ��ץ����ǥ������ƥ������ + ��¸�����Х��ʥ�Υ��ȡ���ǥ��쥯�ȥ�����Ǥ��ޤ��� + +\item[\longprogramopt{with-var-prefix}=\var{dir}] + ��ǽ�ʥǡ����� \var{\$prefix} �� \var{\$exec-prefix} ������� + \var{dir} �β�����¸���ޤ�. ���Τ褦�ʥǡ�������Ȥ��Ƥ�, + �ꥹ�Ȥ���¸��ˤ�ꥹ������ǡ����١���������ޤ�. + +\item[\longprogramopt{with-python}=\file{/path/to/python}] + ��åץץ������ǻ��Ѥ��� Python ���ץ���ѹ� + ���ƻ��ꤹ�뤳�Ȥ��Ǥ��ޤ����ǥե���Ȥϥ������ \var{\$PATH} + ����Ǻǽ�˸��Ĥ��ä���Τ�Ȥ��ޤ�. + +\item[\longprogramopt{with-username}=\var{username-or-uid}] + \code{mailman} �Ǥʤ��桼��̾��Ȥ����˻��ꤹ��. + ���Υ��ץ������ͤˤ������Υ桼��ID �ޤ��ϥ桼��̾��Ȥ����Ȥ��Ǥ��ޤ�. + \var{\$prefix} �ǥ��쥯�ȥ꤬���Υ桼���ν�ͭ�Ǥ��뤳�Ȥ��ǧ���Ƥ�������. + +\item[\longprogramopt{with-groupname}=\var{groupname-or-gid}] + \code{mailman} �Ǥʤ����롼��̾��Ȥ����˻��ꤹ��. + ���Υ��ץ������ͤˤ������Υ��롼��ID �ޤ��ϥ��롼��̾��Ȥ����Ȥ��Ǥ��ޤ�. + \var{\$prefix} �ǥ��쥯�ȥ꤬���Υ��롼�פν�ͭ�Ǥ��뤳�Ȥ��ǧ���Ƥ�������. + +\item[\longprogramopt{with-mail-gid}=\var{group-or-groups}] + ����å� ��𤷤ƥ�����ץȤ�¹Ԥ���ݤΥ��롼�פ� + ���ꤷ�ޤ���\var{group-or-groups} �ϡ����Ĥޤ���ʣ�������� + �Υ��롼��ID �Ǥ⡤���롼�פ�̾���Ǥ��äƤ�ĤǤ����ꥹ + �Ȥκǽ���ͤǼºݤ�¸�� ���륰�롼�פ��ͤ����Ѥ���ޤ��� + �ǥե���ȤǤϡ������ \code{mailman} \code{other} \code{mail} + \code{daemon} �Υꥹ�ȤˤʤäƤ��ޤ�. + + \begin{notice}[note] + ����Ϲ��٤˥����ƥ��¸�Ǥ��ꡤ�������ͤ��ΤäƤ���ɬ + �פ�����ޤ����Ȥ����Τϡ����롼�� ID �� ����å� �ץ� + �����˥���ѥ��뤵��ƥ������ƥ�����뤫��Ǥ��� + \program{Sendmail} ��ȤäƤ��륷���ƥ�Ǥ�, \file{sendmail.cf} �� + \var{DefaultUser} ��Ȥä� \program{sendmail} �ץ������� gid �� ���� + ����Ƥ��ޤ���(�⤷�������ȥ����Ȥ���Ƥ����顤����� + ��ǥե���Ȥ��Ƥ��뤫�⤷��ޤ���) + \end{notice} + + ���Υ����å����������ͤ��Τ뤿���, ���Ѥ��Ƥ����륵���Ф� + ����������ե����������å����Ƥ�������. + +\item[\longprogramopt{with-cgi-gid}=\var{group-or-groups}] + CGI ��å� ��𤷤ƥ�����ץȤ�¹Ԥ���ݤΥ��롼�פ� + ���ꤷ�ޤ�. \var{group-or-groups} ��, 1�Ĥޤ���ʣ�������� + �Υ��롼��ID �Ǥ⡤���롼�פ�̾���Ǥ��äƤ�ĤǤ����ꥹ + �Ȥκǽ���ͤǼºݤ�¸�� ���륰�롼�פ��ͤ����Ѥ���ޤ��� + �ǥե���ȤǤϡ������ \code{www} \code{www-data} \code{nobody} �� �ꥹ�� + �ˤʤäƤ��ޤ��� + + \begin{notice}[note] + �����ͤ� Web �����Ф�����˰�¸���ޤ����������ͤ��Τ� + �Ƥ���ɬ�פ�����ޤ��� �Ȥ����Τϡ����롼��ID��CGI ��å� + �ץ������˥���ѥ��뤵��ƥ������ƥ�����뤫��� + �������줬��äƤ���� Mailman CGI ������ץȤ� ư���� + ���� + \end{notice} + + �⤷ Apache ��ȤäƤ���С�\file{httpd.conf} �˽�Ƥ��� + \var{Group} ���ץ���� ���ͤ�����å����Ƥ��������� + +\item[\longprogramopt{with-cgi-ext}=\var{extension}] + cgi �ץ������γ�ĥ�Ҥ���ꤷ�ޤ�. \file{\var{\$prefix}/cgi-bin} �� + �֤��줿 CGI ��å� �Ϥ��γ�ĥ�Ҥ�����ޤ���(�����֥����� + �ˤ�äƤ� ��ĥ�Ҥ�ɬ�פǤ�) \var{extension} �ˤ϶��ڤ�� . (dot) + ������Ƥ������ȡ� + +\item[\longprogramopt{with-mailhost}=\var{hostname}] + ��뤬�ФƹԤ����Υۥ���̾(FQDN)����ꤷ�ޤ�. ���ȡ��� + ����λ�����, �����ͤ� \file{\var{\$prefix}/Mailman/mm_cfg.py} �Ǿ�� + ���뤳�Ȥ��Ǥ��ޤ�. + +\item[\longprogramopt{with-urlhost}=\var{hostname}] + ������ URL �Υۥ���̾ (FQDN) ����ꤷ�ޤ�. ���ȡ��뤬 + ��λ�����, �����ͤ� \file{\var{\$prefix}/Mailman/mm_cfg.py} �Ǿ�� + ���뤳�Ȥ��Ǥ��ޤ�. + +\item[\longprogramopt{with-gcc}=no] + gcc �����Ĥ��äƤ�Ȥ��ޤ���\program{cc} �� \var{\$PATH} ��̵���Ȥ� + ���ޤ��� + +\end{description} + +\subsection{Make �ȥ��ȡ���} + +\program{configure} ��¹Ԥ�����, \program{make} �����餻, ���� +\program{make install} �Ȥ��뤳�Ȥ�, Mailman ���ۤ����ȡ��뤹�� +���Ȥ��Ǥ��ޤ�. + +\section{���ȡ���Υ����å�} + +\program{make install} ��¹Ԥ�����, �������ѡ��ߥå����ȥ��롼�� +��ͭ�������ꤵ��Ƥ��뤳�Ȥ� \program{check_perms} ������ץȤ� +�Τ���Ƥ�������. �ޤ����ȡ���ǥ��쥯�ȥ�(\var{\$prefix})�˰�ư���ޤ�. +������, \program{bin/check_perms} �ץ�������¹Ԥ��ޤ�. +�������ǥ��쥯�ȥ�� \program{bin/check_perms} ��¹Ԥ��褦�Ȥ��ʤ��Ǥ� +������. ���ȡ���ǥ��쥯�ȥ�ǤΤ¹Բ�ǽ�Ǥ�. + +���줬�������𤷤ʤ����, ���ʤ��Υ��ȡ�������������ꤵ +��Ƥ�����ǽ�����⤤ <������> �Ǥ�. �⤷, ����������𤵤줿��, +��ǽ������뤫, �⤦���٥��ȡ������ʤ�����, \program{check_perms} +��Ȥä�(¿ʬ, ���ִ�ñ)�������뤳�Ȥ�����ޤ�. + +\begin{itemize} +\item ���ȡ����Ԥä��桼�� (\var{\$prefix} �Υե�����ν�ͭ������� + �桼��) �ˤʤ뤫, root �ˤʤ�ޤ�. + +\item \program{bin/check_perms -f} ��¹Ԥ��ޤ�. + +\item ���顼����𤬤ʤ��ʤ�ޤ�, ��μ����֤�! +\end{itemize} + +\section{�����֥����Ф�����} + +����ǤȤ���Mailman ���եȥ������Υ��ȡ��뤬��λ���ޤ����� +���������ºݤ����Ƥޤ�ư�����ˤϡ�Mailman �� �����֥����Ф� +��륷���ƥ�� ξ������³���ʤ��Ȥ����ޤ��� + +�⤷�����ȥ����֥����Ф��̤Υޥ����ư�����ơ�Mailman �� NFS +��ͳ�� ��ͭ�������ȹͤ��Ƥ����顤���Σ��ĤΥޥ���λ��פ�Ʊ�� +���Ƥ��뤳�Ȥ� �Τ���Ƥ������������μ�δĶ��Ǥϡ� +\file{Mailman/LockFile.py} ��������줿 \var{CLOCK_SLOP} �Ȥ��������Ȥäơ� +���פΤ������������ե�������å����� �ˤ��뤳�Ȥ��Ǥ��ޤ��� + +������Ǥ� Mailman �Υ����֥��ե��������֥����Ф���³���뤿��� +ɬ�פʻ������������ޤ�. �����Ǥμ��� Apache �����֥����и����ˤʤä� +���ޤ��Τ�, �ܺ٤ˤĤ��ƤϤ����ѤΥ����֥����Ф�������Ȥ��Ƥ�������. + +�����֥����Ф������ \file{\var{\$prefix}/cgi-bin} �� CGI ������ץȤ� +�¹Ե��Ĥ�Ϳ���Ƥ�������. �ä���Ԥϰʲ��Τ褦�ʤ�Τˤʤ� +�Ϥ��Ǥ�. (�������, \var{\$prefix} �ΤȤ����ϼºݤ����Хѥ��� +���Ƥ�������.) + +\begin{verbatim} + Exec /mailman/* $prefix/cgi-bin/* +\end{verbatim} +% $ - emacs turd + + ����: + +\begin{verbatim} + ScriptAlias /mailman/ $prefix/cgi-bin/ +\end{verbatim} +% $ - emacs turd + +\begin{notice}[�ٹ�] +CGI������ץȤ�¹Ԥ��� �桼��ID�� \code{mailman} ���롼�פ����ä� +\strong{���ʤ�}���Ȥ�褯��ǧ���Ƥ����������Ǥʤ��ȡ����������¸��� +��ï�ˤǤ⸫���Ƥ��ޤ��ޤ�. +\end{notice} + +Mailman, Python, GNU �Υ�����Web�����ФΥ���������ǽ�ʤȤ����� +���ԡ����Ƥ����������㤨�� Apache�ξ�硤�����ե����������� +�����Τ� \file{icons} �ǥ��쥯�ȥ꤬�Ѱդ���Ƥ���Ϥ��Ǥ�����: + +\begin{verbatim} + % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons +\end{verbatim} + +\file{\var{\$prefix}/Mailman/mm_cfg.py} �˥����Υ١����ǥ��쥯�ȥ��� +�Ԥ��ɲä��Ƥ����������㤨��: + +\begin{verbatim} + IMAGE_LOGOS = '/images/' +\end{verbatim} + +\var{IMAGE_LOGOS} �Υǥե�����ͤ� \file{/icons/} �Ǥ�. +\file{Defaults.py.in} �˽줿�����Ȥ��ɤ�Ǥ�������. + +Pipermail �θ������ꥹ����¸��ˤȤǤ���褦�� +Web �����Ф� ���ꤷ�Ƥ�������. �㤨�� Apache �ξ��: + +\begin{verbatim} + Alias /pipermail/ $varprefix/archives/public/ +\end{verbatim} +% $ - emacs turd + +������, \var{\$varprefix} ���̾�� \var{\$prefix} ��Ʊ����, +\longprogramopt{with-var-prefix} ���ץ������դ��� \program{configure} +�������ˤϤ����ͤȤʤ�ޤ�. �ޤ�, +���Υǥ��쥯�ȥ�ǥ���ܥ�å���ɤ뤳�Ȥ��Ǥ���褦�� +�����֥����Ф����ꤷ�Ƥ����������Ǥʤ��ȡ�Pipermail �ν�ˤ˥��� +�����Ǥ��ޤ���. Apache �Υ桼���� \var{FollowSymLinks} ���ץ����� +Ĵ�٤Ƥ�������. + +�ޤ�, �⤷������¸��ˤ��ݲ��������ΤǤ����, Pipermail +�ǥ��쥯�ȥ�Υǥե����ʸ������λؼ��դˤ��������褤���� +����ޤ���. �Ǥʤ���, ¿�������¸��ˤ����������뤳�Ȥ��Ǥ��� +���Ǥ��礦. Apache ��ɸ��Υ��ȡ���ˤĤ��Ƥ��������: + +\begin{verbatim} + <Directory "/usr/local/mailman/archives/public/"> + AddDefaultCharset Off + </Directory> +\end{verbatim} + +������, �����֥����Ф�Ƶ�ư���Ƥ�������. + +\section{��륵���Ф�����\label{mail-server}} + +������Ǥ� Mailman �Υ�륤�ե��������륵���Ф� +��³����Τ�ɬ�פʻ������������ޤ�. �����Ǥμ��ϥ�륵���Фˤ�ä� +�ۤʤ�ޤ���; �⤷���ʤ��Υ�륵���Ф����ξ���˸�������ʤ� +����, �����ˤ���ʸ����̲����뤳�Ȥ��Ƥ�������. ������, ʸ��ι����� +Mailman ��ȯ�Ԥ˥ץ쥼��Ȥ��뤳�Ȥ�ͤ��Ƥ�������. + +\subsection{Postfix ��륵���Ф�Ȥ����} + +Mailman ��ɸ��� Postfix ���ȡ���Ȥ��ޤ��礦�褦�ˤʤäƤ��ޤ�. +Postfix 2.1.5 (��ޤ�) �ޤǤγƼ�С������ǻ�ѤߤǤ�. + +�ǥե���ȤǤ�, Postfix �� \code{-owner} �� \code{-request} �Υ��ɥ쥹�� +�ü찷�����ޤ�. ���Τ褦�ʥ��� Mailman ���Ϥ��Ƥ�餦�����, +���Τ褦�� \file{main.cf} ���ɲä��Ƥ��Υ��ץ����դˤ��ޤ�: + +\begin{verbatim} + owner_request_special = no +\end{verbatim} + +Mailman �Υ��ץ����Ǥ��� VERP �����ݡ��Ȥ��뤿��ˤ�, (�ǥե���Ȥ�) +\code{luser_relay} ��̵���ˤ����ޤޤ�, \code{recipient_delimiter} �� +���ꤷ�ƥ��ɥ쥹�ΰ�̣��ĥ��ͭ���ˤ��ޤ�. +\file{main.cf} �� \code{luser_relay} ���ͤ�ɤ�⥳���ȥ����Ȥ�, +�ǥե���ȤΤޤޤˤ��ޤ�. �ޤ�, ���Τ褦�� \file{main.cf} �ե������ +�ɲä��ޤ�. + +\begin{verbatim} + recipient_delimiter = + +\end{verbatim} + +���ڤ국��Ȥ��� \samp{+} ��Ȥ��� \file{Defaults.py} �ˤ��� +\var{VERP_FORMAT} �� \var{VERP_REGEXP} �Υǥե�����ͤȤ��ޤ��礤�ޤ�. + +¸�ߤ��ʤ��������륢�ɥ쥹�˥����������褦�Ȥ����, Postfix �� +450 �Υ��顼�����ɤ��֤����⤷��ޤ���. ����ϰ��Ū�ʥ��顼��ɽ�� +�����ɤʤΤ�, Mailman �ϥǥե���Ȥ� \var{DELIVERY_RETRY_PERIOD} -- 5 +���֥����������褦�Ȥ�³���ޤ�. ���Τ褦�� \file{main.cf} �� +���ꤹ�뤳�Ȥ�, ¸�ߤ��ʤ���������桼���ˤĤ��ƹ���Ū�ʥ��顼������ +���֤����뤳�Ȥ��Ǥ��ޤ�. + +\begin{verbatim} + unknown_local_recipient_reject_code = 550 +\end{verbatim} + +�Ǹ��, �⤷ Postfix ��������β��ۥɥᥤ���ȤäƤ���ʤ�, +���β��ۥɥᥤ�ݡ��Ȥ�����ɤ�Ǥ�������. + +\subsubsection{Postfix �� Mailman ������} + +Postfix �� Mailman �����礹���, �������ꥹ�Ȥ����������, +�ꥹ�Ȥ��������Ȥ���, Postfix �Υ����ꥢ���ǡ����١�������ưŪ�� +���������褦�ˤʤ�ޤ�. �����¸����뤿��μ��ϰʲ��ΤȤ���Ǥ�. + +�ʲ��������Ǥ�, Mailman ���ǥե���Ȥΰ���, �Ĥޤ� \file{/usr/local/mailman} +�˥��ȡ��뤵��Ƥ����ΤȲ��ꤷ�ޤ�. �⤷, �����Ǥʤ����, +\program{configure} ���Ѥ��� \longprogramopt{prefix} �� +\longprogramopt{with-var-prefix} �Υ��ץ����˽��ä��ɤ��ؤ��Ƥ�������. + +\begin{notice}[����] +�⤷, ���ۥɥᥤ���ȤäƤ���, ���ۥɥᥤ��������ͥ�褵�������� +�������ˤ�, \ref{postfix-virtual} �������ɤ�Ǥ�������! +\end{notice} + +\begin{itemize} +\item \file{\var{\$prefix}/Mailman/mm_cfg.py} �ե�����κǸ�˼��Τ褦�� + �ɲä��Ƥ�������: + + \begin{verbatim} + MTA = 'Postfix' + \end{verbatim} + + �ѿ� MTA �� \file{Mailman/MTA} �ǥ��쥯�ȥ�ˤ���⥸�塼��� + ̾������ꤷ�ޤ�. �����ˤ�, �ꥹ�Ȥ���������������Ȥ��� + �¹Ԥ����, ��륵���и�ͭ�δؿ������äƤ��ޤ�. + +\item \file{Defaults.py} �ե������, \var{POSTFIX_ALIAS_CMD} �� + \var{POSTFIX_MAP_CMD} ���ޥ���ѿ����ͤ��ǧ���Ƥ�������. + ������, ���줾�� \program{postalias} �� \program{postmap} �ץ������ + ��ؤ��Ƥ��ʤ���Фʤ�ޤ���. �⤷�ѹ���ɬ�פξ��� \file{mm_cfg.py} + ����ǹԤ��褦�ˤ��Ƥ�������. + +\item \program{bin/genaliases} ������ץȤ�¹Ԥ��� \file{aliases} + �ե�������������Ƥ�������. + + \begin{verbatim} + % cd /usr/local/mailman + % bin/genaliases + \end{verbatim} + + \file{data/aliases} �� \file{data/aliases.db} �ν�ͭ�Ԥ� + \code{mailman} ��, ���롼��ͭ�Ԥ� \code{mailman} �Ǥ��뤳�Ȥ� + ��ǧ���Ƥ�������. ������ configure ���ޥ�ɤ����ꤷ���桼�� + ���롼�פǤ�: + + \begin{verbatim} + % su + % chown mailman:mailman data/aliases* + \end{verbatim} + +\item Postfix �� \file{main.cf} �ե������ \var{alias_maps} �ѿ��� + ���Υѥ���ޤ�褦�˽����Ƥ�������: + + \begin{verbatim} + /usr/local/mailman/data/aliases + \end{verbatim} + + �Ǹ�� \code{.db} ���դ��Ƥ��ʤ����Ȥˤ����դ��Ƥ�������. + \var{alias_database} �ˤ��������ƤϤ����ޤ���. �ʤ��ʤ�, Postfix + �� \program{newaliases} ���ޥ�ɤ� Mailman �� \file{aliases.db} + �ե����������Ƥ��ޤ�����Ǥ�. ������, �������륢�ɥ쥹��õ������ + �Ȥ��ˤ� \file{aliases.db} �Ƥ�餤�ޤ�. + + ���Υ���ȥ�ˤĤ��� \code{hash:} ��������Υǡ����١������ꤿ�� + �Ȼפ��Ǥ��礦. ���줬������Ǥ�: + + \begin{verbatim} + alias_maps = hash:/etc/postfix/aliases, + hash:/usr/local/mailman/data/aliases + \end{verbatim} + +\item Mailman �� configure ����Ȥ���, \longprogramopt{with-mail-gid=mailman} + �����å�����Ѥ��Ƥ�������; ����� \code{mailman} �桼�����ɲä��� + ��� Mailman �� configure ���Ƥ���Хǥե���Ȥˤʤ�ޤ�. + \file{aliases.db} �ե�����ν�ͭ�Ԥ� \code{mailman} �ʤΤ�, + Postfix �� Mailman �� ��åץץ������� \code{mailman} �� uid �� gid �� + �¹Ԥ��ޤ�. + +\end{itemize} + +����Ǵ�λ! ���꤬�ҤȤ�: �ꥹ�Ȥ�����������������, \file{aliases.db} +�Ϲ�������ޤ���, \program{postfix reload} ��ưŪ�˼¹Ԥ���櫓�Ǥ� +����ޤ���. �����¹Ԥ���ˤ� root �ˤʤ�ʤ���Фʤ�ޤ���, root �� +suid ����������ץȤϰ����Ǥʤ�����Ǥ�. Postfix �� \file{aliases.db} +�ե�������ѹ��ȥơ��֥�ι����˵����դ��Τ� 1ʬ�ۤɤ���������Ǥ�. + +\subsubsection{���ۥɥᥤ��\label{postfix-virtual}} + +Postfix 2.0 �� ``virtual alias domains'' �ݡ��Ȥ��Ƥ��ޤ�. ����� +����Ū�˰���``Postfix-style virtual domains'' �ȸƤФ�Ƥ�����ΤǤ�. +% +%Postfix 2.0 supports ``virtual alias domains'', essentially what used to be +%called ``Postfix-style virtual domains'' in earlier Postfix versions. +To make +virtual alias domains work with Mailman, you need to do some setup in both +Postfix and Mailman. Mailman will write all virtual alias mappings to a file +called, by default, \file{/usr/local/mailman/data/virtual-mailman}. It will +also use \program{postmap} to create the \program{virtual-mailman.db} file +that Postfix will actually use. + +First, you need to set up the Postfix virtual alias domains as described in +the Postfix documentation (see Postfix's \code{virtual(5)} manpage). Note +that it's your responsibility to include the \code{virtual-alias.domain +anything} line as described manpage; Mailman will not include this line in +\file{virtual-mailman}. You are highly encouraged to make sure your virtual +alias domains are working properly before integrating with Mailman. + +Next, add a path to Postfix's \var{virtual_alias_maps} variable, pointing to +the virtual-mailman file, e.g.: + +\begin{verbatim} + virtual_alias_maps = <your normal virtual alias files>, + hash:/usr/local/mailman/data/virtual-mailman +\end{verbatim} + +assuming you've installed Mailman in the default location. If you're using an +older version of Postfix which doesn't have the \var{virtual_alias_maps} +variable, use the \var{virtual_maps} variable instead. + +Next, in your \file{mm_cfg.py} file, you will want to set the variable +\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} to the list of virtual domains that Mailman +should update. This may not be all of the virtual alias domains that your +Postfix installation supports! The values in this list will be matched +against the \var{host_name} attribute of mailing lists objects, and must be an +exact match. + +Here's an example. Say that Postfix is configured to handle the virtual +domains \code{dom1.ain}, \code{dom2.ain}, and \code{dom3.ain}, and further +that in your \file{main.cf} file you've got the following settings: + +\begin{verbatim} + myhostname = mail.dom1.ain + mydomain = dom1.ain + mydestination = $myhostname, localhost.$mydomain + virtual_alias_maps = + hash:/some/path/to/virtual-dom1, + hash:/some/path/to/virtual-dom2, + hash:/some/path/to/virtual-dom2 +\end{verbatim} + +If in your \file{virtual-dom1} file, you've got the following lines: + +\begin{verbatim} + dom1.ain IGNORE + @dom1.ain @mail.dom1.ain +\end{verbatim} + +this tells Postfix to deliver anything addressed to \code{dom1.ain} to the +same mailbox at \code{mail.dom1.com}, its default destination. + +In this case you would not include \code{dom1.ain} in +\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} because otherwise Mailman will write +entries for mailing lists in the dom1.ain domain as + +\begin{verbatim} + mylist@dom1.ain mylist + mylist-request@dom1.ain mylist-request + # and so on... +\end{verbatim} + +The more specific entries trump your more general entries, thus breaking the +delivery of any \code{dom1.ain} mailing list. + +However, you would include \code{dom2.ain} and \code{dom3.ain} in +\file{mm_cfg.py}: + +\begin{verbatim} + POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain'] +\end{verbatim} + +Now, any list that Mailman creates in either of those two domains, will have +the correct entries written to \file{/usr/local/mailman/data/virtual-mailman}. + +As above with the \file{data/aliases*} files, you want to make sure that both +\file{data/virtual-mailman} and \file{data/virtual-mailman.db} are user and +group owned by \code{mailman}. + +\subsubsection{An alternative approach} + +Fil \email{fil@rezo.net} has an alternative approach based on virtual maps and +regular expressions, as described at: + +\begin{itemize} +\item (French) \url{http://listes.rezo.net/comment.php} +\item (English) \url{http://listes.rezo.net/how.php} +\end{itemize} + +This is a good (and simpler) alternative if you don't mind exposing an +additional hostname in the domain part of the addresses people will use to +contact your list. I.e. if people should use \code{mylist@lists.dom.ain} +instead of \code{mylist@dom.ain}. + +\subsection{Using the Exim mail server} + +\begin{notice}[note] +This section is derived from Nigel Metheringham's ``HOWTO - Using Exim and +Mailman together'', which covers Mailman 2.0.x and Exim 3. It has been +updated to cover Mailman 2.1 and Exim 4. The original document is here: +\url{http://www.exim.org/howto/mailman.html}. +\end{notice} + +There is no Mailman configuration needed other than the standard options +detailed in the Mailman install documentation. The Exim configuration is +transparent to Mailman. The user and group settings for Mailman must match +those in the config fragments given below. + +\subsubsection{Exim configuration} + +The Exim configuration is built so that a list created within Mailman +automatically appears to Exim without the need for defining any additional +aliases. + +The drawback of this configuration is that it will work poorly on systems +supporting lists in several different mail domains. While Mailman handles +virtual domains, it does not yet support having two distinct lists with the +same name in different virtual domains, using the same Mailman installation. +This will eventually change. (But see below for a variation on this scheme +that should accommodate virtual domains better.) + +The configuration file excerpts below are for use in an already functional +Exim configuration, which accepts mail for the domain in which the list +resides. If this domain is separate from the others handled by your Exim +configuration, then you'll need to: + +\begin{itemize} +\item add the list domain, ``my.list.domain'' to \var{local_domains} + +\item add a ``domains=my.list.domain'' option to the director (router) for the + list + +\item (optional) exclude that domain from your other directors (routers) +\end{itemize} + +\begin{notice}[note] +The instructions in this document should work with either Exim 3 or Exim 4. +In Exim 3, you must have a \var{local_domains} configuration setting; in Exim +4, you most likely have a \var{local_domains} domainlist. If you don't, you +probably know what you're doing and can adjust accordingly. Similarly, in +Exim 4 the concept of ``directors'' has disappeared -- there are only routers +now. So if you're using Exim 4, whenever this document says ``director'', +read ``router''. +\end{notice} + +Whether you are using Exim 3 or Exim 4, you will need to add some macros to +the main section of your Exim config file. You will also need to define one +new transport. With Exim 3, you'll need to add a new director; with Exim 4, a +new router plays the same role. + +Finally, the configuration supplied here should allow co-habiting Mailman 2.0 +and 2.1 installations, with the proviso that you'll probably want to use +\code{mm21} in place of \code{mailman} -- e.g., \var{MM21_HOME}, +\var{mm21_transport}, etc. + +\subsubsection{Main configuration settings} + +First, you need to add some macros to the top of your Exim config file. These +just make the director (router) and transport below a bit cleaner. Obviously, +you'll need to edit these based on how you configured and installed Mailman. + +\begin{verbatim} + # Home dir for your Mailman installation -- aka Mailman's prefix + # directory. + MAILMAN_HOME=/usr/local/mailman + MAILMAN_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=mailman +\end{verbatim} + +\subsubsection{Transport for Exim 3\label{exim3-transport}} + +Add this to the transports section of your Exim config file, +i.e. somewhere between the first and second ``end'' line: + +\begin{verbatim} + 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 +\end{verbatim} + +\subsubsection{Director for Exim 3} + +If you're using Exim 3, you'll need to add the following director to your +config file (directors go between the second and third ``end'' lines). Also, +don't forget that order matters -- e.g. you can make Mailman lists take +precedence over system aliases by putting this director in front of your +aliasfile director, or vice-versa. + +\begin{verbatim} + # Handle all addresses related to a list 'foo': the posting address. + # Automatically detects list existence by looking + # for lists/$local_part/config.pck under MAILMAN_HOME. + mailman_director: + driver = smartuser + require_files = MAILMAN_HOME/lists/$local_part/config.pck + suffix_optional + suffix = -bounces : -bounces+* : \ + -confirm+* : -join : -leave : \ + -owner : -request : -admin + transport = mailman_transport +\end{verbatim} + +\subsubsection{Router for Exim 4} + +In Exim 4, there's no such thing as directors -- you need to add a new router +instead. Also, the canonical order of the configuration file was changed so +routers come before transports, so the router for Exim 4 comes first here. +Put this router somewhere after the ``begin routers'' line of your config +file, and remember that order matters. + +\begin{verbatim} + 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 +\end{verbatim} +% $ - emacs turds + +\subsubsection{Transports for Exim 4} + +The transport for Exim 4 is the same as for Exim 3 (see \ref{exim3-transport}; +just copy the transport given above to somewhere under the ``begin +transports'' line of your Exim config file. + +\subsubsection{Additional notes} + +Exim should be configured to allow reasonable volume -- e.g. don't set +\var{max_recipients} down to a silly value -- and with normal degrees of +security -- specifically, be sure to allow relaying from 127.0.0.1, but pretty +much nothing else. Parallel deliveries and other tweaks can also be used if +you like; experiment with your setup to see what works. Delay warning +messages should be switched off or configured to only happen for non-list +mail, unless you like receiving tons of mail when some random host is down. + +\subsubsection{Problems} + +\begin{itemize} + +\item Mailman will send as many \code{MAIL FROM}/\code{RCPT TO} as it needs. + It may result in more than 10 or 100 messages sent in one connection, + which will exceed the default value of Exim's + \var{smtp_accept_queue_per_connection} value. This is bad because it + will cause Exim to switch into queue mode and severely delay delivery of + your list messages. The way to fix this is to set Mailman's + \var{SMTP_MAX_SESSIONS_PER_CONNECTION} (in + \file{\var{\$prefix}/Mailman/mm_cfg.py}) to a smaller value than Exim's + \var{smtp_accept_queue_per_connection}. + +\item Mailman should ignore Exim delay warning messages, even though Exim + should never send this to list messages. Mailman 2.1's general bounce + detection and VERP support should greatly improve the bounce detector's + hit rates. + +\item List existence is determined by the existence of a \file{config.pck} + file for a list. If you delete lists by foul means, be aware of this. + +\item If you are getting Exim or Mailman complaining about user ids when you + send mail to a list, check that the \var{MAILMAN_USER} and + \var{MAILMAN_GROUP} match those of Mailman itself (i.e. what were used + in the \program{configure} script). Also make sure you do not have + aliases in the main alias file for the list. +\end{itemize} + +\subsubsection{Receiver Verification} + +Exim's receiver verification feature is very useful -- it lets Exim reject +unrouteable addresses at SMTP time. However, this is most useful for +externally-originating mail that is addressed to mail in one of your local +domains. For Mailman list traffic, mail originates on your server, and is +addressed to random external domains that are not under your control. +Furthermore, each message is addressed to many recipients +-- up to 500 if you use Mailman's default configuration and don't tweak +\var{SMTP_MAX_RCPTS}. + +Doing receiver verification on Mailman list traffic is a recipe for trouble. +In particular, Exim will attempt to route every recipient addresses in +outgoing Mailman list posts. Even though this requires nothing more than a +few DNS lookups for each address, it can still introduce significant delays. +Therefore, you should disable recipient verification for Mailman traffic. + +Under Exim 3, put this in your main configuration section: + +\begin{verbatim} + receiver_verify_hosts = !127.0.0.1 +\end{verbatim} + +Under Exim 4, this is probably already taken care of for you by the default +recipient verification ACL statement (in the \code{RCPT TO} ACL): + +\begin{verbatim} + accept domains = +local_domains + endpass + message = unknown user + verify = recipient +\end{verbatim} + +which only does recipient verification on addresses in your domain. (That's +not exactly the same as doing recipient verification only on messages coming +from non-127.0.0.1 hosts, but it should do the trick for Mailman.) + +\subsubsection{SMTP Callback} + +Exim's SMTP callback feature is an even more powerful way to detect bogus +sender addresses than normal sender verification. Unfortunately, lots of +servers send bounce messages with a bogus address in the header, and there are +plenty that send bounces with bogus envelope senders (even though they're +supposed to just use an empty envelope sender for bounces). + +In order to ensure that Mailman can disable/remove bouncing addresses, you +generally want to receive bounces for Mailman lists, even if those bounces are +themselves not bounceable. Thus, you might want to disable SMTP callback on +bounce messages. + +With Exim 4, you can accomplish this using something like the following in +your \code{RCPT TO} ACL: + +\begin{verbatim} + # Accept bounces to lists even if callbacks or other checks would fail + warn message = X-WhitelistedRCPT-nohdrfromcallback: Yes + condition = \ + ${if and {{match{$local_part}{(.*)-bounces\+.*}} \ + {exists {MAILMAN_HOME/lists/$1/config.pck}}} \ + {yes}{no}} + {yes}{no}} + + accept condition = \ + ${if and {{match{$local_part}{(.*)-bounces\+.*}} \ + {exists {MAILMAN_HOME/lists/$1/config.pck}}} \ + {yes}{no}} + {yes}{no}} + + # Now, check sender address with SMTP callback. + deny !verify = sender/callout=90s +\end{verbatim} + +If you also do SMTP callbacks on header addresses, you'll want something like +this in your \code{DATA} ACL: + +\begin{verbatim} + deny !condition = $header_X-WhitelistedRCPT-nohdrfromcallback: + !verify = header_sender/callout=90s +\end{verbatim} +% $ - emacs turd + +\subsubsection{Doing VERP with Exim and Mailman} + +VERP will send one email, with a separate envelope sender (return path), for +each of your subscribers -- read the information in +\file{\var{\$prefix}/Mailman/Default.py} for the options that start with VERP. +In a nutshell, all you need to do to enable VERP with Exim is to add these lines to \file{\var{\$prefix}/Mailman/mm_cfg.py}: + +\begin{verbatim} + VERP_PASSWORD_REMINDERS = Yes + VERP_PERSONALIZED_DELIVERIES = Yes + VERP_DELIVERY_INTERVAL = Yes + VERP_CONFIRMATIONS = Yes +\end{verbatim} + +(The director (router) above is smart enough to deal with VERP bounces.) + +\subsubsection{Virtual Domains} + +One approach to handling virtual domains is to use a separate Mailman +installation for each virtual domain. Currently, this is the only way to have +lists with the same name in different virtual domains handled by the same +machine. + +In this case, the \var{MAILMAN_HOME} and \var{MAILMAN_WRAP} macros are useless +-- you can remove them. Change your director (router) to something like this: + +\begin{verbatim} + require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck +\end{verbatim} +% $ - emacs turd + +and change your transport like this: + +\begin{verbatim} + command = /virtual/${domain}/mailman/mail/mailman \ + ${if def:local_part_suffix \ + {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} + {post}} \ + $local_part + current_directory = /virtual/${domain}/mailman + home_directory = /virtual/${domain}/mailman +\end{verbatim} +% $ - emacs turd + +\subsubsection{List Verification} + +This is how a set of address tests for the Exim lists look on a working +system. The list in question is \email{quixote-users@mems-exchange.org}, and +these commands were run on the \code{mems-exchange.org} mail server ("% " +indicates the Unix shell prompt): + +\begin{verbatim} + % exim -bt quixote-users + quixote-users@mems-exchange.org + router = mailman_main_router, transport = mailman_transport + + % exim -bt quixote-users-request + quixote-users-request@mems-exchange.org + router = mailman_router, transport = mailman_transport + + % exim -bt quixote-users-bounces + quixote-users-bounces@mems-exchange.org + router = mailman_router, transport = mailman_transport + + % exim -bt quixote-users-bounces+luser=example.com + quixote-users-bounces+luser=example.com@mems-exchange.org + router = mailman_router, transport = mailman_transport +\end{verbatim} + +If your \program{exim -bt} output looks something like this, that's a start: +at least it means Exim will pass the right messages to the right Mailman +commands. It by no means guarantees that your Exim/Mailman installation is +functioning perfectly, though! + +\subsubsection{Document History} + +Originally written by Nigel Metheringham \email{postmaster@exim.org}. Updated +by Marc Merlin \email{marc_soft@merlins.org} for Mailman 2.1, Exim 4. +Overhauled/reformatted/clarified/simplified by Greg Ward +\email{gward@python.net}. + +\subsection{Sendmail ��륵���Ф�Ȥ����} + +\begin{notice}[�ٹ�] +Sendmail ��륵���Ф�Ȥ��Ȥ�, +\file{mm_cfg.py} ����� \var{DELIVERY_MODULE} �����ѿ��Ȥ��� \code{'Sendmail'} +�����줿���Ȼפ����⤷��ޤ���, \file{Sendmail.py} �Υ⥸�塼��̾�� +�ְ�ä��դ����Ƥ��ޤ�. +�ǥե���Ȥ� \file{SMTPDirect.py} �ǻȤ� SMTP �������Ф���, ���ޥ�ɥ饤��� +��å��������Ϥ�������ɽ���Ƥ��ޤ�. +\file{Sendmail.py} �ե�����ˤϴ��ΤΥ������ƥ��ۡ��뤬���� +��ǰŪ��ǽ����������뤿�������Ƥ��ޤ�\footnote{�º�, Mailman �� +�Ƕ�ΥС������Ǥϰտ�Ū�˹����ܤäƤ��ޤ�. �⤷�����ͭ���� +�������ΤǤ����, �褯�Τä��֤��Ƥ�������.}. +�⤷ \file{SMTPDirect.py} �����Ѥ����꤬����ʤ� \file{Sendmail.py} �� +�Ȥ��ΤǤʤ�, �����ľ�����ȤǤ�. �Ǥʤ��ȥ������ƥ����Ѥˤ��餹 +���Ȥˤʤ꤫�ͤޤ���. +\end{notice} + +\subsubsection{Sendmail �� ``smrsh'' �Ȥ�Ŭ��} + +�������С������� Sendmail �� Sendmail �����ץ������Ȥ��� +�Ȥ����Ȥ����¤��뤿��� ``smrsh'' �Ȥ������¼¹ԥ桼�ƥ���ƥ��� +�դ��Ƥ��ޤ�. ����Ū�� Mailman �Υ�åץץ�����ब smrsh �ǻȤ��� +�褦�ˤ��Ƥ����ʤ��� Mailman ��ư��ޤ���. �⤷��뤬 Mailman �� +��åץץ��������Ϥ���, ``operating system error'' ������ +�����˵�Ͽ����Ƥ����, ����������ͤ������äƤ��뤳�Ȥˤʤ�ޤ�. + +������褹��Τˤ褤��ˡ��: + +\begin{itemize} + \item Sendmail �� smrsh ��åץץ�������ɤ��Ǽ¹Ԥ��Ƥ��뤫��õ��: + + \begin{verbatim} + % grep smrsh /etc/mail/sendmail.cf + \end{verbatim} + + \item �¹Ե��Ĥ�����ץ������� smrsh ���ɤ��˥���ܥ�å� + ����Ƥ��뤫��õ��. ���Υ��ޥ�ɤκǽ�Τۤ��Ǥɤ����� + �ǥ��쥯�ȥ�(�㤨�� \file{/var/adm/sm.bin} �ߤ�����)�Υѥ� + ���ФƤ���Ǥ��礦: + + \begin{verbatim} + % strings $path_to_smrsh | less + \end{verbatim} + + \item \file{/var/adm/sm.bin} ���뤤�ϼ�ʬ�Υ����ƥ�Ǹ��Ĥ��� + �ǥ��쥯�ȥ� (\file{/etc/smrsh} �Ȥ� \file{/var/smrsh} �Ȥ� + \file{/usr/local/smrsh} �Ȥ�...) �ذܤä�: + + \begin{verbatim} + % cd /var/adm/sm.bin + \end{verbatim} + + \item Mailman �Υ�åץץ������ؤΥ���ܥ�å����������ޤ�: + + \begin{verbatim} + % ln -s /usr/local/mailman/mail/mailman mailman + \end{verbatim} +\end{itemize} + +\subsubsection{Sendmail �� Mailman ������} + +David Champion �� Sendmail �� Mailman ����̩�ܤ����礹��, �Ĥޤ� +�ꥹ�Ȥ��������줿�Ȥ��˥����ꥢ���ơ��֥�����Խ����ʤ��Ƥ�, +Sendmail ����ưŪ��ǧ�����������ꥹ�Ȥ���������褦�ˤ��뤿��� +�쥷�Ԥ��£���Ƥ���ޤ���. + +Mailman �Υ���������ʪ \file{contrib} �ǥ��쥯�ȥ�˼���4�Ĥ� +�ե����뤬����ޤ�: + +\begin{itemize} +\item \file{mm-handler.readme} - ���åȥ��åפ�����ˡ������ +\item \file{mm-handler} - ������������������ (MDA) +\item \file{mailman.mc} - ����ե�������� +\item \file{virtusertable} - RFC 2142 ���ɥ쥹�㳰�ˤĤ��Ƥ��� +\end{itemize} + +\subsubsection{��ǽ�ˤĤ���} + +Sendmail ����ǽ����Ȥ��װ��Ȥ��Ƴμ¤ʤΤ�, �����ԤΥۥ��Ȥ� DNS +��Ʊ���˸��ڤ���褦�����ꤵ��Ƥ�����Ǥ�. Mailman ���饵���Ф� +��뤬���������Ȥ��ˤ�������������ǽ������ޤ�. +Mailman �� \code{localhost} (�Ĥޤ�, 127.0.0.1) ���� Sendmail �� +SMTP �ݡ��Ȥ���³���ޤ��Τ�, ��������ۥ��Ȥ������³�ˤĤ��Ƥ� +DNS �Ǥ�Ʊ�����ڤ�\strong{���ʤ�}�褦�� Sendmail �����ꤷ�Ƥ�������. + +\subsection{Using the Qmail mail server\label{qmail-issues}} + +There are some issues that users of the qmail mail transport agent have +encountered. None of the core maintainers use qmail, so all of this +information has been contributed by the Mailman user community, especially +Martin Preishuber and Christian Tismer, with notes by Balazs Nagy (BN) and +Norbert Bollow (NB). + +\begin{itemize} +\item You might need to set the mail-gid user to either \code{qmail}, + \code{mailman}, or \code{nofiles} by using the + \longprogramopt{with-mail-gid} \program{configure} option. + + \emph{BN:} it highly depends on your mail storing policy. For example + if you use the simple \file{~alias/.qmail-*} files, you can use + \program{`id -g alias`}. But if you use \file{/var/qmail/users}, the + specified mail gid can be used. + + If you are going to be directing virtual domains directly to the + \code{mailman} user (using ``virtualdomains'' on a list-only domain, for + example), you will have to use \longprogramopt{with-mail-gid}=\var{gid + of mailman user's group}. This is incompatible with having list aliases + in \file{~alias}, unless that alias simply forwards to + \code{mailman-listname*}. + +\item If there is a user \code{mailman} on your system, the alias + \code{mailman-owner} will work only in \file{~mailman}. You have to do + a \program{touch .qmail-owner} in \file{~mailman} directory to create + this alias. + + \emph{NB:} An alternative, IMHO better solution is to \program{chown + root ~mailman}, that will stop qmail from considering \code{mailman} to + be a user to whom mail can be delivered. (See ``man 8 qmail-getpw''.) + +\item In a related issue, if you have any users with the same name as one of + your mailing lists, you will have problems if list names contain + \samp{-} in them. Putting \file{.qmail} redirections into the user's + home directory doesn't work because the Mailman wrappers will not get + spawned with the proper GID. The solution is to put the following lines + in the \file{/var/qmail/users/assign} file: + +\begin{verbatim} + +zope-:alias:112:11:/var/qmail/alias:-:zope-: + . +\end{verbatim} + + where in this case the listname is e.g. \code{zope-users}. + + \emph{NB:} Alternatively, you could host the lists on a virtual domain, + and use the \file{/var/qmail/control/virtualdomains} file to put the + \code{mailman} user in charge of this virtual domain. + +\item \emph{BN:}If inbound messages are delivered by another user than + \code{mailman}, it's necessary to allow it to access \file{~mailman}. + Be sure that \file{~mailman} has group writing access and setgid bit is + set. Then put the delivering user to \code{mailman} group, and you can + deny access to \file{~mailman} to others. Be sure that you can do the + same with the WWW service. + + By the way the best thing is to make a virtual mail server to handle all + of the mail. \emph{NB:} E.g. make an additional "A" DNS record for the + virtual mailserver pointing to your IP address, add the line + \code{lists.kva.hu:mailman} to \file{/var/qmail/control/virtualdomains} + and a \code{lists.kva.hu} line to \file{/var/qmail/control/rcpthosts} + file. Don't forget to HUP the qmail-send after modifying + ``virtualdomains''. Then every mail to lists.kva.hu will arrive to + mail.kva.hu's mailman user. + + Then make your aliases: + +\begin{verbatim} + .qmail => mailman@...'s letters + .qmail-owner => mailman-owner's letters +\end{verbatim} + + For list aliases, you can either create them manually: + +\begin{verbatim} + .qmail-list => posts to the 'list' list + .qmail-list-admin => posts to the 'list's owner + .qmail-list-request => requests to 'list' + etc +\end{verbatim} + + or for automatic list alias handling (when using the lists.kva.hu + virtual as above), see \file{contrib/qmail-to-mailman.py} in the Mailman + source distribution. Modify the \file{~mailman/.qmail-default} to + include: + +\begin{verbatim} + |/path/to/python /path/to/qmail-to-mailman.py +\end{verbatim} + + and new lists will automatically be picked up. + +\item You have to make sure that the localhost can relay. If you start qmail + via inetd and tcpenv, you need some line the following in your + \file{/etc/hosts.allow} file: + +\begin{verbatim} + tcp-env: 127. 10.205.200 : setenv RELAYCLIENT +\end{verbatim} + + where 10.205.200. is your IP address block. If you use tcpserver, then + you need something like the following in your \file{/etc/tcp.smtp} file: + +\begin{verbatim} + 10.205.200.:allow,RELAYCLIENT="" + 127.:allow,RELAYCLIENT="" +\end{verbatim} + +\item \emph{BN:} Bigger \file{/var/qmail/control/concurrencyremote} values + work better sending outbound messages, within reason. Unless you know + your system can handle it (many if not most cannot) this should not be + set to a value greater than 120. + +\item More information about setting up qmail and relaying can be found in the + qmail documentation. +\end{itemize} + +\emph{BN:} Last but not least, here's a little script to generate aliases to +your lists (if for some reason you can/will not have them automatically picked +up using \file{contrib/qmail-to-mailman.py}): + +This script is for the Mailman 2.0 series: + +\begin{verbatim} +#!/bin/sh +if [ $# = 1 ]; then + i=$1 + echo Making links to $i in the current directory... + echo "|preline /home/mailman/mail/mailman post $i" > .qmail-$i + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-admin + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-owner + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-owner-$i + echo "|preline /home/mailman/mail/mailman mailcmd $i" > .qmail-$i-request +fi +\end{verbatim} +% $ - emacs turd + +\begin{notice}[note] +This is for a new Mailman 2.1 installation. Users upgrading from +Mailman 2.0 would most likely change \file{/usr/local/mailman} to +\file{/home/mailman}. If in doubt, refer to the \longprogramopt{prefix} +option passed to \program{configure} during compile time. +\end{notice} + +\begin{verbatim} +#!/bin/sh +if [ $# = 1 ]; then + i=$1 + echo Making links to $i in the current directory... + echo "|preline /usr/local/mailman/mail/mailman post $i" > .qmail-$i + echo "|preline /usr/local/mailman/mail/mailman admin $i" > .qmail-$i-admin + echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces + # The following line is for VERP + # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces-default + echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-confirm + echo "|preline /usr/local/mailman/mail/mailman join $i" > .qmail-$i-join + echo "|preline /usr/local/mailman/mail/mailman leave $i" > .qmail-$i-leave + echo "|preline /usr/local/mailman/mail/mailman owner $i" > .qmail-$i-owner + echo "|preline /usr/local/mailman/mail/mailman request $i" > .qmail-$i-request + echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-subscribe + echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i-unsubscribe +fi +\end{verbatim} +% $ - emacs turd + +\subsubsection{Information on VERP} + +You will note in the alias generating script for 2.1 above, there is a line +for VERP that has been commented out. If you are interested in VERP there are +two options. The first option is to allow Mailman to do the VERP formatting. +To activate this, uncomment that line and add the following lines to your +\file{mm_cfg.py} file: + +\begin{verbatim} + VERP_FORMAT = '%(bounces)s-+%(mailbox)s=%(host)s' + VERP_REGEXP = r'^(?P<bounces>.*?)-\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$' +\end{verbatim} +% $ - emacs turd + +The second option is a patch on SourceForge located at: + +\url{http://sourceforge.net/tracker/?func=detail\&atid=300103\&aid=645513\&group_id=103} + +This patch currently needs more testing and might best be suitable for +developers or people well familiar with qmail. Having said that, this patch +is the more qmail-friendly approach resulting in large performance gains. + +\subsubsection{Virtual mail server} + +As mentioned in the \ref{qmail-issues} section for a virtual mail server, a +patch under testing is located at: + +\url{http://sf.net/tracker/index.php?func=detail\&aid=621257\&group_id=103\&atid=300103} + +Again, this patch is for people familiar with their qmail installation. + +\subsubsection{More information} + +You might be interested in some information on modifying footers that Norbert +Bollow has written about Mailman and qmail, available here: + + \url{http://mailman.cis.to/qmail-verh/} + +\section{�����ȤΥǥե���Ȥ�����\label{customizing}} + +Mailman �ˤ������Υ��������Τ����ꥪ�ץ������ޤ��Τ�, ������������, +ɬ�פ˱������ѹ����Ƥ�������. +���ץ����Τ����Ĥ��� Mailman �����ʤ��δĶ��Ǥɤ�ư��뤫�����椷, +���뤤�Ͽ����˺��������ꥹ�ȤΥǥե���Ȥ����Ӥޤ�\footnote{ +����Ū��, �������ѹ������ꥹ�ȤΥǥե���Ȥϴ��˺����ѤߤΥꥹ�Ȥˤ� +Ŭ�Ѥ���ޤ���. �ꥹ�Ȥ��������줿����ѹ���ä���ˤ�, �����֥��ե����� +��Ȥ��� \program{bin/withlist} �� \program{bin/config_list} �Τ褦�� +���ޥ�ɹԥ�����ץȤ�Ȥ��ޤ�.}. +�ޤ������ƥ���塼�˥Υѥ���������Υ��ץ������ޤ�. + +\file{\var{\$prefix}/Mailman/Defaults.py} �ե�����˥��������Τ� +�ǥե���Ȥ����������äƤ��ޤ�. ������, \strong{����} ���Υե������ +�ѹ����ƤϤ����ޤ���. ��������, Ʊ���ǥ��쥯�ȥ�ˤ���, +\file{mm_cfg.py} �ե�������ѹ����Ƥ�������. \file{Defaults.py} �� +���äƤ���ΤȰ㤦��Τ��� \file{mm_cfg.py} �˽ä���Ф褤�����Ǥ�. +���� Mailman ��С�����åפ������, \file{mm_cfg.py} ���������� +���ȤϤ���ޤ���. + +\file{Defaults.py} �ե�����ˤϥ����Ȥ������Ƥ���ޤ�. ������ +���ץ��������������뤳�ȤϤ��ޤ���. \file{Defaults.py} �� \file{mm_cfg.py} +�Ϥɤ���� \ulink{Python}{http://www.python.org} �ե�����ʤΤ� +Python ��ʸˡ����褦�ˤ��ʤ��Ȥ����ޤ���. �Ǥʤ��� Mailman ��ư���ޤ���. + +\begin{notice}[����] +\var{HOME_DIR} �� \var{MAILMAN_DIR} �ѿ����Ѥ��Ƥ� \strong{�����ޤ���}. +������ \program{configure} ������ץȤǼ�ưŪ�����ꤵ��ޤ�. +�⤷�Ѥ���� Mailman �Υ��ȡ��뤬����ޤ�. +\end{notice} + +\file{mm_cfg.py} ���ѹ��� \ref{building} ��� Mailman �� +���ȡ��뤷���Ȥ��Υ桼���Ǥ����ʤ�ɬ�פ�����ޤ�. + +\section{���������ΤΥ��ꥹ�Ȥ���} + +Mailman �ȥ�륵���Ф����������������, ���� ``����������'' �� +���ꥹ�Ȥ���ɬ�פ�����ޤ�. ����ϥѥ������˺���Τ�ȯ���� +�Ȥ��Ƹ�����ΤǤ���, Mailman �����������Ѥ���Τ�ɬ�פʤ�ΤǤ�. +�̾�, ����� \code{mailman} �Ȥ���̾���Υꥹ�ȤǤ���, �ѹ�����ɬ�פ� +�������, \file{mm_cfg.py} ����� \var{MAILMAN_SITE_LIST} �ѿ��� +�ѹ����Ƥ�������. ���Υץ���ץȤ�³�����ޥ�ɤǤ��Υ����ȥꥹ�Ȥ� +�������뤳�Ȥ��Ǥ��ޤ�. + +\begin{verbatim} + % bin/newlist mailman +\end{verbatim} + +������, �����ȥꥹ�Ȥ�����ޤ�. ����ν����ˤʤ�褦��, +�����ȥꥹ�Ȥ������ʤҤʷ��� \file{data/sitelist.cfg} �˺�ä� +����ޤ�. ���ΤҤʷ������ꥪ�ץ����ˤĤ��Ƹ��Ƥ����Ƥ�������. +\file{sitelist.cfg} �ե������̾�����ФƤ��ʤ����ץ����ˤĤ��Ƥ� +�ѹ�����ʤ����Ȥ����դ��Ƥ�������. + +���ΤҤʷ���Ŭ�Ѥ���ˤϼ��Τ褦�ˤ��ޤ�: + +\begin{verbatim} + % bin/config_list -i data/sitelist.cfg mailman +\end{verbatim} + +\file{sitelist.cfg} �Υ��ץ�����Ŭ�Ѥθ��, �ꥹ�Ȥδ����ڡ����� +����Ƥ������Ȥ�˺��ʤ��Ǥ�������. +��������. + +�����ȥꥹ�Ȥˤϼ�ʬ���Ȥ���Ͽ���Ƥ����Ƥ�������. + +\section{Cron ������} + +¿���� Mailman �λŻ������Ū�ʥ������塼���ȯ�����ޤ�. ���Τ���, +������������������ץ�������¹Ԥ���褦 \program{cron} �����ꤷ�ʤ���� +�ʤ�ޤ���\footnote{�����ΥС�����鹹������Ȥ��ˤ�, ������ +crontab ������ʤ��Ȥ����ʤ����⤷��ޤ���. ������, ʣ���� Mailman �� +���ȡ��뤷�Ƥ�����ˤ����դ�ɬ�פǤ�. crontab ���ѹ������ +¾��ʿ�Ԥ��� Mailman ��������⤷��ޤ���.}. + +�⤷, ���ʤ��� crontab �� \programopt{-u} ���ץ����ݡ��Ȥ��� +������, root �ˤʤäƼ��Υ��ƥåפ�¹Ԥ��Ƥ�������. +���Υ��ޥ�ɤ�¹Ԥ��� \file{\var{\$prefix}/cron/crontab.in} �� +crontab �Υ���ȥ������ޤ�. + +\begin{verbatim} + % cd $prefix/cron + % crontab -u mailman crontab.in +\end{verbatim} + +�⤷, \longprogramopt{with-username} ���ץ�����ȤäƤ�����, \programopt{-u} +�ΰ����ˤ� \code{mailman} ������ˤ��Υ桼��̾��Ȥ��ޤ�. +�⤷, crontab �� \programopt{-u} ���ץ����ݡ��Ȥ��Ƥ��ʤ����, +���Τ褦�ˤ��Ƥ�������: + +\begin{verbatim} + % cd $prefix/cron + % su - mailman + % crontab crontab.in +\end{verbatim} + +\section{Mailman �� qrunner ��ư����} + +Mailman �����ƤΥ�������� ``qrunner'' �ȸƤФ��ץ�������Ȥ��ޤ�. +\var{\$prefix} �˰�ư����, ���Υ��ޥ�ɤ�¹Ԥ��뤳�Ȥ� qrunner �� +��ư����ɬ�פ�����ޤ�: + +\begin{verbatim} + % bin/mailmanctl start +\end{verbatim} + +�����ƥ���֡��Ȥ��뤿�Ӥ� Mailman ��ư�����ۤ����褤�Ǥ��礦. +�ºݤˤɤ����뤫�ϻ��Ѥ��륪�ڥ졼�ƥ������ƥ�˰�¸���ޤ�. +OS �� \program{chkconfig} ���ޥ�ɤݡ��Ȥ��Ƥ���� (�㤨�� Red Hat +�� Mandrake �� Linux) ���Τ褦�ˤ��Ƥ������� (Mailman �� +���ȡ���ǥ��쥯�ȥ꤫��, root �ˤʤä�): + +\begin{verbatim} + % cp scripts/mailman /etc/init.d/mailman + % chkconfig --add mailman +\end{verbatim} + +\file{/etc/init.d} �ϥ����ƥ�ˤ�äƤ� \file{/etc/rc.d/init.d} ���� +����ޤ���. + +Gentoo Linux �Ǥϼ��Τ褦�ˤ��ޤ�: + +\begin{verbatim} + % cp scripts/mailman /etc/init.d/mailman + % rc-update add mailman default +\end{verbatim} + +Debian �ǤϤ�������Ȥ褤�Ǥ��礦: + +\begin{verbatim} + % update-rc.d mailman defaults +\end{verbatim} + +\program{chkconfig} �ݡ��Ȥ��ʤ� \UNIX{} �Ǥϼ��ΰ�Ϣ�Υ��ޥ�� +���Ƥߤ�Ȥ褤���⤷��ޤ���: + +\begin{verbatim} + % cp scripts/mailman /etc/init.d/mailman + % cp misc/mailman /etc/init.d + % cd /etc/rc.d/rc0.d + % ln -s ../init.d/mailman K12mailman + % cd ../rc1.d + % ln -s ../init.d/mailman K12mailman + % cd ../rc2.d + % ln -s ../init.d/mailman S98mailman + % cd ../rc3.d + % ln -s ../init.d/mailman S98mailman + % cd ../rc4.d + % ln -s ../init.d/mailman S98mailman + % cd ../rc5.d + % ln -s ../init.d/mailman S98mailman + % cd ../rc6.d + % ln -s ../init.d/mailman K12mailman +\end{verbatim} + +\section{�ۥ���̾�����������å�����} + +\file{Defaults.py} ����� \var{DEFAULT_EMAIL_HOST} �� \var{DEFAULT_URL_HOST} +������å����Ƥ�������. �ѹ���ɬ�פʾ��� \file{Defaults.py} �� \strong{�ʤ�} +\file{mm_cfg.py} �˽ޤ�. +�ޤ�, �ɤ��餫���ͤ��ѹ������Ȥ��ˤ�, \file{mm_cfg.py} ���ѹ��θ��, +���Τ褦���ɲä��Ƥ�������. + +\begin{verbatim} + add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) +\end{verbatim} + +�⤷���˺��������ꥹ�Ȥ����ä���, \program{bin/fix_url.py} ��Ȥä� +�ɥᥤ��̾���ѹ����Ƥ�������. + +\section{�����ȥѥ���ɤκ���} + +\program{bin/mmsitepass} ������ץȤ���Ѥ����, ���ޥ�ɥ饤�� +���ĤΥ��������ΤΥѥ���ɤ�����Ǥ��ޤ�. +����ܤ�, ``�����ȥѥ����'' �ǥ����ƥ��ǥѥ���ɤ�ɬ�פ� +���Ϥɤ��Ǥ�Ȥ����Ȥ��Ǥ��ޤ�. �����ȥѥ���ɤϤɤΥꥹ�Ȥ� +�����ڡ����ؤ����뤳�Ȥ��Ǥ��ޤ���, �ɤΥ桼���Ȥ��Ƥ��������Ǥ��ޤ�. +Unix �����ƥ�Ǥ� \code{root} ��ͤ��Ƥ�������. ���Υѥ���ɤ� +�����ͤ�������Ǥ�������. + +�����ܤΥѥ���ɤϥ��������Τ� ``�ꥹ�Ⱥ���'' �ѥ���ɤǤ�. +�����Ȥ���, �����ȥѥ���ɤ����Ƥ��ø���Ϳ������, �������ꥹ�Ȥ� +������������θ��¤�������뤳�Ȥ��Ǥ��ޤ�. +�������, �����ȥѥ���ɤǤ⿷�������ꥹ�Ȥ�����Ǥ��ޤ���, +�ꥹ�Ⱥ����ѥ���ɤ����̤��������˸��ꤹ���ΤǤ�. + +�����ȥѥ���ɤ�����ˤϼ��Υ��ޥ�ɤ�Ȥ��ޤ�: + +\begin{verbatim} + % $prefix/bin/mmsitepass <���ʤ��Υ����ȥѥ����> +\end{verbatim} + +�ꥹ�Ⱥ����ѥ���ɤ�����ϼ��Υ��ޥ�ɤ�ȤäƤ�������: + +\begin{verbatim} + % $prefix/bin/mmsitepass -c <�ꥹ�Ⱥ����ѥ����> +\end{verbatim} + +�ꥹ�Ⱥ����ѥ���ɤ����ꤷ�ʤ��Ƥ�빽�Ǥ���, �����ȥѥ���ɤ� +ɬ�פˤʤ�Ϥ��Ǥ�. + +\section{���ƥꥹ�Ȥ��������} + +Mailman ��Ȥ��������äƥꥹ�Ȥ�������������ꤷ����Ȥ��ä��ܤ������� +�ˤĤ��Ƥ�, Mailman �ꥹ�ȴ����ޥ˥奢��Ȥ��Ƥ�������. +�����Ǥ�, �����֥��ե�������Ȥäƺǽ�Υ��ꥹ�Ȥ���� +���뤿��δ�ñ�ʥ����ɤ��������ޤ�: + +\begin{itemize} +\item �ޤ� URL \code{http://my.dom.ain/mailman/create} ���Ƥ�������. + +\item ���̤˽ФƤ���ؼ��˽��äƥե�����˵�������, ``�ꥹ�Ⱥ����Ԥ� + �ѥ����'' �ΤȤ����� \ref{customizing} ��Ǻ������� + �ѥ���ɤ�����Ƥ�������. ��ʬ�Υ�륢�ɥ쥹�� + ``�ꥹ�ȴ����ԥ��ɥ쥹�ν������'' �ΤȤ���������, + ``�֥ꥹ�Ⱥ�����λ�פ���Ǵ����Ԥ��Τ餻�ޤ���'' �� ``�Ϥ�'' �� + ����Ǥ�������. + +\item ``�ꥹ�Ȥ��������'' �ܥ����å����Ƥ�������. + +\item Mailman ���餢�ʤ����˿��������ꥹ�Ȥ��������줿���Ȥ� + �����Τ餻�ޤ��Τǥ����å����Ƥ�������. + +\item ��ǧ�Υ����֥ڡ����� Mailman �������������˽줿��� + ���ɤä�, �ꥹ�Ȥδ����ڡ����عԤäƲ�����. ����������, URL �� + \code{http://my.dom.ain/mailman/admin/mylist} �ߤ����ˤʤäƤ� + �Ϥ��Ǥ�. + +\item �ꥹ�ȤΥѥ���ɤ������, ``��������...'' ��å����ޤ�. + +\item ``�������'' ��å���, ³���� ``�ޤȤ��������Ͽ'' �عԤä� + ��������. + +\item �礭���ƥ��������ϥ��ꥢ�˼�ʬ�Υ�륢�ɥ쥹������, + ``�ѹ�����������'' ��å����Ƥ�������. + +\item ��ʬ�Υ�륽�եȤ�, \code{mylist@my.dom.ain} ���Ƥ˥��� + �Ф��Ƥ�������. 1,2ʬ�Τ�����, Mailman ��ͳ�Ǽ�ʬ�Υ�뤬�֤ä� + ���Ǥ��礦. +\end{itemize} + +����ǤȤ�! ���ʤ��κǽ�Υ��ꥹ�Ȥ�����ȥƥ��Ȥ���λ���ޤ���. +�������꤬�����ä���, \ref{troubleshooting} ��Ƥ�������. + +\section{�ȥ�֥���к�\label{troubleshooting}} + +�⤷, Mailman �μ¹Ԥ����꤬ȯ��������, �ޤ��ʲ��Ρְ���Ū�� +����פ��������å����ޤ��礦���⤷�����꤬�����˴� +�ޤ�Ƥ��ʤ���С�\ulink{����饤��إ��}{http://www.list.org/help.html} +�Ƥ�������. ��������, \ulink{FAQ}{http://www.list.org/faq.html} +�� \ulink{���饯�ƥ��֤� FAQ ����������}{http://www.python.org/cgi-bin/faqw-mm.py} +�عԤ����Ȥ��Ǥ��ޤ�. + +���줫�顤�����ƥ�� syslog ��, Mailman �� +\file{\var{\$prefix}/logs/error} �ե�����˥��顼�����äƤ��ʤ���������å� +���ޤ��礦�� +����Ǥ����꤬�����, \email{mailman-users@python.org} ���ꥹ�� +\footnote{������Ƥ���ˤϤ����ꥹ�Ȥ�����ʤ��Ȥ����ޤ���, +�ꥹ�Ȥ���¸��ˤϰ��̸�������Ƥ��ޤ�.} �˼����Ƥ�������. +\url{http://mail.python.org/mailman/listinfo/mailman-users} �˾ܤ��� +���⤬����ޤ�. + +���ڥ졼�ƥ������ƥ��, ���Ѥ��Ƥ��� Python �ΥС������, +���ȡ������ Mailman �ΥС������ʤɤˤĤ��Ƥξ���� +˺�줺������Ƥ�������. + +�ʲ���, ����Ū�ʼ���Ȳ����Υꥹ�ȤǤ�: +Here is a list of some common questions and answers: + +\begin{itemize} + +\item \strong{����:} Mailman �� �����֥ڡ��������� 404 File not found ���顼�� + �ʤ�ޤ�. + + \strong{���ˡ:} �����֥����Ф������ Mailman �� CGI ���ޥ�ɤ������� + ������褦������Ǥ��Ƥ��ޤ���. �ʲ����ǧ: + + \begin{enumerate} + \item �����֥����Ф� \file{\var{\$prefix}/cgi-bin} ������������ + (�ѡ��ߥå����) �����ꤹ��. + + \item �����֥����Ф��������Ƶ�ư����. + \end{enumerate} + + �����֥����Ф��������褯�ɤ�Ǥɤ�������褤��Ĵ�٤Ƥ�������. + +\item \strong{����:} Mailman �Υ����֥ڡ��������� "Internal Server + Error" �ˤʤ�ޤ�. + + \strong{���ˡ:} �ְ�ä��桼���ޤ��ϥ��롼�פ�Ȥä� CGI �� + �¹Ԥ��褦�Ȥ��Ƥ����ǽ��������ޤ�. �����֥����ФΥ���������å����� + ��������. �㤨�аʲ��Τ褦�ʹԤ����ä���, + + \begin{verbatim} + Attempt to exec script with invalid gid 51, expected 99 + \end{verbatim} + + Mailman ��ƥ��ȡ��뤷�ʤ���Фʤ�ޤ���. \label{building} + ��˽�Ƥ����褦��, ������ CGI ���롼�� ID ����ꤷ�� + ��������. + +\item \strong{����:} ����ꥹ�Ȥ����ä���, �ꥹ�Ȥ����Ĥ���ʤ��Ȥ��� + ����������ޤ���. + + \strong{���ˡ:} ¿ʬ, �����ƥ�Υ����ꥢ���ǡ����١�����ɬ�פ� + �����ꥢ������Ͽ���Ƥ��ʤ��ä��ΤǤ��礦. ���뤤��, Mailman �� + ��륵���Ф��Ȥ߹�碌���������Ԥ��Ƥ��ʤ��Τ��⤷��ޤ���. + �����ꥢ���ǡ����١��������Ƥ��ʤ���, ���ʤ��Υ����ƥ�Ǥ� + \program{newaliases} ������Ū�˼¹Ԥ���ɬ�פ�����Τ�����ޤ���. + ���ʤ��������ѤΥ����ФˤĤ���\ref{mail-server}��� + ��ǧ���Ƥ�������. + +\item \strong{����:} �ꥹ�Ȥ˥������ä���, ``unknown mailer error'' + �����äƤ��ޤ���. + + \strong{���ˡ:} ����åפǴְ�ä��桼���ޤ��ϥ��롼��ID + ��ȤäƤ����ǽ��������ޤ�. ��륵���ФΥ���������å����� + ��������. ���Τ褦�ʹԤ����ä���, + + \begin{verbatim} + Attempt to exec script with invalid gid 51, expected 99 + \end{verbatim} + + Mailman ��ƥ��ȡ��뤷�ʤ���Фʤ�ޤ���. \label{building} + ��˽�Ƥ����褦��, ��������륰�롼�� ID ����ꤷ�� + ��������. + +\item \strong{����:} ��� Postfix ���륵���Ф˻ȤäƤ��ޤ�. + ������, ����åץץ������� GID ����äƤ������ʿ������˻Ĥ��ޤ�. + + \strong{���ˡ:} \file{\var{\$prefix}/data/aliases.db} �ե������ + ��ͭ�Ԥ� \code{mailman} (���� \program{configure} ���ޥ�ɤǻȤä�̾��) + �Ǥ��뤳�Ȥ��ǧ���Ƥ�������. �⤷ \code{mailman} �ʳ��Υ桼���� + ��ͭ����Ƥ������, Postfix ���������桼���ǥ��ץ������� + �¹Ԥ��ޤ���. + +\item \strong{����:} ��� Sendmail ���륵���Ф˻ȤäƤ��ޤ�. + ������, ����ꥹ�Ȥ������ + ``sh: mailman not available for + sendmail programs'' �Ȥ�����뤬�֤äƤ��ޤ�. + + \strong{���ˡ:} ���ʤ��Υ����ƥ�Ǥ� Sendmail restricted shell + (smrsh) ���Ȥ��Ƥ��ޤ�. ����åץץ������ + (\file{\var{\$prefix}/mail/mailman}) ���� smrsh �Ǽ¹Ԥ����Ĥ���� + ����ǥ��쥯�ȥ�˥���ܥ�å����ĥ��ɬ�פ�����ޤ�. + + ����Ū�ˤ��Υǥ��쥯�ȥ�� \file{/var/admin/sm.bin}, + \file{/usr/admin/sm.bin}, \file{/etc/smrsh} �ʤɤ����ꤵ��Ƥ��ޤ�. + + Debian Linux �Ǥϥ����ƥ�� \file{/usr/lib/sm.bin} ��������ޤ� + ��������ϴְ�äƤ��ޤ�. \file{/usr/admin/sm.bin} �� ��äƤ� + ���إ���������ɬ�פ�����ޤ�. + ����\program{newaliases} ���Ǥ��Ф��ɤΥ����ꥢ�����åפؤ� + �����ʥ��ؤ�ɬ�פ�����ޤ��� + +\item \strong{����:} \program{configure} ��ƤӽФ��Ȥ��˻��餫���� + ���ޤ��ޤ���. �ݽ��ƺƥ��ȡ��뤹��ˤϤɤ������餤���Ǥ���? + + \strong{���ˡ:} + + \begin{verbatim} + % make clean + % ./configure --with-the-right-options + % make install + \end{verbatim} + +\end{itemize} + +\section{Platform and operating system notes} + +Generally, Mailman runs on any POSIX-based system, such as Solaris, the +various BSD variants, Linux systems, MacOSX, and other generic \UNIX{} +systems. It doesn't run on Windows. For the most part, the generic +instructions given in this document should be sufficient to get Mailman +working on any supported platform. Some operating systems have additional +recommended installation or configuration instructions. + +\subsection{GNU/Linux issues} + +Linux seems to be the most popular platform for running Mailman. Here are +some hints on getting Mailman to run on Linux: + +\begin{itemize} +\item If you are getting errors with hard link creations and/or you are using + a special secure kernel (securelinux/openwall/grsecurity), see the file + \file{contrib/README.check_perms_grsecurity} in the Mailman source + distribution. + + Note that if you are using Linux Mandrake in secure mode, you are + probably concerned by this. + +\item Apparently Mandrake 9.0 changed the permissions on gcc, so if you build + as the \code{mailman} user, you need to be sure \code{mailman} is in the + \code{cctools} group. + +\item If you installed Python from your Linux distribution's package manager + (e.g. .rpms for Redhat-derived systems or .deb for Debian), you must + install the ``development'' package of Python, or you may not get + everything you need. + + For example, using Python 2.2 on Debian, you will need to install the + \code{python2.2-dev} package. On Redhat, you probably need the + \code{python2-devel} package. + + If you install Python from source, you should be fine. + + One symptom of this problem, although for unknown reasons, is that you + might get an error such as this during your install: + + \begin{verbatim} + Traceback (most recent call last): + File "bin/update", line 44, in ? + import paths + ImportError: No module named paths + make: *** [update] Error 1 + \end{verbatim} + + If this happens, install the Python development package and try + \program{configure} and \program{make install} again. Or install the + latest version of Python from source, available from + \url{http://www.python.org}. + + This problem can manifest itself in other Linux distributions in + different ways, although usually it appears as \code{ImportErrors}. +\end{itemize} + +\subsection{BSD issues\label{bsd-issues}} + +Vivek Khera writes that some BSDs do nightly security scans for setuid file +changes. setgid directories also come up on the scan when they change. Also, +the setgid bit is not necessary on BSD systems because group ownership is +automatically inherited on files created in directories. On other \UNIX{}es, +this only happens when the directory has the setgid bit turned on. + +To install without turning on the setgid bit on directories, simply pass in +the \var{DIRSETGID} variable to \program{make}, after you've run +\program{configure}: + +\begin{verbatim} + % make DIRSETGID=: install +\end{verbatim} + +This disables the \program{chmod g+s} command on installed directories. + +\subsection{MacOSX issues} + +Many people run Mailman on MacOSX. Here are some pointers that have been +collected on getting Mailman to run on MacOSX. + +\begin{itemize} +\item Jaguar (MacOSX 10.2) comes with Python 2.2. While this isn't the very + latest stable version of Python, it ought to be sufficient to run + Mailman 2.1. + +\item David B. O'Donnell has a web page describing his configuration of + Mailman 2.0.13 and Postfix on MacOSX Server. + + \url{http://www.afp548.com/Articles/mail/python-mailman.html} + +\item Kathleen Webb posted her experiences in getting Mailman running on + Jaguar using Sendmail. + + \url{http://mail.python.org/pipermail/mailman-users/2002-October/022944.html} + +\item Panther server (MacOSX 10.3) comes with Mailman; Your operating system + should contain documentation that will help you, and Apple has a tech + document about a problem you might encounter running Mailman on Mac OS X + Server 10.3: + + \url{http://docs.info.apple.com/article.html?artnum=107889} +\end{itemize} + +Terry Allen provides the following detailed instructions on running Mailman on +the 'client' version of OSX, or in earlier versions of OSX: + +Mac OSX 10.3 and onwards has the basics for a successful Mailman installation. +Users of earlier versions of Mac OSX contains Sendmail and those users should +look at the Sendmail installation section for tips. You should follow the +basic installation steps as described earlier in this manual, substituting as +appropriate, the steps outlined in this section. + +By default, Mac OSX 10.3 'client' version does not have a fully functional +version of Postfix. Setting up a working MTA such as Postfix is beyond the +scope of this guide and you should refer to \url{http://www.postfix.org} for +tips on getting Postfix running. An easy way to set Postfix up is to install +and run Postfix Enabler, a stand-alone tool for configuring Postfix on Mac +OSX, available from +\url{http://www.roadstead.com/weblog/Tutorials/PostfixEnabler.html}. + +Likewise, Mac OSX 'client' version from 10.1 onwards includes a working Apache +webserver. This is switched on using the System Preferences control panel +under the 'Sharing tab'. A useful tool for configuring the Apache on Mac OSX +is Webmin, which can be obtained from +\url{http://www.webmin.com}. + +Webmin can also perform configuration for other system tasks, including +Postfix, adding jobs to your crontab, adding user and groups, plus adding +startup and shutdown jobs. + +In a stock installation of OSX, the requirement for Mailman is to have Python +installed. Python is not installed by default, so it is advised that you +install the developer's tools package, which may have been provided with your +system. It can also be downloaded from the Apple developer site at +\url{http://connect.apple.com}. Not only is the developer tools package an +essential requirement for installing Mailman, but it will come in handy at a +later date should you need other tools. The developer's tools are also know +by the name XCode tools. + +As a minimum, the Python version should be 2.2, but 2.3 is recommended. + +If you wish to add a user and group using the command line in OSX instead of +via Webmin or another GUI interface, open your terminal application and follow +the commands as indicated below - do not type the comments following the +\samp{\#} since they are just notes: + +\begin{verbatim} +sudo tcsh +niutil -create / /users/mailman +niutil -createprop / /users/mailman name mailman +# Note that xxx is a free group ID number on your system +niutil -createprop / /users/mailman uid xxx +niutil -createprop / /users/mailman home /usr/local/mailman +mkdir -p /usr/local/mailman +niutil -createprop / /users/mailman shell /bin/tcsh +passwd mailman +# To prevent malicious hacking, supply a secure password here +niutil -create / /groups/mailman +niutil -createprop / /groups/mailman name mailman +# Note that xxx is a free group ID number on your system +niutil -createprop / /groups/mailman gid xxx +niutil -createprop / /groups/mailman passwd '*' +niutil -createprop / /groups/mailman users 'mailman' +chown mailman:mailman /usr/local/mailman +cd /usr/local/mailman +chmod a+rx,g+ws . +exit +su mailman +\end{verbatim} + +For setting up Apache on OSX to handle Mailman, the steps are almost identical +and the configuration file on a stock Mac OSX Client version is stored in the +nearly standard location of \file{/etc/httpd/httpd.conf}. + +The \url{AFP548.com} site has a time-saving automated startup item creator for +Mailman, which can be found at +\url{http://www.afp548.com/Software/MailmanStartup.tar.gz} + +To install it, copy it into your \file{/Library/StartupItems} directory. As +the root or superuser, from the terminal, enter the following: + +\begin{verbatim} +gunzip MailmanStartup.tar.gz +tar xvf MailmanStartup.tar +\end{verbatim} + +It will create the startup item for you so that when you reboot, Mailman will +start up. + +\end{document} |