aboutsummaryrefslogtreecommitdiffstats
path: root/doc/mailman-install
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/mailman-install.dvibin0 -> 103804 bytes
-rw-r--r--doc/mailman-install.pdfbin0 -> 219691 bytes
-rw-r--r--doc/mailman-install.ps2266
-rw-r--r--doc/mailman-install.tex1808
-rw-r--r--doc/mailman-install.txt1558
-rw-r--r--doc/mailman-install/about.html109
-rw-r--r--doc/mailman-install/blank.pngbin0 -> 1031 bytes
-rw-r--r--doc/mailman-install/bsd-issues.html114
-rw-r--r--doc/mailman-install/contents.pngbin0 -> 649 bytes
-rw-r--r--doc/mailman-install/create-install-dir.html149
-rw-r--r--doc/mailman-install/customizing.html139
-rw-r--r--doc/mailman-install/exim3-transport.html113
-rw-r--r--doc/mailman-install/front.html182
-rw-r--r--doc/mailman-install/index.dat0
-rw-r--r--doc/mailman-install/index.html135
-rw-r--r--doc/mailman-install/index.pngbin0 -> 529 bytes
-rw-r--r--doc/mailman-install/internals.pl50
-rw-r--r--doc/mailman-install/intlabels.pl3
-rw-r--r--doc/mailman-install/labels.pl93
-rw-r--r--doc/mailman-install/mail-server.html145
-rw-r--r--doc/mailman-install/mailman-install.css243
-rw-r--r--doc/mailman-install/mailman-install.html135
-rw-r--r--doc/mailman-install/modules.pngbin0 -> 598 bytes
-rw-r--r--doc/mailman-install/next.pngbin0 -> 511 bytes
-rw-r--r--doc/mailman-install/node10.html193
-rw-r--r--doc/mailman-install/node12.html144
-rw-r--r--doc/mailman-install/node13.html207
-rw-r--r--doc/mailman-install/node15.html111
-rw-r--r--doc/mailman-install/node16.html132
-rw-r--r--doc/mailman-install/node17.html152
-rw-r--r--doc/mailman-install/node18.html111
-rw-r--r--doc/mailman-install/node2.html130
-rw-r--r--doc/mailman-install/node20.html115
-rw-r--r--doc/mailman-install/node21.html112
-rw-r--r--doc/mailman-install/node22.html98
-rw-r--r--doc/mailman-install/node23.html102
-rw-r--r--doc/mailman-install/node24.html128
-rw-r--r--doc/mailman-install/node25.html135
-rw-r--r--doc/mailman-install/node26.html140
-rw-r--r--doc/mailman-install/node27.html110
-rw-r--r--doc/mailman-install/node28.html122
-rw-r--r--doc/mailman-install/node29.html124
-rw-r--r--doc/mailman-install/node3.html110
-rw-r--r--doc/mailman-install/node30.html98
-rw-r--r--doc/mailman-install/node31.html129
-rw-r--r--doc/mailman-install/node32.html148
-rw-r--r--doc/mailman-install/node33.html116
-rw-r--r--doc/mailman-install/node34.html101
-rw-r--r--doc/mailman-install/node36.html116
-rw-r--r--doc/mailman-install/node37.html102
-rw-r--r--doc/mailman-install/node38.html98
-rw-r--r--doc/mailman-install/node4.html130
-rw-r--r--doc/mailman-install/node40.html130
-rw-r--r--doc/mailman-install/node41.html132
-rw-r--r--doc/mailman-install/node42.html159
-rw-r--r--doc/mailman-install/node43.html109
-rw-r--r--doc/mailman-install/node44.html128
-rw-r--r--doc/mailman-install/node45.html154
-rw-r--r--doc/mailman-install/node47.html113
-rw-r--r--doc/mailman-install/node48.html155
-rw-r--r--doc/mailman-install/node50.html229
-rw-r--r--doc/mailman-install/node6.html106
-rw-r--r--doc/mailman-install/node7.html251
-rw-r--r--doc/mailman-install/node8.html96
-rw-r--r--doc/mailman-install/node9.html147
-rw-r--r--doc/mailman-install/postfix-virtual.html197
-rw-r--r--doc/mailman-install/previous.pngbin0 -> 511 bytes
-rw-r--r--doc/mailman-install/pyfav.pngbin0 -> 240 bytes
-rw-r--r--doc/mailman-install/qmail-issues.html309
-rw-r--r--doc/mailman-install/troubleshooting.html260
-rw-r--r--doc/mailman-install/up.pngbin0 -> 577 bytes
71 files changed, 11623 insertions, 1808 deletions
diff --git a/doc/mailman-install.dvi b/doc/mailman-install.dvi
new file mode 100644
index 00000000..80c5c1be
--- /dev/null
+++ b/doc/mailman-install.dvi
Binary files differ
diff --git a/doc/mailman-install.pdf b/doc/mailman-install.pdf
new file mode 100644
index 00000000..6df47825
--- /dev/null
+++ b/doc/mailman-install.pdf
Binary files differ
diff --git a/doc/mailman-install.ps b/doc/mailman-install.ps
new file mode 100644
index 00000000..b2802765
--- /dev/null
+++ b/doc/mailman-install.ps
@@ -0,0 +1,2266 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
+%%Title: mailman-install.dvi
+%%CreationDate: Wed Dec 5 17:20:46 2007
+%%Pages: 27
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 595 842
+%%DocumentFonts: Helvetica Helvetica-Oblique Times-Roman Times-Bold
+%%+ Times-Italic Courier Times-BoldItalic Helvetica-Bold CMSY10
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -N0 -o mailman-install.ps mailman-install
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2007.12.05:1720
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: 8r.enc 0 0
+% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30
+%
+% @@psencodingfile@{
+% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,
+% W. Schmidt, P. Lehman",
+% version = "2.0",
+% date = "27nov06",
+% filename = "8r.enc",
+% email = "tex-fonts@@tug.org",
+% docstring = "This is the encoding vector for Type1 and TrueType
+% fonts to be used with TeX. This file is part of the
+% PSNFSS bundle, version 9"
+% @}
+%
+% The idea is to have all the characters normally included in Type 1 fonts
+% available for typesetting. This is effectively the characters in Adobe
+% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,
+% MacRoman, and some extra characters from Lucida.
+%
+% Character code assignments were made as follows:
+%
+% (1) the Windows ANSI characters are almost all in their Windows ANSI
+% positions, because some Windows users cannot easily reencode the
+% fonts, and it makes no difference on other systems. The only Windows
+% ANSI characters not available are those that make no sense for
+% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
+% (173). quotesingle and grave are moved just because it's such an
+% irritation not having them in TeX positions.
+%
+% (2) Remaining characters are assigned arbitrarily to the lower part
+% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
+%
+% (3) Y&Y Lucida Bright includes some extra text characters; in the
+% hopes that other PostScript fonts, perhaps created for public
+% consumption, will include them, they are included starting at 0x12.
+% These are /dotlessj /ff /ffi /ffl.
+%
+% (4) hyphen appears twice for compatibility with both ASCII and Windows.
+%
+% (5) /Euro was assigned to 128, as in Windows ANSI
+%
+% (6) Missing characters from MacRoman encoding incorporated as follows:
+%
+% PostScript MacRoman TeXBase1
+% -------------- -------------- --------------
+% /notequal 173 0x16
+% /infinity 176 0x17
+% /lessequal 178 0x18
+% /greaterequal 179 0x19
+% /partialdiff 182 0x1A
+% /summation 183 0x1B
+% /product 184 0x1C
+% /pi 185 0x1D
+% /integral 186 0x81
+% /Omega 189 0x8D
+% /radical 195 0x8E
+% /approxequal 197 0x8F
+% /Delta 198 0x9D
+% /lozenge 215 0x9E
+%
+/TeXBase1Encoding [
+% 0x00
+ /.notdef /dotaccent /fi /fl
+ /fraction /hungarumlaut /Lslash /lslash
+ /ogonek /ring /.notdef /breve
+ /minus /.notdef /Zcaron /zcaron
+% 0x10
+ /caron /dotlessi /dotlessj /ff
+ /ffi /ffl /notequal /infinity
+ /lessequal /greaterequal /partialdiff /summation
+ /product /pi /grave /quotesingle
+% 0x20
+ /space /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /asciitilde /.notdef
+% 0x80
+ /Euro /integral /quotesinglbase /florin
+ /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft
+ /OE /Omega /radical /approxequal
+% 0x90
+ /.notdef /.notdef /.notdef /quotedblleft
+ /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright
+ /oe /Delta /lozenge /Ydieresis
+% 0xA0
+ /.notdef /exclamdown /cent /sterling
+ /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft
+ /logicalnot /hyphen /registered /macron
+% 0xB0
+ /degree /plusminus /twosuperior /threesuperior
+ /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright
+ /onequarter /onehalf /threequarters /questiondown
+% 0xC0
+ /Agrave /Aacute /Acircumflex /Atilde
+ /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /Iacute /Icircumflex /Idieresis
+% 0xD0
+ /Eth /Ntilde /Ograve /Oacute
+ /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex
+ /Udieresis /Yacute /Thorn /germandbls
+% 0xE0
+ /agrave /aacute /acircumflex /atilde
+ /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis
+ /igrave /iacute /icircumflex /idieresis
+% 0xF0
+ /eth /ntilde /ograve /oacute
+ /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex
+ /udieresis /yacute /thorn /ydieresis
+] def
+
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 15 /bullet put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
+27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
+5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
+0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
+DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
+71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
+4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
+515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609
+C627A8BECD6E1FA14A3B02476E90AAD8B4700C400380BC9AFFBF7847EB28661B
+9DC3AA0F44C533F2E07DCC4DE19D367BF223E33DC321D0247A0E6EF6ABC8FA52
+15AE044094EF678A8726CD7C011F02BFF8AB6EAEEE391AD837120823BED0B5D8
+F8B15245377871A64F78378BB4330149D6941F7A86FBFFC49B93C94155F5FA7D
+F22E7214511C0A92693F4CDBF38411651540572F2DD70D924AE0F18E1CD581F3
+C871399127FF5D07A868885B5FF7CDEB50B8323B2533DEF8DC973B1AE84FA0A2
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+TeXDict begin 39139632 55387786 1000 600 600 (mailman-install.dvi)
+@start /Fa 136[48 2[22 26 3[33 37 1[18 2[18 37 33 3[29
+37 50[18 44[37 2[{TeXBase1Encoding ReEncodeFont}13 66.4176
+/Times-Bold rf /Fb 158[25 97[{TeXBase1Encoding ReEncodeFont}1
+49.8132 /Times-Italic rf /Fc 158[29 97[{TeXBase1Encoding ReEncodeFont}1
+58.1154 /Times-Italic rf /Fd 240[42 15[{}1 83.022 /CMSY10
+rf /Fe 134[42 4[25 3[46 46 46 5[46 6[42 49[21 47[{
+TeXBase1Encoding ReEncodeFont}8 74.7198 /Helvetica-Bold
+rf /Ff 135[42 2[46 23 32 32 1[42 42 46 65 3[23 46 42
+1[37 42 2[42 51[28 45[{TeXBase1Encoding ReEncodeFont}16
+83.022 /Times-BoldItalic rf /Fg 138[55 2[44 2[50 55 6[50
+1[44 1[44 96[55 2[{TeXBase1Encoding ReEncodeFont}8 99.6264
+/Times-Bold rf /Fh 144[32 32 48 13 2[13 32 2[32 3[32
+49[16 47[{TeXBase1Encoding ReEncodeFont}9 58.1154 /Helvetica
+rf /Fi 201[25 25 25 25 25 25 49[{TeXBase1Encoding ReEncodeFont}6
+49.8132 /Times-Roman rf /Fj 219[42 36[{
+.167 SlantFont TeXBase1Encoding ReEncodeFont}1 83.022
+/Times-Roman rf /Fk 119[45 10[45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 1[45 1[45 45 45 45 45 45 45 45 45 45 45 45 1[45
+45 45 45 45 45 1[45 45 45 45 45 45 45 1[45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 1[45 45 45 45 45 33[{TeXBase1Encoding ReEncodeFont}88
+74.7198 /Courier rf /Fl 133[50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 1[50 50 50 50 50 50 50 50 50 1[50
+10[50 50 50 1[50 50 1[50 50 2[50 2[50 50 50 50 1[50 50
+5[50 4[50 1[50 50 50 1[50 50 50 1[50 50 50 50 50 3[50
+35[{TeXBase1Encoding ReEncodeFont}54 83.022 /Courier
+rf /Fm 201[29 29 29 29 29 29 49[{TeXBase1Encoding ReEncodeFont}6
+58.1154 /Times-Roman rf /Fn 134[50 50 1[50 55 28 50 33
+1[55 55 55 83 22 50 1[22 55 55 1[55 55 50 1[55 8[66 2[72
+1[66 72 78 66 78 72 83 55 4[78 1[66 72 72 66 66 10[55
+55 55 55 55 55 1[28 28 43[50 2[{TeXBase1Encoding ReEncodeFont}45
+99.6264 /Helvetica rf /Fo 107[28 28 25[42 42 60 42 46
+23 42 28 46 46 46 46 69 18 42 1[18 46 46 23 46 46 42
+46 46 8[55 1[55 60 51 55 60 65 55 65 1[69 46 2[23 60
+2[55 60 60 55 55 7[46 46 46 46 46 46 46 46 46 46 23 23
+28 42[42 2[{TeXBase1Encoding ReEncodeFont}58 83.022 /Helvetica
+rf /Fp 134[33 33 48 33 33 18 26 22 1[33 33 33 52 18 33
+1[18 33 33 22 29 33 29 33 29 22 6[48 48 3[41 37 4[48
+59 3[22 3[41 48 44 44 12[33 2[33 33 2[17 22 17 4[22 5[22
+33[{TeXBase1Encoding ReEncodeFont}43 66.4176 /Times-Roman
+rf /Fq 134[37 37 55 37 42 23 32 32 42 42 42 42 60 23
+37 1[23 42 42 23 37 42 37 42 42 7[46 51 69 51 60 46 42
+51 1[51 60 55 69 46 55 1[28 60 60 51 51 60 55 51 51 6[28
+7[42 42 2[21 28 5[28 36[42 2[{TeXBase1Encoding ReEncodeFont}54
+83.022 /Times-Italic rf /Fr 103[28 30[42 42 60 42 46
+28 32 37 46 46 42 46 69 23 46 1[23 46 42 28 37 46 37
+46 42 28 8[83 2[55 46 60 1[51 1[60 78 3[32 4[60 60 55
+4[47 2[28 42 42 42 42 42 42 42 42 42 42 23 21 28 1[47
+3[28 36[46 2[{TeXBase1Encoding ReEncodeFont}55 83.022
+/Times-Bold rf /Fs 167[43 9[43 4[20 73[{TeXBase1Encoding ReEncodeFont}3
+59.7758 /Times-Roman rf /Ft 134[37 37 54 37 37 21 29
+25 2[37 37 58 21 2[21 37 37 25 33 37 33 37 33 8[54 2[54
+46 42 2[42 54 54 66 46 2[25 1[54 23[21 19 25 19 44[{
+TeXBase1Encoding ReEncodeFont}36 74.7198 /Times-Roman
+rf /Fu 139[25 29 33 14[33 42 37 31[54 65[{TeXBase1Encoding ReEncodeFont}
+7 74.7198 /Times-Bold rf /Fv 103[25 29[37 37 37 54 37
+42 21 37 25 42 42 42 42 62 17 37 1[17 42 42 21 42 42
+37 42 42 12[46 50 54 1[50 58 1[62 42 2[21 2[46 50 54
+2[50 76 42 1[44 2[21 42 42 42 42 42 42 42 42 42 42 21
+21 25 2[29 25 25 1[50 35[37 2[{TeXBase1Encoding ReEncodeFont}60
+74.7198 /Helvetica rf /Fw 64[37 29[28 10[42 1[37 37 24[37
+42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42
+42 28 37 42 37 42 37 28 6[60 60 78 60 60 51 46 55 60
+46 60 60 74 51 60 32 28 60 60 46 51 60 55 55 60 1[37
+1[47 1[23 23 42 42 42 42 42 42 42 42 42 42 23 21 28 21
+2[28 28 28 1[69 3[28 29[46 46 2[{TeXBase1Encoding ReEncodeFont}82
+83.022 /Times-Roman rf /Fx 134[60 1[86 60 66 33 60 40
+66 66 66 66 100 27 60 1[27 66 66 33 66 66 60 66 66 9[113
+2[73 80 86 1[80 2[100 3[33 5[86 80 8[66 66 66 66 66 66
+66 66 66 66 2[40 42[60 2[{TeXBase1Encoding ReEncodeFont}44
+119.552 /Helvetica rf /Fy 140[50 6[22 6[55 3[55 14[72
+31[55 55 2[28 46[{TeXBase1Encoding ReEncodeFont}8 99.6264
+/Helvetica-Oblique rf /Fz 138[115 57 103 3[115 115 172
+46 2[46 7[115 11[149 6[149 172 3[57 1[161 25[69 45[{
+TeXBase1Encoding ReEncodeFont}15 206.559 /Helvetica rf
+end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%PaperSize: A4
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 0 83 3901 9 v 700 357 a Fz(GNU)57
+b(Mailman)g(-)g(Installation)h(Man)n(ual)3368 504 y Fy(Release)30
+b(2.1)3153 859 y Fx(Barr)t(y)i(W)-5 b(arsa)n(w)3289 1213
+y Fw(December)19 b(5,)h(2007)3229 1360 y Fv(barr)r(y)g(\(at\))g(list)g
+(dot)g(org)1811 1581 y Fu(Abstract)208 1732 y Ft(This)30
+b(document)j(describes)f(ho)n(w)g(to)f(install)f(GNU)h(Mailman)h(on)f
+(a)g(POSIX-based)g(system)h(such)g(as)h(U)t Fs(N)t(I)t(X)r
+Ft(,)f(MacOSX,)f(or)208 1824 y(GNU/Linux.)45 b(It)26
+b(will)g(co)o(v)o(er)h(basic)g(installation)f(instructions,)j(as)e
+(well)f(as)g(guidelines)i(for)e(inte)o(grating)h(Mailman)g(with)f(your)
+208 1915 y(web)19 b(and)g(mail)g(serv)o(ers.)208 2006
+y(The)f(GNU)h(Mailman)g(website)g(is)g(at)g Fv(http://www)l(.list.org)0
+2287 y Fx(Contents)0 2472 y Fr(1)83 b(Installation)19
+b(Requir)o(ements)2810 b(2)0 2655 y(2)83 b(Set)20 b(up)h(y)n(our)f
+(system)3064 b(3)125 2754 y Fw(2.1)85 b(Add)20 b(the)g(group)f(and)g
+(user)47 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)143 b(3)125 2854
+y(2.2)85 b(Create)21 b(the)f(installation)g(directory)k(.)41
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)143 b(3)0 3037 y Fr(3)83 b(Build)21 b(and)g(install)f(Mailman)
+2804 b(4)125 3136 y Fw(3.1)85 b(Run)21 b Fr(con\002gur)o(e)i
+Fw(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)143
+b(4)125 3236 y(3.2)85 b(Mak)o(e)20 b(and)g(install)k(.)42
+b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)143 b(5)0 3419
+y Fr(4)83 b(Check)20 b(y)n(our)g(installation)2904 b(5)0
+3601 y(5)83 b(Set)20 b(up)h(y)n(our)f(web)g(ser)o(v)o(er)2921
+b(6)0 3784 y(6)83 b(Set)20 b(up)h(y)n(our)f(mail)g(ser)o(v)o(er)2907
+b(7)125 3884 y Fw(6.1)85 b(Using)21 b(the)f(Post\002x)g(mail)h(serv)o
+(er)48 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)143 b(7)315 3983 y(Inte)o(grating)18
+b(Post\002x)j(and)e(Mailman)61 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)143 b(7)315 4083
+y(V)-5 b(irtual)20 b(domains)43 b(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)g(.)143 b(9)315 4182 y(An)21 b(alternati)n(v)o(e)e(approach)29
+b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
+(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(10)125 4282 y(6.2)85
+b(Using)21 b(the)f(Exim)f(mail)i(serv)o(er)37 b(.)k(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(10)315 4382 y(Exim)20 b(con\002guration)55 b(.)41 b(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)102 b(10)315 4481 y(Main)20 b(con\002guration)e
+(settings)37 b(.)k(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(11)315 4581 y(T)m(ransport)19
+b(for)h(Exim)f(3)63 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(11)315 4681 y(Director)20 b(for)f(Exim)h(3)44 b(.)d(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)102 b(11)315 4780 y(Router)20 b(for)g(Exim)f(4)33
+b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(12)315
+4880 y(T)m(ransports)19 b(for)h(Exim)g(4)30 b(.)42 b(.)f(.)g(.)g(.)h(.)
+f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)102 b(12)315 4979 y(Additional)19 b(notes)25
+b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(12)315
+5079 y(Problems)76 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)g(.)102 b(12)315 5179 y(Recei)n(v)o(er)20 b(V)-9 b(eri\002cation)62
+b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
+f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(13)315 5278
+y(SMTP)21 b(Callback)43 b(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(13)315 5378 y(Doing)20 b(VERP)h(with)f(Exim)g(and)f(Mailman)53
+b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(14)p eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 315 83 a Fw(V)-5 b(irtual)20 b(Domains)25
+b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(14)315
+183 y(List)21 b(V)-9 b(eri\002cation)38 b(.)k(.)f(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)102 b(15)315 282 y(Document)19 b(History)k(.)41
+b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
+(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(15)125 382
+y(6.3)85 b(Using)21 b(the)f(Sendmail)f(mail)i(serv)o(er)28
+b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)102 b(15)315 482 y(Sendmail)20 b(\223smrsh\224)g
+(compatibility)65 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
+f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(16)315 581 y(Inte)o(grating)18
+b(Sendmail)i(and)f(Mailman)40 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(16)315 681 y(Performance)18
+b(notes)81 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(17)125
+780 y(6.4)85 b(Using)21 b(the)f(Qmail)g(mail)g(serv)o(er)72
+b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)102 b(17)315 880 y(Information)18
+b(on)i(VERP)30 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(19)315
+980 y(V)-5 b(irtual)20 b(mail)h(serv)o(er)79 b(.)41 b(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
+(.)f(.)g(.)g(.)102 b(19)315 1079 y(More)20 b(information)44
+b(.)d(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(19)0 1262
+y Fr(7)83 b(Re)o(view)19 b(y)n(our)h(site)h(defaults)2807
+b(20)0 1445 y(8)83 b(Cr)o(eate)18 b(a)j(site-wide)f(mailing)g(list)2643
+b(20)0 1627 y(9)83 b(Set)20 b(up)h(cr)o(on)3287 b(20)0
+1810 y(10)41 b(Start)19 b(the)i(Mailman)f(qrunner)2722
+b(21)0 1993 y(11)41 b(Check)20 b(the)h(hostname)f(settings)2684
+b(22)0 2175 y(12)41 b(Cr)o(eate)18 b(the)j(site)g(passw)o(ord)2825
+b(22)0 2358 y(13)41 b(Cr)o(eate)18 b(y)n(our)i(\002rst)h(mailing)f
+(list)2691 b(23)0 2540 y(14)41 b(T)-6 b(r)o(oubleshooting)3112
+b(23)0 2723 y(15)41 b(Platf)n(orm)18 b(and)j(operating)e(system)i
+(notes)2393 b(25)125 2823 y Fw(15.1)43 b(GNU/Linux)19
+b(issues)82 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
+h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(25)125 2922 y(15.2)43 b(BSD)22 b(issues)72 b(.)41 b(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
+(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102 b(25)125 3022 y(15.3)43
+b(MacOSX)21 b(issues)44 b(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)102
+b(26)p 0 3169 3901 9 v 0 3596 a Fx(1)120 b(Installation)35
+b(Requirements)0 3829 y Fq(Please)22 b(note)g(that)g(the)h(information)
+e(on)h(this)h(pa)o(g)o(e)f(may)g(be)g(out)g(of)h(date)o(.)31
+b Fw(Check)22 b(for)g(the)g(latest)i(installation)e(information)e(on)i
+(the)0 3928 y(Mailman)e(wiki.)0 4075 y(GNU)j(Mailman)f(w)o(orks)h(on)f
+(most)h(POSIX-based)f(systems)h(such)f(as)k(U)t Fp(N)t(I)t(X)r
+Fw(,)e(MacOSX,)f(or)f(GNU/Linux.)31 b(It)23 b(does)g(not)f(currently)0
+4175 y(w)o(ork)j(on)f(W)m(indo)n(ws.)40 b(Y)-9 b(ou)25
+b(must)g(ha)n(v)o(e)g(a)g(mail)h(serv)o(er)e(that)i(you)e(can)h(send)g
+(messages)h(to,)g(and)f(a)g(web)h(serv)o(er)e(that)h(supports)g(the)0
+4274 y(CGI/1.1)18 b(API.)g(Apache)g(mak)o(es)g(a)g(\002ne)h(choice)e
+(for)h(web)g(serv)o(er)m(,)g(and)f(mail)i(serv)o(ers)f(such)g(as)h
+(Post\002x,)g(Exim,)e(Sendmail,)h(and)g(qmail)0 4374
+y(should)h(w)o(ork)h(just)g(\002ne.)0 4521 y(T)-7 b(o)21
+b(install)h(Mailman)e(from)g(source,)g(you)g(will)i(need)e(an)h(ANSI)g
+(C)h(compiler)e(to)h(b)n(uild)f(Mailman')-5 b(s)21 b(security)f
+(wrappers.)27 b(The)20 b(GNU)0 4621 y(C)h(compiler)e(gcc)h(w)o(orks)g
+(well.)0 4767 y(Y)-9 b(ou)20 b(must)h(ha)n(v)o(e)f(the)h(Python)f
+(interpreter)f(installed)h(some)n(where)g(on)g(your)g(system.)27
+b(As)21 b(of)g(this)g(writing,)f(Python)g(2.4.4)f(is)j(recom-)0
+4867 y(mended,)c(b)n(ut)j(see)f(the)h(wiki)f(page)f(abo)o(v)o(e)g(for)g
+(the)i(latest)g(information.)p 0 5549 3901 4 v 0 5649
+a Fo(2)2788 b(1)83 b(Installation)25 b(Requirements)p
+eop end
+%%Page: 3 3
+TeXDict begin 3 2 bop 0 88 a Fx(2)120 b(Set)34 b(up)g(y)n(our)f(system)
+0 321 y Fw(Before)17 b(installing)h(Mailman,)f(you)g(need)g(to)h
+(prepare)f(your)f(system)i(by)g(adding)e(certain)h(users)h(and)g
+(groups.)k(Y)-9 b(ou)17 b(will)i(need)e(to)h(ha)n(v)o(e)0
+421 y(root)i(pri)n(vile)o(ges)e(to)j(perform)d(the)i(steps)h(in)f(this)
+h(section.)0 705 y Fn(2.1)100 b(Add)29 b(the)f(g)o(roup)i(and)f(user)0
+908 y Fw(Mailman)f(requires)g(a)h(unique)e(user)i(and)f(group)f(name)h
+(which)g(will)i(o)n(wn)e(its)i(\002les,)h(and)d(under)g(which)g(its)i
+(processes)e(will)i(run.)0 1008 y(Mailman')-5 b(s)21
+b(basic)g(security)f(is)i(based)f(on)f(group)g(o)n(wnership)f
+(permissions,)h(so)i(it')-5 b(s)22 b(important)d(to)i(get)g(this)h
+(step)f(right)3492 978 y Fm(1)3524 1008 y Fw(.)28 b(T)-7
+b(ypically)i(,)0 1108 y(you)29 b(will)h(add)f(a)h(ne)n(w)f(user)g(and)g
+(a)h(ne)n(w)f(group,)h(both)f(called)g Fl(mailman)p Fw(.)52
+b(The)29 b Fl(mailman)g Fw(user)g(must)h(be)f(a)h(member)e(of)i(the)0
+1207 y Fl(mailman)25 b Fw(group.)40 b(Mailman)25 b(will)i(be)f
+(installed)g(under)e(the)i Fl(mailman)f Fw(user)h(and)f(group,)g(with)h
+(the)g(set-group-id)d(\(setgid\))i(bit)0 1307 y(enabled.)0
+1454 y(If)i(these)h(names)f(are)g(already)g(in)g(use,)j(you)c(can)h
+(choose)g(dif)n(ferent)f(user)h(and)g(group)f(names,)i(as)g(long)f(as)h
+(you)f(remember)e(these)0 1553 y(when)e(you)g(run)g Fr(con\002gur)o(e)p
+Fw(.)34 b(If)23 b(you)g(choose)g(a)h(dif)n(ferent)e(unique)g(user)i
+(name,)f(you)g(will)h(ha)n(v)o(e)f(to)h(specify)f(this)h(with)g
+Fr(con\002gur)o(e)p Fw(')-5 b(s)0 1653 y Fr(--with-user)o(name)26
+b Fw(option,)i(and)e(if)i(you)e(choose)h(a)g(dif)n(ferent)f(group)g
+(name,)i(you)e(will)i(ha)n(v)o(e)f(to)g(specify)g(this)h(with)f
+Fr(con\002gur)o(e)p Fw(')-5 b(s)0 1753 y Fr(--with-gr)o(oupname)18
+b Fw(option.)0 1899 y(On)i(Linux)f(systems,)h(you)g(can)f(use)i(the)f
+(follo)n(wing)e(commands)h(to)h(create)g(these)g(accounts.)k(Check)19
+b(your)g(system')-5 b(s)21 b(manual)e(pages)0 1999 y(for)h(details:)416
+2237 y Fk(\045)44 b(groupadd)g(mailman)416 2329 y(\045)g(useradd)g
+(-c''GNU)g(Mailman'')f(-s)h(/no/shell)g(-d)g(/no/home)g(-g)g(mailman)g
+(mailman)0 2753 y Fn(2.2)100 b(Create)29 b(the)f(installation)h
+(director)s(y)0 2956 y Fw(T)-7 b(ypically)i(,)18 b(Mailman)i(is)h
+(installed)e(into)h(a)g(single)g(directory)-5 b(,)18
+b(which)h(includes)g(both)g(the)h(Mailman)f(source)h(code)f(and)g(the)h
+(run-time)0 3056 y(list)30 b(and)e(archi)n(v)o(e)f(data.)51
+b(It)29 b(is)h(possible)e(to)h(split)g(the)g(static)h(program)c
+(\002les)k(from)e(the)h(v)n(ariable)e(data)i(\002les)h(and)e(install)h
+(them)f(in)0 3156 y(separate)20 b(directories.)k(This)c(section)g(will)
+h(describe)e(the)h(a)n(v)n(ailable)g(options.)0 3302
+y(The)15 b(def)o(ault)g(is)h(to)g(install)g(all)g(of)f(Mailman)g(to)g
+(`)p Fv(/usr/local/mailman)p Fw(')2004 3272 y Fm(2)2033
+3302 y Fw(.)23 b(Y)-9 b(ou)15 b(can)g(change)g(this)h(base)f
+(installation)g(directory)f(\(referred)0 3402 y(to)20
+b(here)g(as)h Fj($)p Fq(pr)m(e\002x)p Fw(\))e(by)g(specifying)g(the)h
+(directory)f(with)h(the)g Fr(--pr)o(e\002x)f(con\002gur)o(e)g
+Fw(option.)24 b(If)c(you')l(re)e(upgrading)g(from)h(a)h(pre)n(vious)0
+3502 y(v)o(ersion)f(of)h(Mailman,)f(you)g(may)h(w)o(ant)g(to)h(use)f
+(the)g Fr(--pr)o(e\002x)g Fw(option)f(unless)h(you)f(mo)o(v)o(e)g(your)
+g(mailing)g(lists.)p 0 3592 3901 17 v 0 3982 17 391 v
+75 3707 a Fr(W)-5 b(ar)o(ning:)88 b Fw(Y)-9 b(ou)29 b(cannot)g(install)
+h(Mailman)f(on)g(a)h(\002lesystem)g(that)g(is)h(mounted)d(with)i(the)g
+Fl(nosuid)f Fw(option.)52 b(This)30 b(will)75 3807 y(break)17
+b(Mailman,)h(which)g(relies)h(on)f(setgid)h(programs)d(for)i(its)i
+(security)-5 b(.)23 b(If)18 b(this)h(describes)f(your)g(en)m
+(vironment,)d(simply)j(install)75 3906 y(Mailman)h(in)i(a)f(location)f
+(that)i(allo)n(ws)f(setgid)g(programs.)p 3883 3982 V
+0 3999 3901 17 v 0 4154 a(Mak)o(e)32 b(sure)g(the)g(installation)g
+(directory)f(is)i(set)g(to)f(group)f Fl(mailman)g Fw(\(or)h(whate)n(v)o
+(er)f(you')l(re)f(going)h(to)h(specify)g(with)g Fr(--with-)0
+4254 y(gr)o(oupname)p Fw(\))d(and)i(has)g(the)g(setgid)g(bit)g(set)1331
+4224 y Fm(3)1364 4254 y Fw(.)58 b(Y)-9 b(ou)30 b(probably)f(also)i(w)o
+(ant)g(to)g(guarantee)e(that)i(this)g(directory)f(is)h(readable)f(and)0
+4353 y(e)o(x)o(ecutable)18 b(by)i(e)n(v)o(eryone.)i(F)o(or)e(e)o
+(xample,)f(these)h(shell)h(commands)d(will)j(accomplish)e(this:)416
+4592 y Fk(\045)44 b(cd)h($prefix)416 4683 y(\045)f(chgrp)g(mailman)g(.)
+416 4774 y(\045)g(chmod)g(a+rx,g+ws)g(.)0 5061 y Fw(Y)-9
+b(ou)20 b(are)g(no)n(w)f(ready)h(to)g(con\002gure)e(and)i(install)h
+(the)f(Mailman)f(softw)o(are.)p 0 5132 1560 4 v 90 5187
+a Fi(1)120 5211 y Fp(Y)-7 b(ou)16 b(will)i(be)f(able)i(to)e(check)h
+(and)g(repair)g(your)g(permissions)g(after)g(installation)j(is)c
+(complete.)90 5269 y Fi(2)120 5292 y Fp(This)f(is)h(the)h(def)o(ault)h
+(for)e(Mailman)i(2.1.)h(Earlier)e(v)o(ersions)g(of)f(Mailman)i
+(installed)g(e)n(v)o(erything)h(under)e(`)p Fh(/home/mailman)p
+Fp(')i(by)d(def)o(ault.)90 5350 y Fi(3)120 5373 y Fp(BSD)f(users)h
+(should)h(see)g(the)f(15.2)g(section)i(for)e(additional)j(information.)
+p 0 5549 3901 4 v 3854 5649 a Fo(3)p eop end
+%%Page: 4 4
+TeXDict begin 4 3 bop 0 86 a Fx(3)120 b(Build)33 b(and)i(install)d
+(Mailman)0 336 y Fn(3.1)100 b(Run)29 b Fg(con\002gur)n(e)0
+539 y Fw(Before)20 b(you)f(can)h(install)h(Mailman,)e(you)g(must)h(run)
+g Fr(con\002gur)o(e)f Fw(to)i(set)g(v)n(arious)e(installation)g
+(options)h(your)f(system)h(might)g(need.)0 686 y Fr(Note:)79
+b Fw(T)-7 b(ak)o(e)27 b(special)h(note)f(of)g(the)g Fr(--with-mail-gid)
+f Fw(and)h Fr(--with-cgi-gid)e Fw(options)i(belo)n(w)-5
+b(.)45 b(Y)-9 b(ou)27 b(will)h(probably)d(need)i(to)g(use)0
+785 y(these.)0 932 y(Y)-9 b(ou)18 b(should)f Fr(not)h
+Fw(be)g(root)g(while)g(performing)d(the)j(steps)h(in)f(this)h(section.)
+24 b(Do)18 b(them)g(under)f(your)g(o)n(wn)h(login,)f(or)h(whate)n(v)o
+(er)f(account)0 1032 y(you)23 b(typically)g(use)g(to)h(install)h(softw)
+o(are.)34 b(Y)-9 b(ou)24 b(do)f(not)g(need)g(to)h(do)f(these)h(steps)g
+(as)h(user)e Fl(mailman)p Fw(,)h(b)n(ut)g(you)e(could.)35
+b(Ho)n(we)n(v)o(er)m(,)0 1131 y(mak)o(e)28 b(sure)g(that)g(the)g(login)
+f(used)h(is)h(a)f(member)f(of)h(the)g Fl(mailman)f Fw(group)f(as)j
+(that)f(that)g(group)f(has)h(write)g(permissions)f(to)i(the)0
+1231 y Fj($)p Fq(pr)m(e\002x)c Fw(directory)e(made)i(in)h(the)f(pre)n
+(vious)f(step.)41 b(Y)-9 b(ou)24 b(must)i(also)g(ha)n(v)o(e)e
+(permission)h(to)g(create)g(a)h(setgid)f(\002le)h(in)g(the)f(\002le)h
+(system)0 1331 y(where)20 b(it)g(resides)h(\(NFS)f(and)g(other)f
+(mounts)h(can)g(be)g(con\002gured)e(to)i(inhibit)g(setgid)g
+(settings\).)0 1477 y(If)i(you')l(v)o(e)e(installed)j(other)e(GNU)i
+(softw)o(are,)f(you)f(should)h(be)g(f)o(amiliar)g(with)h(the)f
+Fr(con\002gur)o(e)f Fw(script.)32 b(Usually)22 b(you)f(can)i(just)f
+Fr(cd)h Fw(to)0 1577 y(the)d(directory)f(you)g(unpack)o(ed)f(the)i
+(Mailman)g(source)f(tarball)h(into,)g(and)f(run)h Fr(con\002gur)o(e)f
+Fw(with)i(no)e(ar)o(guments:)326 1815 y Fk(\045)45 b(cd)f
+(mailman-<version>)326 1907 y(\045)h(./configure)326
+1998 y(\045)g(make)f(install)0 2284 y Fw(The)20 b(follo)n(wing)e
+(options)i(allo)n(w)g(you)f(to)h(customize)g(your)f(Mailman)g
+(installation.)0 2514 y Fr(--pr)o(e\002x=)p Ff(dir)40
+b Fw(Standard)27 b(GNU)i(con\002gure)d(option)h(which)h(changes)f(the)i
+(base)f(directory)f(that)h(Mailman)g(is)h(installed)f(into.)49
+b(By)208 2614 y(def)o(ault)19 b Fj($)p Fq(pr)m(e\002x)h
+Fw(is)h(`)p Fv(/usr/local/mailman)p Fw('.)f(This)h(directory)d(must)i
+(already)g(e)o(xist,)g(and)f(be)h(set)h(up)f(as)h(described)e(in)h
+(2.2.)0 2780 y Fr(--exec-pr)o(e\002x=)p Ff(dir)39 b Fw(Standard)22
+b(GNU)h(con\002gure)f(option)g(which)h(lets)h(you)e(specify)h(a)h(dif)n
+(ferent)d(installation)i(directory)f(for)g(archi-)208
+2880 y(tecture)d(dependent)f(binaries.)0 3046 y Fr(--with-v)o(ar)m(-pr)
+o(e\002x=)p Ff(dir)38 b Fw(Store)26 b(mutable)f(data)h(under)f
+Fq(dir)k Fw(instead)d(of)g(under)e(the)j Fj($)p Fq(pr)m(e\002x)e
+Fw(or)h Fj($)p Fq(e)n(xec)p 3023 3046 25 4 v 29 w(pr)m(e\002x)p
+Fw(.)43 b(Examples)25 b(of)h(such)208 3145 y(data)20
+b(include)f(the)h(list)h(archi)n(v)o(es)e(and)h(list)h(settings)g
+(database.)0 3311 y Fr(--with-python=`)p Fe(/path/to/p)o(ython)o
+Fr(')36 b Fw(Specify)29 b(an)g(alternati)n(v)o(e)g(Python)g
+(interpreter)f(to)i(use)g(for)f(the)h(wrapper)f(programs.)52
+b(The)208 3411 y(def)o(ault)19 b(is)i(to)g(use)f(the)g(interpreter)f
+(found)f(\002rst)j(on)f(your)f(shell')-5 b(s)21 b Fj($)p
+Fq(P)-7 b(A)m(TH)t Fw(.)0 3577 y Fr(--with-user)o(name=)p
+Ff(username-or-uid)40 b Fw(Specify)19 b(a)g(dif)n(ferent)f(username)g
+(than)h Fl(mailman)p Fw(.)24 b(The)19 b(v)n(alue)f(of)h(this)h(option)e
+(can)h(be)h(an)208 3677 y(inte)o(ger)f(user)h(id)g(or)g(a)h(user)f
+(name.)k(Be)d(sure)f(your)f Fj($)p Fq(pr)m(e\002x)g Fw(directory)g(is)i
+(o)n(wned)e(by)h(this)h(user)-5 b(.)0 3843 y Fr(--with-gr)o(oupname=)p
+Ff(groupname-or-gid)37 b Fw(Specify)21 b(a)h(dif)n(ferent)e(groupname)f
+(than)i Fl(mailman)p Fw(.)30 b(The)21 b(v)n(alue)g(of)h(this)g(option)f
+(can)208 3942 y(be)f(an)g(inte)o(ger)f(group)f(id)j(or)f(a)g(group)f
+(name.)24 b(Be)d(sure)f(your)f Fj($)p Fq(pr)m(e\002x)g
+Fw(directory)g(is)i(group-o)n(wned)16 b(by)k(this)h(group.)0
+4108 y Fr(--with-mail-gid=)p Ff(group-or-groups)37 b
+Fw(Specify)25 b(an)g(alternati)n(v)o(e)g(group)f(for)h(running)e
+(scripts)j(via)g(the)f(mail)h(wrapper)-5 b(.)40 b Fq(gr)l(oup-or)n(-)
+208 4208 y(gr)l(oups)23 b Fw(can)h(be)g(a)h(list)g(of)f(one)f(or)h
+(more)g(inte)o(ger)f(group)f(ids)j(or)f(symbolic)f(group)f(names.)37
+b(The)23 b(\002rst)i(v)n(alue)f(in)g(the)g(list)h(that)208
+4308 y(resolv)o(es)19 b(to)h(an)h(e)o(xisting)e(group)f(is)k(used.)i
+(By)d(def)o(ault,)e(the)h(v)n(alue)g(is)h(the)f(list)h
+Fl(mailman)p Fw(,)f Fl(other)p Fw(,)f Fl(mail)p Fw(,)h(and)g
+Fl(daemon)p Fw(.)208 4440 y Fr(Note:)85 b Fw(This)29
+b(is)h(highly)e(system)h(dependent)d(and)j(you)f(must)h(get)g(this)g
+(right,)i(because)d(the)h(group)e(id)i(is)h(compiled)e(into)208
+4540 y(the)23 b(mail)h(wrapper)e(program)f(for)i(added)g(security)-5
+b(.)34 b(On)23 b(systems)h(using)f Fr(sendmail)p Fw(,)i(the)f(`)p
+Fv(sendmail.cf)p Fw(')d(con\002guration)g(\002le)208
+4640 y(designates)f(the)g(group)f(id)i(of)f Fr(sendmail)h
+Fw(processes)g(using)f(the)g Fq(DefaultUser)j Fw(option.)i(\(If)20
+b(commented)e(out,)i(it)i(still)g(may)e(be)208 4739 y(indicating)e(the)
+j(def)o(ault...\))208 4872 y(Check)e(your)g(mail)i(serv)o(er')-5
+b(s)19 b(documentation)f(and)h(con\002guration)f(\002les)j(to)f(\002nd)
+g(the)g(right)g(v)n(alue)g(for)f(this)i(switch.)0 5038
+y Fr(--with-cgi-gid=)p Ff(group-or-groups)37 b Fw(Specify)29
+b(an)h(alternati)n(v)o(e)f(group)g(for)g(running)f(scripts)j(via)f(the)
+g(CGI)h(wrapper)-5 b(.)54 b Fq(gr)l(oup-or)n(-)208 5138
+y(gr)l(oups)23 b Fw(can)h(be)g(a)h(list)g(of)f(one)f(or)h(more)g(inte)o
+(ger)f(group)f(ids)j(or)f(symbolic)f(group)f(names.)37
+b(The)23 b(\002rst)i(v)n(alue)f(in)g(the)g(list)h(that)208
+5237 y(resolv)o(es)19 b(to)h(an)h(e)o(xisting)e(group)f(is)k(used.)i
+(By)d(def)o(ault,)e(the)h(v)n(alue)g(is)h(the)f(the)g(list)i
+Fl(www)p Fw(,)e Fl(www-data)p Fw(,)f(and)g Fl(nobody)p
+Fw(.)p 0 5549 3901 4 v 0 5649 a Fo(4)2807 b(3)83 b(Build)25
+b(and)e(install)h(Mailman)p eop end
+%%Page: 5 5
+TeXDict begin 5 4 bop 208 83 a Fr(Note:)47 b Fw(The)17
+b(proper)f(v)n(alue)h(for)g(this)i(is)f(dependent)e(on)h(your)f(web)i
+(serv)o(er)f(con\002guration.)k(Y)-9 b(ou)17 b(must)h(get)g(this)g
+(right,)f(because)208 183 y(the)h(group)f(id)i(is)h(compiled)d(into)h
+(the)h(CGI)g(wrapper)e(program)g(for)h(added)g(security)-5
+b(,)17 b(and)h(no)h(Mailman)f(CGI)h(scripts)g(will)g(run)208
+282 y(if)h(this)h(is)g(incorrect.)208 415 y(If)f(you')l(re)e(using)i
+(Apache,)f(check)g(the)h(v)n(alues)g(for)g(the)g Fq(Gr)l(oup)g
+Fw(option)e(in)j(your)e(`)p Fv(httpd.conf)p Fw(')e(\002le.)0
+581 y Fr(--with-cgi-ext=)p Ff(extension)38 b Fw(Specify)24
+b(an)g(e)o(xtension)e(for)i(cgi-bin)f(programs.)35 b(The)24
+b(CGI)h(wrappers)e(placed)g(in)h(`)p Fj($)p Fq(pr)m(e\002x)p
+Fo(/cgi-bin)p Fw(')208 681 y(will)c(ha)n(v)o(e)g(this)h(e)o(xtension)e
+(\(some)g(web)h(serv)o(ers)g(require)f(an)h(e)o(xtension\).)j
+Fq(e)n(xtension)d Fw(must)g(include)f(the)h(leading)f(dot.)0
+847 y Fr(--with-mailhost=)p Ff(hostname)39 b Fw(Specify)27
+b(the)h(fully)f(quali\002ed)g(host)g(name)g(part)h(for)f(outgoing)e
+(email.)47 b(After)28 b(the)f(installation)h(is)208 946
+y(complete,)18 b(this)j(v)n(alue)f(can)g(be)g(o)o(v)o(erriden)d(in)k(`)
+p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p 2308 946 25
+4 v 30 w(cfg.p)n(y)p Fw('.)0 1112 y Fr(--with-urlhost=)p
+Ff(hostname)39 b Fw(Specify)25 b(the)g(fully)f(quali\002ed)h(host)g
+(name)f(part)h(of)g(urls.)39 b(After)25 b(the)g(installation)g(is)h
+(complete,)f(this)208 1212 y(v)n(alue)19 b(can)h(be)g(o)o(v)o(erriden)e
+(in)i(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p 1821
+1212 V 30 w(cfg.p)n(y)p Fw('.)0 1378 y Fr(--with-gcc=no)40
+b Fw(Don')o(t)18 b(use)j(gcc,)f(e)n(v)o(en)f(if)h(it)h(is)g(found.)j
+(In)19 b(this)i(case,)g Fr(cc)f Fw(must)g(be)g(found)f(on)h(your)f
+Fj($)p Fq(P)-7 b(A)m(TH)t Fw(.)0 1663 y Fn(3.2)100 b(Mak)n(e)28
+b(and)h(install)0 1866 y Fw(Once)20 b(you')l(v)o(e)e(run)h
+Fr(con\002gur)o(e)p Fw(,)g(you)h(can)g(simply)f(run)h
+Fr(mak)o(e)p Fw(,)g(then)g Fr(mak)o(e)h(install)f Fw(to)h(b)n(uild)e
+(and)h(install)h(Mailman.)0 2193 y Fx(4)120 b(Chec)n(k)34
+b(y)n(our)f(installation)0 2426 y Fw(After)e(you')l(v)o(e)d(run)i
+Fr(mak)o(e)i(install)p Fw(,)h(you)d(should)g(check)g(that)h(your)f
+(installation)g(has)i(all)f(the)g(correct)f(permissions)g(and)g(group)0
+2526 y(o)n(wnerships)24 b(by)h(running)e(the)i Fr(check)p
+1130 2526 V 30 w(perms)h Fw(script.)40 b(First)26 b(change)e(to)i(the)f
+(installation)g(\(i.e.)40 b Fj($)p Fq(pr)m(e\002x)p Fw(\))24
+b(directory)-5 b(,)24 b(then)h(run)g(the)0 2625 y Fr(bin/check)p
+346 2625 V 30 w(perms)30 b Fw(program.)47 b(Don')o(t)28
+b(try)g(to)h(run)f(bin/check)p 1881 2625 V 27 w(perms)g(from)g(the)g
+(source)g(directory;)j(it)e(will)h(only)d(run)h(from)g(the)0
+2725 y(installation)20 b(directory)-5 b(.)0 2872 y(If)20
+b(this)h(reports)e(no)h(problems,)f(then)h(it')-5 b(s)21
+b(v)o(ery)f(lik)o(ely)g(\241wink\277)f(that)i(your)e(installation)h(is)
+h(set)g(up)f(correctly)-5 b(.)24 b(If)c(it)h(reports)e(problems,)0
+2972 y(then)j(you)g(can)h(either)f(\002x)h(them)g(manually)-5
+b(,)21 b(re-run)g(the)i(installation,)g(or)f(use)h Fr(bin/check)p
+2651 2972 V 30 w(perms)h Fw(to)f(\002x)g(the)g(problems)e(\(probably)0
+3071 y(the)f(easiest)h(solution\):)125 3301 y Fd(\017)41
+b Fw(Y)-9 b(ou)19 b(need)h(to)g(become)f(the)h(user)g(that)h(did)e(the)
+i(installation,)e(and)h(that)g(o)n(wns)g(all)h(the)f(\002les)h(in)f
+Fj($)p Fq(pr)m(e\002x)p Fw(,)g(or)g(root.)125 3467 y
+Fd(\017)41 b Fw(Run)20 b Fr(bin/check)p 713 3467 V 30
+w(perms)h(-f)125 3633 y Fd(\017)41 b Fw(Repeat)20 b(pre)n(vious)e(step)
+j(until)f(no)g(more)f(errors)g(are)i(reported!)p 0 3806
+3901 17 v 0 5109 17 1303 v 75 3922 a Fr(W)-5 b(ar)o(ning:)83
+b Fw(If)28 b(you')l(re)f(running)f(Mailman)i(on)h(a)g(shared)e
+(multiuser)h(system,)j(and)d(you)f(ha)n(v)o(e)h(mailing)g(lists)i(with)
+f(pri)n(v)n(ate)75 4021 y(archi)n(v)o(es,)23 b(you)g(may)h(w)o(ant)g
+(to)g(hide)g(the)g(pri)n(v)n(ate)f(archi)n(v)o(e)f(directory)h(from)g
+(other)g(users)h(on)f(your)g(system.)37 b(In)23 b(that)i(case,)g(you)75
+4121 y(should)h(drop)g(the)i(other)e(e)o(x)o(ecute)g(permission)g
+(\(o-x\))g(from)h(the)g(`)p Fv(archiv)n(es/pr)q(iv)n(ate)p
+Fw(')e(directory)-5 b(.)44 b(Ho)n(we)n(v)o(er)m(,)27
+b(the)g(web)h(serv)o(er)75 4221 y(process)17 b(must)h(be)g(able)g(to)g
+(follo)n(w)f(the)h(symbolic)f(link)g(in)h(public)f(directory)-5
+b(,)16 b(otherwise)h(your)g(public)g(Pipermail)g(archi)n(v)o(es)g(will)
+75 4320 y(not)j(w)o(ork.)k(T)-7 b(o)20 b(set)h(this)g(up,)e(become)g
+(root)h(and)g(run)f(the)h(follo)n(wing)f(commands:)311
+4511 y Fk(#)45 b(cd)f(<prefix>/archives)311 4602 y(#)h(chown)f
+(<web-server-user>)e(private)311 4694 y(#)j(chmod)f(o-x)g(private)75
+4933 y Fw(Y)-9 b(ou)21 b(need)h(to)g(kno)n(w)f(what)h(user)g(your)f
+(web)h(serv)o(er)g(runs)g(as.)31 b(It)23 b(may)e(be)h
+Fl(www)p Fw(,)h Fl(apache)p Fw(,)f Fl(httpd)g Fw(or)g
+Fl(nobody)p Fw(,)f(depending)75 5033 y(on)e(your)g(serv)o(er')-5
+b(s)20 b(con\002guration.)p 3883 5109 V 0 5125 3901 17
+v 0 5549 3901 4 v 0 5649 a Fo(3.2)83 b(Mak)n(e)24 b(and)f(install)3059
+b(5)p eop end
+%%Page: 6 6
+TeXDict begin 6 5 bop 0 88 a Fx(5)120 b(Set)34 b(up)g(y)n(our)f(w)o(eb)
+i(ser)t(v)m(er)0 321 y Fw(Congratulations!)26 b(Y)-9
+b(ou')l(v)o(e)19 b(installed)i(the)h(Mailman)e(softw)o(are.)28
+b(T)-7 b(o)21 b(get)g(e)n(v)o(erything)e(running)g(you)h(need)h(to)g
+(hook)f(Mailman)h(up)f(to)0 421 y(both)f(your)g(web)h(serv)o(er)g(and)f
+(your)g(mail)i(system.)0 567 y(If)15 b(you)g(plan)g(on)g(running)e
+(your)i(mail)g(and)g(web)h(serv)o(ers)f(on)g(dif)n(ferent)f(machines,)h
+(sharing)f(Mailman)h(installations)h(via)f(NFS,)h(be)g(sure)0
+667 y(that)g(the)f(clocks)h(on)f(those)h(tw)o(o)g(machines)e(are)i
+(synchronized)d(closely)-5 b(.)23 b(Y)-9 b(ou)15 b(might)g(tak)o(e)g(a)
+i(look)d(at)j(the)e(\002le)i(`)p Fv(Mailman/Loc)o(kFile)o(.p)n(y)p
+Fw(';)0 767 y(the)j(constant)g Fq(CLOCK)p 696 767 25
+4 v 31 w(SLOP)g Fw(helps)g(the)g(locking)f(mechanism)g(compensate)g
+(for)g(clock)h(sk)o(e)n(w)g(in)g(this)h(type)f(of)g(en)m(vironment.)0
+914 y(This)29 b(section)f(describes)g(some)g(of)g(the)h(things)f(you)f
+(need)h(to)h(do)f(to)h(connect)e(Mailman')-5 b(s)28 b(web)g(interf)o
+(ace)g(to)h(your)e(web)h(serv)o(er)-5 b(.)0 1013 y(The)28
+b(instructions)f(here)h(are)g(some)n(what)f(geared)g(to)n(w)o(ard)h
+(the)g(Apache)g(web)g(serv)o(er)m(,)g(so)h(you)e(should)h(consult)f
+(your)g(web)h(serv)o(er)0 1113 y(documentation)17 b(for)j(details.)0
+1260 y(Y)-9 b(ou)22 b(must)g(con\002gure)f(your)g(web)i(serv)o(er)e(to)
+i(enable)f(CGI)h(script)f(permission)g(in)g(the)h(`)p
+Fj($)p Fq(pr)m(e\002x)p Fo(/cgi-bin)p Fw(')e(to)i(run)f(CGI)h(scripts.)
+32 b(The)0 1359 y(line)23 b(you)f(should)g(add)g(might)h(look)f
+(something)f(lik)o(e)j(the)f(follo)n(wing,)e(with)i(the)g(real)g
+(absolute)g(directory)e(substituted)h(for)h Fj($)p Fq(pr)m(e\002x)p
+Fw(,)0 1459 y(of)d(course:)416 1697 y Fk(Exec)358 b(/mailman/)1359
+1710 y(*)1671 1697 y($prefix/cgi-bin/)2391 1710 y(*)0
+1965 y Fw(or:)416 2203 y Fk(ScriptAlias)43 b(/mailman/)312
+b($prefix/cgi-bin/)p 0 2449 3901 17 v 0 2740 17 292 v
+75 2565 a Fr(W)-5 b(ar)o(ning:)65 b Fw(Y)-9 b(ou)24 b(w)o(ant)g(to)g
+(be)g(v)o(ery)f(sure)h(that)g(the)g(user)g(id)h(under)d(which)i(your)f
+(CGI)h(scripts)h(run)e(is)i Fr(not)f Fw(in)g(the)h Fl(mailman)75
+2664 y Fw(group)18 b(you)h(created)h(abo)o(v)o(e,)e(otherwise)i(pri)n
+(v)n(ate)f(archi)n(v)o(es)g(will)i(be)f(accessible)g(to)h(an)o(yone.)p
+3883 2740 V 0 2757 3901 17 v 0 2912 a(Cop)o(y)k(the)h(Mailman,)g
+(Python,)f(and)g(GNU)h(logos)f(to)g(a)h(location)f(accessible)g(to)h
+(your)e(web)i(serv)o(er)-5 b(.)40 b(E.g.)g(with)26 b(Apache,)g(you')l
+(v)o(e)0 3012 y(usually)20 b(got)f(an)i(`)p Fv(icons)p
+Fw(')e(directory)f(that)j(you)e(can)h(drop)f(the)h(images)g(into.)25
+b(F)o(or)20 b(e)o(xample:)416 3250 y Fk(\045)44 b(cp)h($prefix/icons/)
+1270 3263 y(*)1315 3250 y(.{jpg,png})40 b(/path/to/apache/icons)0
+3541 y Fw(Y)-9 b(ou)25 b(then)g(w)o(ant)g(to)h(add)f(a)g(line)h(to)f
+(your)g(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p
+1992 3541 25 4 v 30 w(cfg.p)n(y)p Fw(')g(\002le)h(which)e(sets)j(the)e
+(base)h(URL)g(for)f(the)g(logos.)40 b(F)o(or)0 3641 y(e)o(xample:)326
+3879 y Fk(IMAGE_LOGOS)j(=)i('/images/')0 4166 y Fw(The)20
+b(def)o(ault)f(v)n(alue)h(for)f Fq(IMA)m(GE)p 977 4166
+V 30 w(LOGOS)h Fw(is)i(`)p Fv(/icons/)p Fw('.)h(Read)e(the)f(comment)f
+(in)h(`)p Fv(Def)n(aults)o(.p)n(y)-7 b(.in)p Fw(')16
+b(for)j(details.)0 4312 y(Con\002gure)g(your)g(web)h(serv)o(er)f(to)i
+(point)e(to)h(the)h(Pipermail)e(public)g(mailing)h(list)h(archi)n(v)o
+(es.)j(F)o(or)c(e)o(xample,)e(in)j(Apache:)416 4551 y
+Fk(Alias)133 b(/pipermail/)223 b($varprefix/archives/public/)0
+4841 y Fw(where)28 b Fj($)p Fq(varpr)m(e\002x)g Fw(is)i(usually)e
+Fj($)p Fq(pr)m(e\002x)g Fw(unless)h(you')l(v)o(e)e(used)i(the)g
+Fr(--with-v)o(ar)m(-pr)o(e\002x)d Fw(option)h(to)i Fr(con\002gur)o(e)p
+Fw(.)51 b(Also)29 b(be)g(sure)f(to)0 4941 y(con\002gure)e(your)g(web)i
+(serv)o(er)e(to)i(follo)n(w)f(symbolic)g(links)h(in)f(this)i(directory)
+-5 b(,)27 b(otherwise)g(public)f(Pipermail)i(archi)n(v)o(es)e(w)o(on')o
+(t)h(be)0 5040 y(accessible.)e(F)o(or)20 b(Apache)f(users,)h(consult)g
+(the)g Fq(F)-9 b(ollowSymLinks)20 b Fw(option.)0 5187
+y(If)c(you')l(re)e(going)h(to)h(be)g(supporting)e(internationalized)f
+(public)i(archi)n(v)o(es,)h(you)f(will)i(probably)c(w)o(ant)k(to)f
+(turn)f(of)n(f)g(an)o(y)h(def)o(ault)f(charset)0 5287
+y(directi)n(v)o(e)25 b(for)g(the)g(Pipermail)h(directory)-5
+b(,)24 b(otherwise)i(your)e(multilingual)g(archi)n(v)o(e)h(pages)g(w)o
+(on')o(t)g(sho)n(w)g(up)h(correctly)-5 b(.)40 b(Here')-5
+b(s)26 b(an)0 5386 y(e)o(xample)19 b(for)g(Apache,)g(based)h(on)g(the)g
+(standard)f(installation)h(directories:)p 0 5549 3901
+4 v 0 5649 a Fo(6)2873 b(5)83 b(Set)24 b(up)g(y)n(our)e(w)o(eb)i(ser)r
+(v)n(er)p eop end
+%%Page: 7 7
+TeXDict begin 7 6 bop 416 174 a Fk(<Directory)43 b
+("/usr/local/mailman/archives/public/")o(>)595 266 y(AddDefaultCharset)
+f(Off)416 357 y(</Directory>)0 644 y Fw(No)n(w)20 b(restart)g(your)f
+(web)h(serv)o(er)-5 b(.)0 971 y Fx(6)120 b(Set)34 b(up)g(y)n(our)f
+(mail)g(ser)t(v)m(er)0 1204 y Fw(This)18 b(section)f(describes)g(some)g
+(of)g(the)h(things)f(you)f(need)h(to)h(do)f(to)g(connect)g(Mailman')-5
+b(s)17 b(email)g(interf)o(ace)g(to)g(your)g(mail)g(serv)o(er)-5
+b(.)24 b(The)0 1303 y(instructions)f(here)g(are)h(dif)n(ferent)e(for)h
+(each)h(mail)g(serv)o(er;)h(if)f(your)e(mail)j(serv)o(er)e(is)h(not)g
+(described)e(in)i(the)g(follo)n(wing)e(subsections,)0
+1403 y(try)i(to)g(generalize)f(from)g(the)h(e)o(xisting)f
+(documentation,)f(and)h(consider)g(contrib)n(uting)f(documentation)f
+(updates)i(to)h(the)g(Mailman)0 1503 y(de)n(v)o(elopers.)0
+1788 y Fn(6.1)100 b(Using)28 b(the)h(P)-5 b(ost\002x)27
+b(mail)i(ser)s(v)n(er)0 1990 y Fw(Mailman)22 b(should)f(w)o(ork)g
+(pretty)h(much)f(out)h(of)g(the)g(box)f(with)i(a)f(standard)f
+(Post\002x)i(installation.)30 b(It)23 b(has)f(been)g(tested)g(with)h(v)
+n(arious)0 2090 y(Post\002x)d(v)o(ersions)g(up)f(to)i(and)e(including)g
+(Post\002x)h(2.1.5.)0 2237 y(In)e(order)g(to)g(support)g(Mailman')-5
+b(s)18 b(optional)f(VERP)i(deli)n(v)o(ery)-5 b(,)17 b(you)h(will)h(w)o
+(ant)g(to)f(disable)h Fl(luser_relay)e Fw(\(the)h(def)o(ault\))f(and)h
+(you)0 2337 y(will)i(w)o(ant)e(to)h(set)h Fl(recipient_delimiter)c
+Fw(for)i(e)o(xtended)f(address)h(semantics.)25 b(Y)-9
+b(ou)18 b(should)g(comment)f(out)h(an)o(y)g Fl(luser_-)0
+2436 y(relay)i Fw(v)n(alue)f(in)i(your)e(`)p Fv(main.cf)p
+Fw(')f(and)i(just)h(go)f(with)g(the)g(def)o(aults.)25
+b(Also,)20 b(add)g(this)g(to)h(your)e(`)p Fv(main.cf)p
+Fw(')g(\002le:)416 2674 y Fk(recipient_delimiter)41 b(=)k(+)0
+2961 y Fw(Using)15 b(`)p Fl(+)p Fw(')h(as)g(the)f(delimiter)g(w)o(orks)
+g(well)h(with)g(the)f(def)o(ault)g(v)n(alues)g(for)g
+Fq(VERP)p 2306 2961 25 4 v 29 w(FORMA)m(T)22 b Fw(and)15
+b Fq(VERP)p 3022 2961 V 29 w(REGEXP)f Fw(in)i(`)p Fv(Def)n(aults)o(.p)n
+(y)p Fw('.)0 3108 y(When)21 b(attempting)f(to)h(deli)n(v)o(er)f(a)h
+(message)g(to)g(a)h(non-e)o(xistent)d(local)i(address,)f(Post\002x)i
+(may)e(return)g(a)i(450)e(error)g(code.)27 b(Since)21
+b(this)0 3207 y(is)i(a)f(transient)f(error)g(code,)g(Mailman)g(will)i
+(continue)d(to)i(attempt)f(to)h(deli)n(v)o(er)f(the)h(message)f(for)g
+Fq(DELIVER)o(Y)p 3240 3207 V 29 w(RETR)o(Y)p 3513 3207
+V 28 w(PERIOD)g Fw(\226)0 3307 y(5)d(days)g(by)g(def)o(ault.)24
+b(Y)-9 b(ou)17 b(might)h(w)o(ant)g(to)g(set)h(Post\002x)g(up)f(so)g
+(that)g(it)h(returns)f(permanent)e(error)h(codes)h(for)f(non-e)o
+(xistent)f(local)i(users)0 3407 y(by)i(adding)f(the)h(follo)n(wing)e
+(to)j(your)e(`)p Fv(main.cf)p Fw(')f(\002le:)416 3645
+y Fk(unknown_local_recipient_reject_code)38 b(=)45 b(550)0
+3931 y Fw(Finally)-5 b(,)19 b(if)i(you)e(are)h(using)g(Post\002x-style)
+g(virtual)f(domains,)g(read)h(the)g(section)g(on)g(virtual)f(domain)g
+(support)g(belo)n(w)-5 b(.)0 4200 y Fo(Integ)o(r)o(ating)25
+b(P)l(ost\002x)d(and)h(Mailman)0 4403 y Fw(Y)-9 b(ou)30
+b(can)h(inte)o(grate)f(Post\002x)h(and)f(Mailman)g(such)h(that)g(when)f
+(ne)n(w)h(lists)h(are)f(created,)i(or)d(lists)j(are)d(remo)o(v)o(ed,)h
+(Post\002x')-5 b(s)32 b(alias)0 4502 y(database)20 b(will)h(be)f
+(automatically)e(updated.)24 b(The)c(follo)n(wing)e(are)i(the)g(steps)h
+(you)f(need)f(to)h(tak)o(e)h(to)f(mak)o(e)g(this)g(w)o(ork.)0
+4649 y(In)g(the)h(description)e(belo)n(w)-5 b(,)20 b(we)h(assume)g
+(that)g(you')l(v)o(e)d(installed)j(Mailman)f(in)h(the)g(def)o(ault)f
+(location,)f(i.e.)27 b(`)p Fv(/usr/local/mailman)p Fw('.)c(If)0
+4749 y(that')-5 b(s)20 b(not)e(the)i(case,)f(adjust)g(the)g
+(instructions)g(according)e(to)i(your)f(use)h(of)g Fr(con\002gur)o(e)p
+Fw(')-5 b(s)19 b Fr(--pr)o(e\002x)f Fw(and)h Fr(--with-v)o(ar)m(-pr)o
+(e\002x)d Fw(options.)0 4896 y Fr(Note:)69 b Fw(If)25
+b(you)f(are)g(using)h(virtual)f(domains)g(and)g(you)g(w)o(ant)h
+(Mailman)f(to)i(honor)d(your)g(virtual)i(domains,)f(read)h(the)g(6.1)f
+(section)0 4995 y(belo)n(w)c(\002rst!)125 5225 y Fd(\017)41
+b Fw(Add)19 b(this)i(to)f(the)h(bottom)e(of)g(the)i(`)p
+Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p 1946 5225 V
+30 w(cfg.p)n(y)p Fw(')f(\002le:)p 0 5549 3901 4 v 3854
+5649 a Fo(7)p eop end
+%%Page: 8 8
+TeXDict begin 8 7 bop 802 174 a Fk(MTA)45 b(=)f('Postfix')208
+538 y Fw(The)30 b(MT)-8 b(A)31 b(v)n(ariable)f(names)h(a)g(module)f(in)
+h(the)g(`)p Fv(Mailman/MT)-9 b(A)p Fw(')28 b(directory)h(which)i
+(contains)f(the)h(mail)g(serv)o(er)n(-speci\002c)208
+638 y(functions)18 b(to)j(be)f(e)o(x)o(ecuted)e(when)i(a)g(list)i(is)f
+(created)e(or)h(remo)o(v)o(ed.)125 804 y Fd(\017)41 b
+Fw(Look)28 b(at)i(the)g(`)p Fv(Def)n(aults)o(.p)n(y)p
+Fw(')c(\002le)k(for)f(the)h(v)n(ariables)f Fq(POSTFIX)p
+2145 804 25 4 v 28 w(ALIAS)p 2391 804 V 29 w(CMD)h Fw(and)f
+Fq(POSTFIX)p 3113 804 V 29 w(MAP)p 3313 804 V 29 w(CMD)i
+Fw(command.)208 903 y(Mak)o(e)26 b(sure)h(these)h(point)e(to)i(your)d
+Fr(postalias)i Fw(and)g Fr(postmap)g Fw(programs)e(respecti)n(v)o(ely)
+-5 b(.)44 b(Remember)26 b(that)h(if)h(you)e(need)g(to)208
+1003 y(mak)o(e)19 b(changes,)g(do)h(it)h(in)f(`)p Fv(mm)p
+1128 1003 23 4 v 27 w(cfg.p)n(y)p Fw('.)125 1169 y Fd(\017)41
+b Fw(Run)20 b(the)g Fr(bin/genaliases)g Fw(script)h(to)f(initialize)g
+(your)f(`)p Fv(aliases)p Fw(')g(\002le.)802 1393 y Fk(\045)45
+b(cd)g(/usr/local/mailman)802 1485 y(\045)g(bin/genaliases)208
+1848 y Fw(Mak)o(e)21 b(sure)h(that)g(the)g(o)n(wner)e(of)i(the)g(`)p
+Fv(data/aliases)p Fw(')c(and)j(`)p Fv(data/aliases)o(.db)p
+Fw(')c(\002le)23 b(is)f Fl(mailman)p Fw(,)g(that)g(the)f(group)f(o)n
+(wner)h(for)208 1948 y(those)f(\002les)h(is)g Fl(mailman)p
+Fw(,)e(or)h(whate)n(v)o(er)f(user)h(and)g(group)e(you)i(used)g(in)g
+(the)g(con\002gure)f(command,)f(and)i(that)g(both)f(\002les)j(are)208
+2048 y(group)c(writable:)802 2180 y Fk(\045)45 b(su)802
+2272 y(\045)g(chown)f(mailman:mailman)e(data/aliases)2418
+2285 y(*)802 2363 y(\045)j(chmod)f(g+w)g(data/aliases)1880
+2376 y(*)125 2760 y Fd(\017)d Fw(Hack)19 b(your)g(Post\002x')-5
+b(s)21 b(`)p Fv(main.cf)p Fw(')e(\002le)i(to)f(include)g(the)g(follo)n
+(wing)e(path)i(in)g(your)f Fq(alias)p 2730 2760 25 4
+v 30 w(maps)h Fw(v)n(ariable:)892 2985 y Fk
+(/usr/local/mailman/data/aliases)208 3349 y Fw(Note)h(that)h(there)f
+(should)g(be)g(no)h(trailing)f Fl(.db)p Fw(.)29 b(Do)22
+b(not)f(include)g(this)h(in)g(your)e Fq(alias)p 2727
+3349 V 30 w(database)g Fw(v)n(ariable.)28 b(This)22 b(is)g(because)208
+3448 y(you)e(do)h(not)g(w)o(ant)g(Post\002x')-5 b(s)22
+b Fr(newaliases)g Fw(command)d(to)j(modify)e(Mailman')-5
+b(s)21 b(`)p Fv(aliases)o(.db)p Fw(')d(\002le,)k(b)n(ut)f(you)g(do)g(w)
+o(ant)g(Post\002x)208 3548 y(to)f(consult)g(`)p Fv(aliases)o(.db)p
+Fw(')d(when)i(looking)g(for)g(local)i(addresses.)208
+3681 y(Y)-9 b(ou)19 b(probably)f(w)o(ant)i(to)h(use)f(a)h
+Fl(hash:)k Fw(style)20 b(database)g(for)f(this)i(entry)-5
+b(.)24 b(Here')-5 b(s)20 b(an)g(e)o(xample:)802 3905
+y Fk(alias_maps)44 b(=)g(hash:/etc/postfix/aliases,)982
+3996 y(hash:/usr/local/mailman/data/aliases)125 4394
+y Fd(\017)d Fw(When)26 b(you)f(con\002gure)f(Mailman,)j(use)g(the)f
+Fr(--with-mail-gid=mailman)e Fw(switch;)30 b(this)d(will)g(be)f(the)g
+(def)o(ault)g(if)g(you)f(con-)208 4493 y(\002gured)g(Mailman)i(after)f
+(adding)g(the)h Fl(mailman)f Fw(o)n(wner)-5 b(.)45 b(Because)27
+b(the)g(o)n(wner)f(of)h(the)g(`)p Fv(aliases)o(.db)p
+Fw(')d(\002le)k(is)g Fl(mailman)p Fw(,)208 4593 y(Post\002x)20
+b(will)h(e)o(x)o(ecute)e(Mailman')-5 b(s)20 b(wrapper)e(program)g(as)j
+(uid)f(and)g(gid)g Fl(mailman)p Fw(.)0 4823 y(That')-5
+b(s)24 b(it!)35 b(One)23 b(ca)n(v)o(eat:)31 b(when)23
+b(you)g(add)f(or)i(remo)o(v)o(e)d(a)j(list,)h(the)e(`)p
+Fv(aliases)o(.db)p Fw(')e(\002le)j(will)g(updated,)e(b)n(ut)i(it)g
+(will)g(not)f(automatically)0 4922 y(run)c Fr(post\002x)g(r)o(eload)p
+Fw(.)24 b(This)19 b(is)h(because)f(you)g(need)f(to)i(be)f(root)g(to)g
+(run)g(this)h(and)f(suid-root)e(scripts)j(are)f(not)g(secure.)25
+b(The)19 b(only)f(ef)n(fect)0 5022 y(of)i(this)h(is)g(that)f(it)h(will)
+g(tak)o(e)f(about)f(a)i(minute)e(for)h(Post\002x)g(to)h(notice)e(the)i
+(change)d(to)j(the)f(`)p Fv(aliases)o(.db)p Fw(')d(\002le)k(and)f
+(update)f(its)i(tables.)p 0 5549 3901 4 v 0 5649 a Fo(8)2873
+b(6)83 b(Set)23 b(up)h(y)n(our)f(mail)h(ser)r(v)n(er)p
+eop end
+%%Page: 9 9
+TeXDict begin 9 8 bop 0 83 a Fo(Vir)s(tual)25 b(domains)0
+286 y Fw(Post\002x)17 b(2.0)e(supports)g(\223virtual)h(alias)h
+(domains\224,)f(essentially)g(what)g(used)g(to)h(be)f(called)g
+(\223Post\002x-style)g(virtual)f(domains\224)h(in)g(earlier)0
+386 y(Post\002x)24 b(v)o(ersions.)35 b(T)-7 b(o)24 b(mak)o(e)g(virtual)
+f(alias)i(domains)d(w)o(ork)i(with)g(Mailman,)g(you)f(need)g(to)h(do)f
+(some)h(setup)g(in)g(both)f(Post\002x)h(and)0 485 y(Mailman.)43
+b(Mailman)26 b(will)i(write)f(all)g(virtual)f(alias)h(mappings)e(to)i
+(a)g(\002le)g(called,)h(by)e(def)o(ault,)h(`)p Fv
+(/usr/local/mailman/data/vir)s(t)o(ual)o(-)0 585 y(mailman)p
+Fw('.)c(It)e(will)g(also)f(use)h Fr(postmap)f Fw(to)g(create)g(the)g
+Fr(virtual-mailman.db)f Fw(\002le)i(that)g(Post\002x)f(will)h(actually)
+f(use.)0 732 y(First,)31 b(you)d(need)g(to)g(set)i(up)e(the)g
+(Post\002x)h(virtual)f(alias)h(domains)f(as)h(described)e(in)i(the)g
+(Post\002x)g(documentation)c(\(see)k(Post\002x')-5 b(s)0
+831 y Fl(virtual\(5\))18 b Fw(manpage\).)23 b(Note)d(that)f(it')-5
+b(s)21 b(your)d(responsibility)g(to)i(include)f(the)g
+Fl(virtual-alias.domain)46 b(anything)0 931 y Fw(line)18
+b(as)g(described)f(manpage;)f(Mailman)h(will)i(not)e(include)g(this)h
+(line)g(in)g(`)p Fv(vir)s(tual-mailman)p Fw('.)i(Y)-9
+b(ou)17 b(are)h(highly)e(encouraged)f(to)j(mak)o(e)0
+1031 y(sure)i(your)f(virtual)h(alias)g(domains)g(are)g(w)o(orking)e
+(properly)g(before)h(inte)o(grating)f(with)j(Mailman.)0
+1177 y(Ne)o(xt,)f(add)f(a)i(path)f(to)g(Post\002x')-5
+b(s)21 b Fq(virtual)p 1183 1177 25 4 v 29 w(alias)p 1374
+1177 V 29 w(maps)g Fw(v)n(ariable,)d(pointing)h(to)h(the)g
+(virtual-mailman)e(\002le,)j(e.g.:)416 1416 y Fk(virtual_alias_maps)41
+b(=)k(<your)f(normal)g(virtual)f(alias)h(files>,)595
+1507 y(hash:/usr/local/mailman/data/virtual-m)o(ailman)0
+1793 y Fw(assuming)22 b(you')l(v)o(e)f(installed)i(Mailman)f(in)h(the)g
+(def)o(ault)f(location.)33 b(If)23 b(you')l(re)e(using)h(an)h(older)f
+(v)o(ersion)g(of)g(Post\002x)i(which)e(doesn')o(t)0 1893
+y(ha)n(v)o(e)e(the)g Fq(virtual)p 524 1893 V 29 w(alias)p
+715 1893 V 29 w(maps)g Fw(v)n(ariable,)f(use)i(the)f
+Fq(virtual)p 1723 1893 V 29 w(maps)g Fw(v)n(ariable)f(instead.)0
+2040 y(Ne)o(xt,)29 b(in)e(your)g(`)p Fv(mm)p 640 2040
+23 4 v 27 w(cfg.p)n(y)p Fw(')g(\002le,)i(you)e(will)h(w)o(ant)g(to)f
+(set)i(the)e(v)n(ariable)g Fq(POSTFIX)p 2541 2040 25
+4 v 28 w(STYLE)p 2800 2040 V 30 w(VIRTU)m(AL)p 3160 2040
+V 28 w(DOMAINS)h Fw(to)g(the)f(list)0 2140 y(of)g(virtual)h(domains)e
+(that)i(Mailman)f(should)g(update.)47 b(This)28 b(may)f(not)g(be)h(all)
+g(of)g(the)g(virtual)f(alias)h(domains)f(that)h(your)e(Post\002x)0
+2239 y(installation)e(supports!)36 b(The)24 b(v)n(alues)g(in)g(this)h
+(list)g(will)h(be)e(matched)f(against)h(the)g Fq(host)p
+2584 2239 V 29 w(name)g Fw(attrib)n(ute)g(of)g(mailing)f(lists)j
+(objects,)0 2339 y(and)20 b(must)g(be)g(an)g(e)o(xact)g(match.)0
+2486 y(Here')-5 b(s)35 b(an)g(e)o(xample.)67 b(Say)34
+b(that)h(Post\002x)g(is)h(con\002gured)c(to)j(handle)f(the)g(virtual)g
+(domains)g Fl(dom1.ain)p Fw(,)j Fl(dom2.ain)p Fw(,)g(and)0
+2585 y Fl(dom3.ain)p Fw(,)19 b(and)h(further)e(that)j(in)f(your)f(`)p
+Fv(main.cf)p Fw(')g(\002le)i(you')l(v)o(e)d(got)h(the)i(follo)n(wing)d
+(settings:)416 2732 y Fk(myhostname)43 b(=)h(mail.dom1.ain)416
+2824 y(mydomain)f(=)i(dom1.ain)416 2915 y(mydestination)d(=)j
+($myhostname,)e(localhost.$mydomain)416 3006 y(virtual_alias_maps)e(=)
+595 3098 y(hash:/some/path/to/virtual-dom1,)595 3189
+y(hash:/some/path/to/virtual-dom2,)595 3280 y
+(hash:/some/path/to/virtual-dom2)0 3567 y Fw(If)20 b(in)g(your)f(`)p
+Fv(vir)s(tual-dom1)p Fw(')e(\002le,)k(you')l(v)o(e)d(got)i(the)g(follo)
+n(wing)f(lines:)416 3714 y Fk(dom1.ain)88 b(IGNORE)416
+3805 y(@dom1.ain)43 b(@mail.dom1.ain)0 4091 y Fw(this)25
+b(tells)g(Post\002x)f(to)g(deli)n(v)o(er)f(an)o(ything)f(addressed)h
+(to)h Fl(dom1.ain)f Fw(to)h(the)g(same)g(mailbox)f(at)h
+Fl(mail.dom1.com)p Fw(,)f(its)i(def)o(ault)0 4191 y(destination.)0
+4338 y(In)16 b(this)g(case)g(you)f(w)o(ould)g(not)g(include)g
+Fl(dom1.ain)g Fw(in)h Fq(POSTFIX)p 1958 4338 V 28 w(STYLE)p
+2217 4338 V 30 w(VIRTU)m(AL)p 2577 4338 V 29 w(DOMAINS)g
+Fw(because)f(otherwise)g(Mailman)0 4437 y(will)21 b(write)f(entries)g
+(for)g(mailing)f(lists)j(in)e(the)h(dom1.ain)d(domain)g(as)416
+4676 y Fk(mylist@dom1.ain)401 b(mylist)416 4767 y
+(mylist-request@dom1.ain)41 b(mylist-request)416 4858
+y(#)j(and)h(so)f(on...)0 5145 y Fw(The)20 b(more)f(speci\002c)i
+(entries)f(trump)f(your)g(more)g(general)g(entries,)h(thus)g(breaking)e
+(the)j(deli)n(v)o(ery)d(of)i(an)o(y)f Fl(dom1.ain)h Fw(mailing)f(list.)
+0 5292 y(Ho)n(we)n(v)o(er)m(,)f(you)h(w)o(ould)h(include)f
+Fl(dom2.ain)g Fw(and)h Fl(dom3.ain)f Fw(in)i(`)p Fv(mm)p
+2196 5292 23 4 v 27 w(cfg.p)n(y)p Fw(':)p 0 5549 3901
+4 v 0 5649 a Fo(6.1)83 b(Using)24 b(the)f(P)l(ost\002x)f(mail)j(ser)r
+(v)n(er)2606 b(9)p eop end
+%%Page: 10 10
+TeXDict begin 10 9 bop 416 174 a Fk(POSTFIX_STYLE_VIRTUAL_DOMAINS)40
+b(=)k(['dom2.ain',)f('dom3.ain'])0 461 y Fw(No)n(w)-5
+b(,)48 b(an)o(y)42 b(list)h(that)g(Mailman)f(creates)h(in)g(either)f
+(of)h(those)f(tw)o(o)h(domains,)k(will)d(ha)n(v)o(e)e(the)h(correct)e
+(entries)i(written)f(to)0 560 y(`)p Fv(/usr/local/mailman/data/vir)r
+(tua)o(l-mai)o(lma)o(n)p Fw('.)0 707 y(As)34 b(abo)o(v)o(e)e(with)h
+(the)g(`)p Fv(data/aliases*)p Fw(')d(\002les,)37 b(you)32
+b(w)o(ant)i(to)f(mak)o(e)g(sure)g(that)g(both)g(`)p Fv(data/vir)s
+(tual-mailman)p Fw(')27 b(and)33 b(`)p Fv(data/vir)s(tual-)0
+807 y(mailman.db)p Fw(')18 b(are)i(user)g(and)f(group)g(o)n(wned)g(by)h
+Fl(mailman)p Fw(.)0 1075 y Fo(An)k(alter)r(nativ)n(e)g(approach)0
+1278 y Fw(Fil)d Fv(\002l@rez)o(o)m(.net)d Fw(has)j(an)f(alternati)n(v)o
+(e)f(approach)f(based)i(on)f(virtual)h(maps)g(and)g(re)o(gular)e(e)o
+(xpressions,)h(as)i(described)e(at:)125 1508 y Fd(\017)41
+b Fw(\(French\))18 b Fv(http://listes)o(.rez)o(o)m(.net/comment.p)o(hp)
+125 1674 y Fd(\017)41 b Fw(\(English\))18 b Fv(http://listes)o(.rez)o
+(o)m(.net/ho)o(w)-5 b(.p)o(hp)0 1904 y Fw(This)29 b(is)h(a)g(good)d
+(\(and)h(simpler\))h(alternati)n(v)o(e)e(if)j(you)e(don')o(t)f(mind)i
+(e)o(xposing)e(an)i(additional)e(hostname)h(in)h(the)g(domain)f(part)h
+(of)0 2004 y(the)c(addresses)f(people)f(will)j(use)e(to)h(contact)f
+(your)f(list.)40 b(I.e.)d(if)25 b(people)f(should)f(use)i
+Fl(mylist@lists.dom.ain)d Fw(instead)i(of)0 2103 y Fl(mylist@dom.ain)p
+Fw(.)0 2388 y Fn(6.2)100 b(Using)28 b(the)h(Exim)f(mail)g(ser)s(v)n(er)
+0 2591 y Fr(Note:)70 b Fw(This)25 b(section)g(is)h(deri)n(v)o(ed)e
+(from)g(Nigel)h(Metheringham')-5 b(s)23 b(\223HO)m(WT)o(O)i(-)h(Using)f
+(Exim)f(and)h(Mailman)f(together\224,)h(which)0 2691
+y(co)o(v)o(ers)d(Mailman)g(2.0.x)g(and)h(Exim)f(3.)34
+b(It)23 b(has)g(been)g(updated)e(to)j(co)o(v)o(er)d(Mailman)i(2.1)f
+(and)h(Exim)f(4.)34 b(The)23 b(original)f(document)f(is)0
+2790 y(here:)k Fv(http://www)l(.e)n(xim.org/ho)o(wt)o(o/mai)o(lman)o
+(.h)o(tml)-6 b Fw(.)0 2937 y(There)19 b(is)i(no)e(Mailman)g
+(con\002guration)e(needed)i(other)g(than)g(the)h(standard)f(options)g
+(detailed)g(in)h(the)g(Mailman)f(install)h(documenta-)0
+3037 y(tion.)33 b(The)22 b(Exim)g(con\002guration)e(is)k(transparent)d
+(to)i(Mailman.)33 b(The)22 b(user)h(and)f(group)f(settings)i(for)f
+(Mailman)h(must)f(match)h(those)0 3136 y(in)d(the)h(con\002g)e
+(fragments)g(gi)n(v)o(en)g(belo)n(w)-5 b(.)0 3405 y Fo(Exim)24
+b(con\002gur)o(ation)0 3608 y Fw(The)d(Exim)g(con\002guration)d(is)k(b)
+n(uilt)g(so)f(that)g(a)h(list)g(created)f(within)g(Mailman)f
+(automatically)g(appears)g(to)i(Exim)f(without)f(the)h(need)0
+3707 y(for)f(de\002ning)e(an)o(y)i(additional)f(aliases.)0
+3854 y(The)28 b(dra)o(wback)e(of)h(this)i(con\002guration)c(is)k(that)f
+(it)h(will)f(w)o(ork)f(poorly)g(on)g(systems)i(supporting)c(lists)30
+b(in)e(se)n(v)o(eral)f(dif)n(ferent)f(mail)0 3954 y(domains.)d(While)c
+(Mailman)e(handles)g(virtual)h(domains,)f(it)i(does)e(not)h(yet)g
+(support)f(ha)n(ving)g(tw)o(o)h(distinct)g(lists)i(with)e(the)g(same)g
+(name)0 4053 y(in)23 b(dif)n(ferent)f(virtual)h(domains,)f(using)h(the)
+g(same)h(Mailman)e(installation.)34 b(This)23 b(will)h(e)n(v)o
+(entually)e(change.)33 b(\(But)23 b(see)h(belo)n(w)f(for)f(a)0
+4153 y(v)n(ariation)d(on)h(this)g(scheme)g(that)g(should)g(accommodate)
+d(virtual)j(domains)f(better)-5 b(.\))0 4300 y(The)21
+b(con\002guration)e(\002le)k(e)o(xcerpts)d(belo)n(w)h(are)h(for)f(use)h
+(in)g(an)f(already)g(functional)f(Exim)h(con\002guration,)e(which)i
+(accepts)g(mail)h(for)0 4400 y(the)i(domain)e(in)h(which)g(the)h(list)g
+(resides.)35 b(If)24 b(this)g(domain)e(is)i(separate)f(from)g(the)g
+(others)g(handled)f(by)h(your)g(Exim)f(con\002guration,)0
+4499 y(then)e(you')o(ll)f(need)g(to:)125 4729 y Fd(\017)41
+b Fw(add)19 b(the)h(list)i(domain,)c(\223my)-5 b(.list.domain\224)18
+b(to)i Fq(local)p 1728 4729 25 4 v 29 w(domains)125 4895
+y Fd(\017)41 b Fw(add)19 b(a)i(\223domains=my)-5 b(.list.domain\224)15
+b(option)k(to)i(the)f(director)f(\(router\))f(for)i(the)g(list)125
+5061 y Fd(\017)41 b Fw(\(optional\))18 b(e)o(xclude)g(that)j(domain)e
+(from)g(your)g(other)g(directors)g(\(routers\))0 5291
+y Fr(Note:)74 b Fw(The)26 b(instructions)f(in)i(this)f(document)e
+(should)i(w)o(ork)f(with)i(either)e(Exim)h(3)g(or)g(Exim)g(4.)43
+b(In)26 b(Exim)f(3,)j(you)d(must)i(ha)n(v)o(e)e(a)0 5391
+y Fq(local)p 172 5391 V 29 w(domains)e Fw(con\002guration)f(setting;)k
+(in)f(Exim)f(4,)h(you)e(most)i(lik)o(ely)f(ha)n(v)o(e)g(a)h
+Fq(local)p 2586 5391 V 28 w(domains)f Fw(domainlist.)36
+b(If)25 b(you)e(don')o(t,)g(you)p 0 5549 3901 4 v 0 5649
+a Fo(10)2827 b(6)83 b(Set)23 b(up)h(y)n(our)f(mail)h(ser)r(v)n(er)p
+eop end
+%%Page: 11 11
+TeXDict begin 11 10 bop 0 83 a Fw(probably)26 b(kno)n(w)g(what)i(you')l
+(re)e(doing)g(and)i(can)f(adjust)h(accordingly)-5 b(.)45
+b(Similarly)-5 b(,)29 b(in)f(Exim)f(4)h(the)g(concept)e(of)i
+(\223directors\224)e(has)0 183 y(disappeared)d(\226)j(there)e(are)i
+(only)e(routers)g(no)n(w)-5 b(.)39 b(So)26 b(if)f(you')l(re)f(using)g
+(Exim)h(4,)h(whene)n(v)o(er)e(this)h(document)f(says)h
+(\223director\224,)g(read)0 282 y(\223router\224.)0 429
+y(Whether)20 b(you)g(are)h(using)f(Exim)g(3)h(or)f(Exim)g(4,)h(you)f
+(will)h(need)f(to)h(add)f(some)h(macros)f(to)h(the)g(main)f(section)g
+(of)h(your)e(Exim)h(con\002g)0 529 y(\002le.)33 b(Y)-9
+b(ou)22 b(will)h(also)g(need)f(to)h(de\002ne)f(one)g(ne)n(w)h
+(transport.)30 b(W)m(ith)23 b(Exim)f(3,)i(you')o(ll)d(need)h(to)h(add)f
+(a)h(ne)n(w)f(director;)h(with)g(Exim)f(4,)h(a)0 628
+y(ne)n(w)d(router)f(plays)h(the)g(same)h(role.)0 775
+y(Finally)-5 b(,)23 b(the)g(con\002guration)d(supplied)i(here)g(should)
+g(allo)n(w)h(co-habiting)d(Mailman)i(2.0)h(and)f(2.1)g(installations,)h
+(with)g(the)g(pro)o(viso)0 875 y(that)d(you')o(ll)g(probably)d(w)o(ant)
+k(to)f(use)h Fl(mm21)f Fw(in)g(place)g(of)g Fl(mailman)f
+Fw(\226)h(e.g.,)g Fq(MM21)p 2489 875 25 4 v 29 w(HOME)r
+Fw(,)g Fq(mm21)p 3005 875 V 29 w(tr)o(ansport)q Fw(,)g(etc.)0
+1143 y Fo(Main)k(con\002gur)o(ation)g(settings)0 1346
+y Fw(First,)30 b(you)c(need)h(to)g(add)g(some)h(macros)e(to)i(the)f
+(top)g(of)g(your)f(Exim)h(con\002g)g(\002le.)47 b(These)27
+b(just)h(mak)o(e)f(the)g(director)g(\(router\))e(and)0
+1446 y(transport)16 b(belo)n(w)h(a)i(bit)e(cleaner)-5
+b(.)24 b(Ob)o(viously)-5 b(,)16 b(you')o(ll)h(need)g(to)g(edit)h(these)
+g(based)f(on)h(ho)n(w)f(you)f(con\002gured)g(and)h(installed)g
+(Mailman.)416 1684 y Fk(#)44 b(Home)g(dir)h(for)f(your)g(Mailman)g
+(installation)f(--)h(aka)g(Mailman's)g(prefix)416 1775
+y(#)g(directory.)416 1867 y(MAILMAN_HOME=/usr/local/mailman)416
+1958 y(MAILMAN_WRAP=MAILMAN_HOME/mail/mailm)o(an)416
+2141 y(#)g(User)g(and)h(group)f(for)g(Mailman,)g(should)f(match)h(your)
+g(--with-mail-gid)416 2232 y(#)g(switch)g(to)h(Mailman's)e(configure)g
+(script.)416 2323 y(MAILMAN_USER=mailman)416 2415 y
+(MAILMAN_GROUP=mailman)0 2826 y Fo(T)-10 b(r)o(anspor)s(t)23
+b(f)n(or)f(Exim)i(3)0 3029 y Fw(Add)c(this)g(to)h(the)f(transports)f
+(section)h(of)g(your)f(Exim)h(con\002g)f(\002le,)i(i.e.)k(some)n(where)
+19 b(between)g(the)h(\002rst)h(and)f(second)f(\223end\224)g(line:)326
+3268 y Fk(mailman_transport:)416 3359 y(driver)43 b(=)i(pipe)416
+3450 y(command)e(=)i(MAILMAN_WRAP)e(\\)864 3542 y('${if)h
+(def:local_part_suffix)d(\\)1133 3633 y
+({${sg{$local_part_suffix}{-\(\\\\w+\)\(\\\\+.)2842 3646
+y(*)2887 3633 y(\)?}{\\)o($1}}})d(\\)1133 3724 y({post}}')43
+b(\\)864 3816 y($local_part)416 3907 y(current_directory)f(=)i
+(MAILMAN_HOME)416 3998 y(home_directory)e(=)j(MAILMAN_HOME)416
+4089 y(user)f(=)g(MAILMAN_USER)416 4181 y(group)g(=)g(MAILMAN_GROUP)0
+4593 y Fo(Director)23 b(f)n(or)f(Exim)i(3)0 4796 y Fw(If)e(you')l(re)e
+(using)h(Exim)h(3,)g(you')o(ll)f(need)g(to)h(add)g(the)g(follo)n(wing)e
+(director)h(to)h(your)e(con\002g)i(\002le)g(\(directors)f(go)g(between)
+g(the)h(second)0 4895 y(and)g(third)g(\223end\224)g(lines\).)33
+b(Also,)23 b(don')o(t)e(for)o(get)g(that)i(order)e(matters)i(\226)g
+(e.g.)32 b(you)22 b(can)g(mak)o(e)g(Mailman)h(lists)h(tak)o(e)e
+(precedence)f(o)o(v)o(er)0 4995 y(system)f(aliases)h(by)f(putting)f
+(this)i(director)e(in)h(front)f(of)h(your)f(alias\002le)i(director)m(,)
+e(or)h(vice-v)o(ersa.)p 0 5549 3901 4 v 0 5649 a Fo(6.2)83
+b(Using)24 b(the)f(Exim)h(mail)g(ser)r(v)n(er)2621 b(11)p
+eop end
+%%Page: 12 12
+TeXDict begin 12 11 bop 326 174 a Fk(#)45 b(Handle)e(all)i(addresses)e
+(related)h(to)g(a)h(list)f('foo':)g(the)g(posting)g(address.)326
+266 y(#)h(Automatically)d(detects)i(list)g(existence)f(by)i(looking)326
+357 y(#)g(for)f(lists/$local_part/config.pck)c(under)k(MAILMAN_HOME.)
+326 448 y(mailman_director:)416 540 y(driver)f(=)i(smartuser)416
+631 y(require_files)d(=)j(MAILMAN_HOME/lists/$local_part/config.)o(pck)
+416 722 y(suffix_optional)416 814 y(suffix)e(=)i(-bounces)f(:)g
+(-bounces+)1717 827 y(*)1805 814 y(:)h(\\)819 905 y(-confirm+)1224
+918 y(*)1312 905 y(:)g(-join)f(:)h(-leave)e(:)i(\\)819
+996 y(-owner)f(:)h(-request)e(:)i(-admin)416 1088 y(transport)e(=)i
+(mailman_transport)0 1500 y Fo(Router)23 b(f)n(or)g(Exim)g(4)0
+1702 y Fw(In)f(Exim)f(4,)h(there')-5 b(s)22 b(no)f(such)h(thing)f(as)h
+(directors)f(\226)h(you)f(need)g(to)h(add)f(a)i(ne)n(w)e(router)g
+(instead.)30 b(Also,)22 b(the)g(canonical)e(order)h(of)h(the)0
+1802 y(con\002guration)f(\002le)j(w)o(as)h(changed)d(so)i(routers)f
+(come)g(before)f(transports,)i(so)g(the)f(router)g(for)g(Exim)g(4)h
+(comes)g(\002rst)g(here.)35 b(Put)24 b(this)0 1902 y(router)19
+b(some)n(where)g(after)h(the)g(\223be)o(gin)f(routers\224)g(line)h(of)g
+(your)f(con\002g)g(\002le,)i(and)f(remember)e(that)i(order)f(matters.)
+326 2140 y Fk(mailman_router:)416 2231 y(driver)43 b(=)i(accept)416
+2323 y(require_files)d(=)j(MAILMAN_HOME/lists/$local_part/config.)o
+(pck)416 2414 y(local_part_suffix_optional)416 2505 y
+(local_part_suffix)d(=)i(-bounces)g(:)g(-bounces+)2210
+2518 y(*)2298 2505 y(:)h(\\)1312 2597 y(-confirm+)1717
+2610 y(*)1805 2597 y(:)g(-join)f(:)h(-leave)e(:)i(\\)1312
+2688 y(-owner)f(:)h(-request)e(:)i(-admin)416 2779 y(transport)e(=)i
+(mailman_transport)0 3191 y Fo(T)-10 b(r)o(anspor)s(ts)22
+b(f)n(or)h(Exim)g(4)0 3394 y Fw(The)f(transport)e(for)i(Exim)f(4)i(is)g
+(the)f(same)g(as)h(for)e(Exim)h(3)g(\(see)g(6.2;)g(just)h(cop)o(y)e
+(the)h(transport)f(gi)n(v)o(en)g(abo)o(v)o(e)f(to)i(some)n(where)f
+(under)0 3494 y(the)f(\223be)o(gin)f(transports\224)g(line)h(of)g(your)
+f(Exim)h(con\002g)f(\002le.)0 3762 y Fo(Additional)26
+b(notes)0 3965 y Fw(Exim)g(should)f(be)i(con\002gured)d(to)i(allo)n(w)h
+(reasonable)e(v)n(olume)g(\226)h(e.g.)44 b(don')o(t)24
+b(set)k Fq(max)p 2597 3965 25 4 v 29 w(r)m(ecipients)e
+Fw(do)n(wn)g(to)g(a)h(silly)g(v)n(alue)f(\226)g(and)0
+4064 y(with)21 b(normal)e(de)o(grees)h(of)g(security)g(\226)h
+(speci\002cally)-5 b(,)20 b(be)h(sure)f(to)h(allo)n(w)g(relaying)e
+(from)g(127.0.0.1,)f(b)n(ut)j(pretty)e(much)h(nothing)f(else.)0
+4164 y(P)o(arallel)g(deli)n(v)o(eries)g(and)g(other)f(tweaks)i(can)f
+(also)h(be)f(used)g(if)h(you)e(lik)o(e;)i(e)o(xperiment)e(with)h(your)f
+(setup)i(to)f(see)h(what)f(w)o(orks.)25 b(Delay)0 4264
+y(w)o(arning)17 b(messages)g(should)g(be)h(switched)f(of)n(f)g(or)h
+(con\002gured)d(to)j(only)f(happen)f(for)h(non-list)g(mail,)h(unless)g
+(you)f(lik)o(e)g(recei)n(ving)g(tons)0 4363 y(of)j(mail)g(when)g(some)g
+(random)e(host)i(is)i(do)n(wn.)0 4632 y Fo(Prob)n(lems)125
+4821 y Fd(\017)41 b Fw(Mailman)26 b(will)i(send)f(as)h(man)o(y)e
+Fl(MAIL)49 b(FROM)p Fw(/)p Fl(RCPT)g(TO)27 b Fw(as)h(it)g(needs.)45
+b(It)28 b(may)f(result)g(in)g(more)g(than)g(10)f(or)h(100)g(mes-)208
+4920 y(sages)h(sent)g(in)g(one)f(connection,)g(which)g(will)i(e)o
+(xceed)d(the)i(def)o(ault)f(v)n(alue)g(of)h(Exim')-5
+b(s)27 b Fq(smtp)p 2997 4920 V 30 w(accept)p 3245 4920
+V 29 w(queue)p 3474 4920 V 28 w(per)p 3613 4920 V 29
+w(connec-)208 5020 y(tion)f Fw(v)n(alue.)44 b(This)26
+b(is)i(bad)e(because)g(it)i(will)f(cause)g(Exim)f(to)h(switch)g(into)f
+(queue)f(mode)h(and)g(se)n(v)o(erely)g(delay)g(deli)n(v)o(ery)f(of)208
+5119 y(your)g(list)i(messages.)45 b(The)26 b(w)o(ay)g(to)h(\002x)g
+(this)g(is)g(to)g(set)g(Mailman')-5 b(s)27 b Fq(SMTP)p
+2458 5119 V 29 w(MAX)p 2658 5119 V 30 w(SESSIONS)p 3050
+5119 V 27 w(PER)p 3230 5119 V 29 w(CONNECTION)34 b Fw(\(in)208
+5219 y(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p 966
+5219 V 30 w(cfg.p)n(y)p Fw('\))19 b(to)h(a)h(smaller)f(v)n(alue)g(than)
+f(Exim')-5 b(s)20 b Fq(smtp)p 2474 5219 V 30 w(accept)p
+2722 5219 V 29 w(queue)p 2951 5219 V 28 w(per)p 3090
+5219 V 29 w(connection)p Fw(.)p 0 5549 3901 4 v 0 5649
+a Fo(12)2827 b(6)83 b(Set)23 b(up)h(y)n(our)f(mail)h(ser)r(v)n(er)p
+eop end
+%%Page: 13 13
+TeXDict begin 13 12 bop 125 83 a Fd(\017)41 b Fw(Mailman)14
+b(should)g(ignore)g(Exim)h(delay)g(w)o(arning)f(messages,)i(e)n(v)o(en)
+e(though)g(Exim)h(should)f(ne)n(v)o(er)g(send)h(this)h(to)f(list)i
+(messages.)208 183 y(Mailman)26 b(2.1')-5 b(s)27 b(general)f(bounce)f
+(detection)h(and)g(VERP)i(support)e(should)g(greatly)g(impro)o(v)o(e)f
+(the)i(bounce)e(detector')-5 b(s)26 b(hit)208 282 y(rates.)125
+448 y Fd(\017)41 b Fw(List)20 b(e)o(xistence)f(is)i(determined)d(by)i
+(the)g(e)o(xistence)f(of)h(a)g(`)p Fv(con\002g.pc)o(k)p
+Fw(')f(\002le)i(for)e(a)h(list.)26 b(If)20 b(you)f(delete)h(lists)h(by)
+f(foul)f(means,)h(be)208 548 y(a)o(w)o(are)f(of)h(this.)125
+714 y Fd(\017)41 b Fw(If)26 b(you)g(are)h(getting)f(Exim)g(or)h
+(Mailman)f(complaining)e(about)i(user)h(ids)g(when)g(you)e(send)i(mail)
+g(to)g(a)g(list,)j(check)c(that)h(the)208 814 y Fq(MAILMAN)p
+582 814 25 4 v 29 w(USER)19 b Fw(and)f Fq(MAILMAN)p 1342
+814 V 30 w(GR)m(OUP)h Fw(match)f(those)h(of)g(Mailman)f(itself)i
+(\(i.e.)k(what)19 b(were)g(used)g(in)g(the)g Fr(con\002gur)o(e)208
+913 y Fw(script\).)24 b(Also)d(mak)o(e)e(sure)i(you)e(do)h(not)f(ha)n
+(v)o(e)h(aliases)h(in)g(the)f(main)g(alias)g(\002le)h(for)f(the)g
+(list.)0 1182 y Fo(Receiv)n(er)j(V)-7 b(er)q(i\002cation)0
+1384 y Fw(Exim')i(s)20 b(recei)n(v)o(er)e(v)o(eri\002cation)g(feature)h
+(is)h(v)o(ery)f(useful)g(\226)h(it)g(lets)h(Exim)e(reject)h
+(unrouteable)d(addresses)i(at)i(SMTP)f(time.)25 b(Ho)n(we)n(v)o(er)m(,)
+0 1484 y(this)20 b(is)h(most)f(useful)f(for)g(e)o
+(xternally-originating)c(mail)20 b(that)g(is)g(addressed)f(to)h(mail)g
+(in)f(one)h(of)f(your)g(local)g(domains.)24 b(F)o(or)19
+b(Mailman)0 1584 y(list)g(traf)n(\002c,)f(mail)g(originates)f(on)h
+(your)f(serv)o(er)m(,)g(and)g(is)i(addressed)e(to)i(random)d(e)o
+(xternal)h(domains)g(that)h(are)g(not)g(under)e(your)h(control.)0
+1683 y(Furthermore,)25 b(each)g(message)h(is)h(addressed)d(to)i(man)o
+(y)f(recipients)g(\226)h(up)f(to)h(500)f(if)i(you)d(use)j(Mailman')-5
+b(s)25 b(def)o(ault)g(con\002guration)0 1783 y(and)20
+b(don')o(t)e(tweak)i Fq(SMTP)p 767 1783 V 30 w(MAX)p
+968 1783 V 29 w(RCPTS)q Fw(.)0 1930 y(Doing)27 b(recei)n(v)o(er)f(v)o
+(eri\002cation)f(on)i(Mailman)g(list)i(traf)n(\002c)e(is)h(a)g(recipe)f
+(for)g(trouble.)45 b(In)27 b(particular)m(,)h(Exim)f(will)h(attempt)f
+(to)g(route)0 2029 y(e)n(v)o(ery)e(recipient)h(addresses)g(in)h
+(outgoing)d(Mailman)i(list)h(posts.)44 b(Ev)o(en)26 b(though)f(this)i
+(requires)e(nothing)g(more)h(than)g(a)h(fe)n(w)f(DNS)0
+2129 y(lookups)20 b(for)h(each)h(address,)f(it)i(can)e(still)i
+(introduce)d(signi\002cant)h(delays.)29 b(Therefore,)20
+b(you)h(should)g(disable)g(recipient)g(v)o(eri\002cation)0
+2229 y(for)f(Mailman)f(traf)n(\002c.)0 2376 y(Under)g(Exim)h(3,)g(put)g
+(this)g(in)h(your)e(main)h(con\002guration)d(section:)416
+2614 y Fk(receiver_verify_hosts)41 b(=)k(!127.0.0.1)0
+2900 y Fw(Under)23 b(Exim)h(4,)h(this)g(is)g(probably)d(already)h(tak)o
+(en)h(care)g(of)g(for)g(you)f(by)h(the)g(def)o(ault)g(recipient)f(v)o
+(eri\002cation)g(A)m(CL)i(statement)f(\(in)0 3000 y(the)c
+Fl(RCPT)49 b(TO)21 b Fw(A)m(CL\):)326 3238 y Fk(accept)89
+b(domains)312 b(=)45 b(+local_domains)685 3329 y(endpass)685
+3421 y(message)312 b(=)45 b(unknown)f(user)685 3512 y(verify)357
+b(=)45 b(recipient)0 3799 y Fw(which)24 b(only)g(does)g(recipient)g(v)o
+(eri\002cation)f(on)h(addresses)g(in)h(your)e(domain.)37
+b(\(That')-5 b(s)25 b(not)f(e)o(xactly)g(the)g(same)h(as)g(doing)f
+(recipient)0 3898 y(v)o(eri\002cation)19 b(only)g(on)h(messages)g
+(coming)f(from)g(non-127.0.0.1)c(hosts,)21 b(b)n(ut)f(it)h(should)e(do)
+h(the)g(trick)g(for)f(Mailman.\))0 4166 y Fo(SMTP)24
+b(Callbac)n(k)0 4369 y Fw(Exim')-5 b(s)26 b(SMTP)h(callback)e(feature)h
+(is)h(an)f(e)n(v)o(en)g(more)f(po)n(werful)g(w)o(ay)h(to)g(detect)h
+(bogus)e(sender)g(addresses)h(than)g(normal)f(sender)0
+4469 y(v)o(eri\002cation.)41 b(Unfortunately)-5 b(,)23
+b(lots)k(of)f(serv)o(ers)f(send)g(bounce)g(messages)h(with)g(a)g(bogus)
+f(address)g(in)h(the)g(header)m(,)g(and)f(there)h(are)0
+4569 y(plenty)e(that)g(send)h(bounces)e(with)h(bogus)g(en)m(v)o(elope)e
+(senders)i(\(e)n(v)o(en)f(though)g(the)o(y')l(re)g(supposed)g(to)i
+(just)g(use)g(an)f(empty)g(en)m(v)o(elope)0 4668 y(sender)19
+b(for)h(bounces\).)0 4815 y(In)25 b(order)f(to)i(ensure)f(that)g
+(Mailman)g(can)h(disable/remo)o(v)o(e)c(bouncing)i(addresses,)i(you)e
+(generally)g(w)o(ant)i(to)g(recei)n(v)o(e)e(bounces)g(for)0
+4915 y(Mailman)c(lists,)h(e)n(v)o(en)f(if)g(those)g(bounces)f(are)i
+(themselv)o(es)e(not)h(bounceable.)k(Thus,)19 b(you)h(might)f(w)o(ant)i
+(to)f(disable)h(SMTP)f(callback)0 5014 y(on)g(bounce)e(messages.)0
+5161 y(W)m(ith)i(Exim)g(4,)g(you)f(can)h(accomplish)f(this)i(using)f
+(something)e(lik)o(e)j(the)f(follo)n(wing)f(in)h(your)f
+Fl(RCPT)49 b(TO)20 b Fw(A)m(CL:)p 0 5549 3901 4 v 0 5649
+a Fo(6.2)83 b(Using)24 b(the)f(Exim)h(mail)g(ser)r(v)n(er)2621
+b(13)p eop end
+%%Page: 14 14
+TeXDict begin 14 13 bop 326 174 a Fk(#)45 b(Accept)e(bounces)h(to)h
+(lists)f(even)g(if)g(callbacks)f(or)i(other)f(checks)g(would)g(fail)326
+266 y(warn)223 b(message)268 b(=)45 b
+(X-WhitelistedRCPT-nohdrfromcallback:)39 b(Yes)729 357
+y(condition)178 b(=)45 b(\\)729 448 y(${if)g(and)f
+({{match{$local_part}{\(.)2168 461 y(*)2213 448 y(\)-bounces\\+.)2753
+461 y(*)2798 448 y(})o(})39 b(\\)1178 540 y({exists)k
+({MAILMAN_HOME/lists/$1/config.pck}}})c(\\)954 631 y({yes}{no}})954
+722 y({yes}{no}})326 905 y(accept)133 b(condition)178
+b(=)45 b(\\)729 996 y(${if)g(and)f({{match{$local_part}{\(.)2168
+1009 y(*)2213 996 y(\)-bounces\\+.)2753 1009 y(*)2798
+996 y(})o(})39 b(\\)1178 1088 y({exists)k
+({MAILMAN_HOME/lists/$1/config.pck}}})c(\\)954 1179 y({yes}{no}})954
+1270 y({yes}{no}})326 1453 y(#)45 b(Now,)f(check)g(sender)g(address)f
+(with)h(SMTP)g(callback.)326 1544 y(deny)134 b(!verify)43
+b(=)i(sender/callout=90s)0 1831 y Fw(If)20 b(you)f(also)i(do)f(SMTP)g
+(callbacks)g(on)g(header)f(addresses,)g(you')o(ll)h(w)o(ant)g
+(something)f(lik)o(e)h(this)h(in)f(your)f Fl(DATA)h Fw(A)m(CL:)326
+2069 y Fk(deny)134 b(!condition)43 b(=)i
+($header_X-WhitelistedRCPT-nohdrfromc)o(allbac)o(k:)640
+2160 y(!verify)e(=)i(header_sender/callout=90s)0 2572
+y Fo(Doing)24 b(VERP)g(with)g(Exim)f(and)h(Mailman)0
+2774 y Fw(VERP)30 b(will)g(send)e(one)h(email,)i(with)e(a)g(separate)g
+(en)m(v)o(elope)e(sender)h(\(return)f(path\),)j(for)f(each)f(of)h(your)
+f(subscribers)g(\226)h(read)g(the)0 2874 y(information)21
+b(in)j(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/Def)n(aults)o(.p)n(y)p
+Fw(')e(for)h(the)h(options)e(that)i(start)f(with)h(VERP)-9
+b(.)24 b(In)f(a)h(nutshell,)f(all)h(you)f(need)f(to)i(do)0
+2974 y(to)c(enable)g(VERP)h(with)f(Exim)g(is)h(to)f(add)g(these)g
+(lines)h(to)f(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/Mailman/mm)p
+2439 2974 25 4 v 31 w(cfg.p)n(y)p Fw(':)416 3212 y Fk
+(VERP_PASSWORD_REMINDERS)41 b(=)j(Yes)416 3303 y
+(VERP_PERSONALIZED_DELIVERIES)c(=)k(Yes)416 3395 y
+(VERP_DELIVERY_INTERVAL)d(=)j(Yes)416 3486 y(VERP_CONFIRMATIONS)d(=)k
+(Yes)0 3772 y Fw(\(The)20 b(director)e(\(router\))h(abo)o(v)o(e)f(is)j
+(smart)g(enough)d(to)i(deal)g(with)h(VERP)g(bounces.\))0
+4041 y Fo(Vir)s(tual)k(Domains)0 4244 y Fw(One)18 b(approach)e(to)j
+(handling)d(virtual)i(domains)f(is)i(to)g(use)f(a)h(separate)f(Mailman)
+f(installation)h(for)g(each)g(virtual)f(domain.)23 b(Currently)-5
+b(,)0 4343 y(this)21 b(is)g(the)f(only)f(w)o(ay)i(to)f(ha)n(v)o(e)g
+(lists)h(with)g(the)f(same)g(name)g(in)g(dif)n(ferent)f(virtual)g
+(domains)g(handled)g(by)h(the)g(same)g(machine.)0 4490
+y(In)i(this)g(case,)h(the)f Fq(MAILMAN)p 919 4490 V 29
+w(HOME)j Fw(and)c Fq(MAILMAN)p 1724 4490 V 30 w(WRAP)h
+Fw(macros)f(are)h(useless)g(\226)g(you)f(can)h(remo)o(v)o(e)e(them.)30
+b(Change)21 b(your)0 4590 y(director)e(\(router\))f(to)j(something)d
+(lik)o(e)j(this:)326 4828 y Fk(require_files)43 b(=)h
+(/virtual/${domain}/mailman/lists/${lc:$l)o(ocal_p)o(art}/c)o(onfig.)o
+(pck)0 5114 y Fw(and)20 b(change)f(your)f(transport)h(lik)o(e)i(this:)p
+0 5549 3901 4 v 0 5649 a Fo(14)2827 b(6)83 b(Set)23 b(up)h(y)n(our)f
+(mail)h(ser)r(v)n(er)p eop end
+%%Page: 15 15
+TeXDict begin 15 14 bop 326 174 a Fk(command)44 b(=)g
+(/virtual/${domain}/mailman/mail/mailman)38 b(\\)774
+266 y(${if)44 b(def:local_part_suffix)e(\\)998 357 y
+({${sg{$local_part_suffix}{-\(\\\\w+\)\(\\\\+.)2708 370
+y(*)2753 357 y(\)?)o(}{\\$1})o(}})998 448 y({post}})i(\\)864
+540 y($local_part)326 631 y(current_directory)e(=)j
+(/virtual/${domain}/mailman)326 722 y(home_directory)d(=)j
+(/virtual/${domain}/mailman)0 1130 y Fo(List)23 b(V)-7
+b(er)q(i\002cation)0 1333 y Fw(This)33 b(is)g(ho)n(w)f(a)h(set)g(of)f
+(address)g(tests)i(for)e(the)h(Exim)e(lists)j(look)e(on)g(a)h(w)o
+(orking)e(system.)62 b(The)32 b(list)i(in)e(question)g(is)h
+Fv(quixote-)0 1432 y(users@mems-e)n(xchange)o(.org)p
+Fw(,)21 b(and)i(these)g(commands)f(were)h(run)g(on)g(the)h
+Fl(mems-exchange.org)c Fw(mail)k(serv)o(er)f(\(\224\045)g(\224)h(indi-)
+0 1532 y(cates)d(the)f(Unix)g(shell)g(prompt\):)326 1770
+y Fk(\045)45 b(exim)f(-bt)g(quixote-users)326 1861 y
+(quixote-users@mems-exchange.org)416 1953 y(router)f(=)i
+(mailman_main_router,)d(transport)h(=)h(mailman_transport)326
+2135 y(\045)h(exim)f(-bt)g(quixote-users-request)326
+2227 y(quixote-users-request@mems-exchange.or)o(g)416
+2318 y(router)f(=)i(mailman_router,)d(transport)i(=)g
+(mailman_transport)326 2501 y(\045)h(exim)f(-bt)g
+(quixote-users-bounces)326 2592 y
+(quixote-users-bounces@mems-exchange.or)o(g)416 2683
+y(router)f(=)i(mailman_router,)d(transport)i(=)g(mailman_transport)326
+2866 y(\045)h(exim)f(-bt)g(quixote-users-bounces+luser=example.com)326
+2957 y(quixote-users-bounces+luser=example.co)o(m@mems)o(-excha)o
+(nge.or)o(g)416 3049 y(router)f(=)i(mailman_router,)d(transport)i(=)g
+(mailman_transport)0 3336 y Fw(If)21 b(your)e Fr(exim)i(-bt)g
+Fw(output)f(looks)g(something)f(lik)o(e)i(this,)h(that')-5
+b(s)21 b(a)g(start:)27 b(at)22 b(least)f(it)h(means)e(Exim)g(will)i
+(pass)f(the)g(right)f(messages)h(to)0 3435 y(the)d(right)f(Mailman)g
+(commands.)22 b(It)c(by)f(no)h(means)f(guarantees)f(that)i(your)f
+(Exim/Mailman)f(installation)h(is)i(functioning)c(perfectly)-5
+b(,)0 3535 y(though!)0 3799 y Fo(Document)23 b(Histor)r(y)0
+4002 y Fw(Originally)j(written)g(by)h(Nigel)g(Metheringham)d
+Fv(postmaster@e)n(xim.org)p Fw(.)42 b(Updated)26 b(by)g(Marc)h(Merlin)f
+Fv(marc)p 3311 4002 23 4 v 27 w(soft@mer)q(lins)o(.org)0
+4101 y Fw(for)20 b(Mailman)f(2.1,)g(Exim)h(4.)25 b(Ov)o
+(erhauled/reformatted/clari\002ed/simp)o(li\002ed)15
+b(by)k(Gre)o(g)h(W)-7 b(ard)20 b Fv(gw)o(ard@p)n(ython.net)p
+Fw(.)0 4382 y Fn(6.3)100 b(Using)28 b(the)h(Sendmail)h(mail)e(ser)s(v)n
+(er)p 0 4532 3901 17 v 0 5375 17 844 v 75 4647 a Fr(W)-5
+b(ar)o(ning:)107 b Fw(Y)-9 b(ou)34 b(may)g(be)g(tempted)g(to)h(set)g
+(the)g Fq(DELIVER)o(Y)p 2038 4647 25 4 v 28 w(MODULE)i
+Fw(con\002guration)32 b(v)n(ariable)h(in)i(`)p Fv(mm)p
+3478 4647 23 4 v 27 w(cfg.p)n(y)p Fw(')f(to)75 4747 y
+Fl('Sendmail')c Fw(when)h(using)g(the)h(Sendmail)f(mail)g(serv)o(er)-5
+b(.)59 b Fr(Don't)p Fw(.)g(The)31 b(`)p Fv(Sendmail.p)n(y)p
+Fw(')e(module)h(is)j(misnamed)d(\226)i(it')-5 b(s)75
+4847 y(really)20 b(a)i(command)d(line)i(based)g(message)g(handof)n(f)e
+(scheme)i(as)h(opposed)d(to)i(the)g(SMTP)h(scheme)f(used)g(in)g(`)p
+Fv(SMTPDirect.p)n(y)p Fw(')75 4946 y(\(the)27 b(def)o(ault\).)45
+b(`)p Fv(Sendmail.p)n(y)p Fw(')24 b(has)k(kno)n(wn)e(security)h(holes)g
+(and)g(is)h(pro)o(vided)d(as)j(a)g(proof-of-concept)22
+b(only)3388 4916 y Fc(a)3420 4946 y Fw(.)47 b(If)27 b(you)g(are)75
+5046 y(ha)n(ving)c(problems)f(using)i(`)p Fv(SMTPDirect.p)n(y)p
+Fw(')d(\002x)k(those)e(instead)h(of)g(using)f(`)p Fv(Sendmail.p)n(y)p
+Fw(',)f(or)h(you)h(may)f(open)g(your)g(system)75 5145
+y(up)c(to)i(security)e(e)o(xploits.)p 75 5217 1501 4
+v 165 5270 a Fb(a)194 5293 y Fp(In)e(f)o(act,)h(in)g(later)g(v)o
+(ersions)g(of)f(Mailman,)h(this)g(module)g(is)e(e)o(xplicitly)21
+b(sabotaged.)i(Y)-7 b(ou)16 b(ha)o(v)o(e)i(to)f(kno)n(w)h(what)g(you')m
+(re)f(doing)h(in)f(order)h(to)g(re-enable)h(it.)p 3883
+5375 17 844 v 0 5392 3901 17 v 0 5549 3901 4 v 0 5649
+a Fo(6.3)83 b(Using)24 b(the)f(Sendmail)i(mail)g(ser)r(v)n(er)2459
+b(15)p eop end
+%%Page: 16 16
+TeXDict begin 16 15 bop 0 83 a Fo(Sendmail)25 b(\223smrsh\224)c
+(compatibility)0 286 y Fw(Man)o(y)16 b(ne)n(wer)h(v)o(ersions)f(of)h
+(Sendmail)g(come)g(with)g(a)h(restricted)f(e)o(x)o(ecution)e(utility)i
+(called)h(\223smrsh\224,)f(which)g(limits)h(the)f(e)o(x)o(ecutables)0
+386 y(that)j(Sendmail)g(will)h(allo)n(w)f(to)h(be)f(used)g(as)h(mail)g
+(programs.)i(Y)-9 b(ou)20 b(need)g(to)g(e)o(xplicitly)g(allo)n(w)g
+(Mailman')-5 b(s)20 b(wrapper)f(program)f(to)j(be)0 485
+y(used)f(with)g(smrsh)h(or)f(Mailman)f(will)i(not)f(w)o(ork.)25
+b(If)20 b(mail)g(is)i(not)d(getting)h(deli)n(v)o(ered)e(to)j(Mailman')
+-5 b(s)20 b(wrapper)f(program)f(and)h(you')l(re)0 585
+y(getting)g(an)i(\223operating)d(system)i(error\224)f(in)h(your)f(mail)
+i(syslog,)e(this)i(could)e(be)h(your)f(problem.)0 732
+y(One)h(good)f(w)o(ay)h(of)g(enabling)f(this)h(is:)125
+962 y Fd(\017)41 b Fw(Find)20 b(out)f(where)h(your)f(Sendmail)g(e)o(x)o
+(ecutes)g(its)j(smrsh)e(wrapper)982 1186 y Fk(\045)44
+b(grep)h(smrsh)f(/etc/mail/sendmail.cf)125 1583 y Fd(\017)d
+Fw(Figure)21 b(out)h(where)f(smrsh)h(e)o(xpects)f(symlinks)g(for)h
+(allo)n(w)o(able)f(mail)h(programs.)29 b(At)22 b(the)g(v)o(ery)f(be)o
+(ginning)f(of)h(the)h(follo)n(wing)208 1682 y(output)d(you)g(will)i
+(see)g(a)f(full)g(path)g(to)g(some)g(directory)-5 b(,)18
+b(e.g.)25 b(`)p Fv(/v)n(ar/adm/sm.bin)p Fw(')17 b(or)j(similar:)982
+1907 y Fk(\045)44 b(strings)g($path_to_smrsh)f(|)h(less)125
+2304 y Fd(\017)d Fw(cd)20 b(into)g(`)p Fv(/v)n(ar/adm/sm.bin)p
+Fw(',)e(or)i(where)f(e)n(v)o(er)h(it)h(happens)e(to)h(reside)h(on)f
+(your)f(system)h(\226)h(alternati)n(v)o(es)e(include)g(`)p
+Fv(/etc/smrsh)p Fw(',)208 2403 y(`)p Fv(/v)n(ar/smrsh)p
+Fw(')g(and)h(`)p Fv(/usr/local/smrsh)p Fw('.)982 2627
+y Fk(\045)44 b(cd)h(/var/adm/sm.bin)125 3024 y Fd(\017)c
+Fw(Create)20 b(a)h(symbolic)e(link)h(to)g(Mailman')-5
+b(s)20 b(wrapper)f(program:)982 3248 y Fk(\045)44 b(ln)h(-s)f
+(/usr/local/mailman/mail/mailman)c(mailman)0 3752 y Fo(Integ)o(r)o
+(ating)25 b(Sendmail)g(and)e(Mailman)0 3955 y Fw(Da)n(vid)k(Champion)f
+(has)i(contrib)n(uted)d(a)j(recipe)e(for)h(more)g(closely)g(inte)o
+(grating)e(Sendmail)i(and)g(Mailman,)h(such)f(that)g(Sendmail)0
+4055 y(will)20 b(automatically)e(recognize)g(and)h(deli)n(v)o(er)f(to)h
+(ne)n(w)h(mailing)e(lists)j(as)f(the)o(y)f(are)g(created,)g(without)f
+(ha)n(ving)h(to)g(manually)f(edit)i(alias)0 4154 y(tables.)0
+4301 y(In)g(the)g(`)p Fv(contr)q(ib)p Fw(')f(directory)f(of)i(Mailman')
+-5 b(s)20 b(source)f(distrib)n(ution,)g(you)g(will)i(\002nd)f(four)f
+(\002les:)125 4531 y Fd(\017)41 b Fw(`)p Fv(mm-handler)l(.readme)p
+Fw(')15 b(-)21 b(an)f(e)o(xplanation)e(of)i(ho)n(w)f(to)i(set)g(e)n(v)o
+(erything)c(up)125 4697 y Fd(\017)41 b Fw(`)p Fv(mm-handler)p
+Fw(')17 b(-)k(the)f(mail)g(deli)n(v)o(ery)f(agent)g(\(MD)m(A\))125
+4863 y Fd(\017)41 b Fw(`)p Fv(mailman.mc)p Fw(')18 b(-)j(a)f(to)o(y)g
+(con\002guration)e(\002le)j(sample)125 5029 y Fd(\017)41
+b Fw(`)p Fv(vir)s(tuser)s(tab)o(le)p Fw(')16 b(-)k(a)h(sample)f(for)g
+(RFC)h(2142)e(address)h(e)o(xceptions)p 0 5549 3901 4
+v 0 5649 a Fo(16)2827 b(6)83 b(Set)23 b(up)h(y)n(our)f(mail)h(ser)r(v)n
+(er)p eop end
+%%Page: 17 17
+TeXDict begin 17 16 bop 0 83 a Fo(P)l(erf)n(or)r(mance)23
+b(notes)0 286 y Fw(One)f(of)f(the)h(surest)h(performance)c(killers)j
+(for)f(Sendmail)g(users)h(is)h(when)f(Sendmail)f(is)i(con\002gured)c
+(to)j(synchronously)d(v)o(erify)i(the)0 386 y(recipient')-5
+b(s)24 b(host)g(via)h(DNS.)f(If)h(it)g(does)f(this)h(for)f(messages)g
+(posted)g(to)h(it)g(from)e(Mailman,)i(you)e(will)i(get)g(horrible)e
+(performance.)0 485 y(Since)f(Mailman)f(usually)g(connects)f(via)i
+Fl(localhost)e Fw(\(i.e.)29 b(127.0.0.1\))18 b(to)k(the)g(SMTP)g(port)f
+(of)g(Sendmail,)g(you)g(should)f(be)i(sure)0 585 y(to)e(con\002gure)f
+(Sendmail)g(to)h Fr(not)g Fw(do)g(DNS)h(v)o(eri\002cation)e
+(synchronously)e(for)i(localhost)h(connections.)0 864
+y Fn(6.4)100 b(Using)28 b(the)h(Qmail)e(mail)i(ser)s(v)n(er)0
+1067 y Fw(There)18 b(are)i(some)f(issues)h(that)f(users)h(of)f(the)g
+(qmail)g(mail)g(transport)f(agent)h(ha)n(v)o(e)g(encountered.)j(None)c
+(of)h(the)g(core)g(maintainers)f(use)0 1167 y(qmail,)23
+b(so)h(all)f(of)g(this)h(information)c(has)j(been)g(contrib)n(uted)e
+(by)h(the)i(Mailman)e(user)h(community)-5 b(,)21 b(especially)h(Martin)
+h(Preishuber)0 1266 y(and)d(Christian)g(T)m(ismer)m(,)f(with)i(notes)f
+(by)f(Balazs)j(Nagy)d(\(BN\))i(and)e(Norbert)g(Bollo)n(w)h(\(NB\).)125
+1466 y Fd(\017)41 b Fw(Y)-9 b(ou)17 b(might)h(need)f(to)i(set)g(the)f
+(mail-gid)f(user)h(to)g(either)g Fl(qmail)p Fw(,)g Fl(mailman)p
+Fw(,)g(or)g Fl(nofiles)f Fw(by)h(using)g(the)g Fr(--with-mail-gid)208
+1566 y(con\002gur)o(e)h Fw(option.)208 1692 y Fq(BN:)i
+Fw(it)h(highly)e(depends)g(on)h(your)e(mail)j(storing)e(polic)o(y)-5
+b(.)27 b(F)o(or)20 b(e)o(xample)g(if)i(you)e(use)h(the)h(simple)f(`)p
+Fv(\230alias/.qmail-*)p Fw(')c(\002les,)22 b(you)208
+1792 y(can)e(use)g Fr(`id)h(-g)f(alias`)p Fw(.)k(But)d(if)f(you)g(use)g
+(`)p Fv(/v)n(ar/qmail/users)p Fw(',)d(the)j(speci\002ed)g(mail)h(gid)f
+(can)g(be)g(used.)208 1919 y(If)27 b(you)g(are)g(going)g(to)h(be)f
+(directing)g(virtual)g(domains)f(directly)h(to)h(the)g
+Fl(mailman)e Fw(user)i(\(using)f(\223virtualdomains\224)e(on)i(a)208
+2018 y(list-only)h(domain,)i(for)f(e)o(xample\),)h(you)e(will)i(ha)n(v)
+o(e)f(to)h(use)f Fr(--with-mail-gid)p Fw(=)p Fq(gid)e(of)i(mailman)g
+(user')m(s)g(gr)l(oup)p Fw(.)52 b(This)30 b(is)208 2118
+y(incompatible)18 b(with)i(ha)n(ving)f(list)j(aliases)f(in)f(`)p
+Fv(\230alias)p Fw(',)e(unless)j(that)f(alias)h(simply)f(forw)o(ards)f
+(to)h Fl(mailman-listname)3794 2133 y(*)3844 2118 y Fw(.)125
+2272 y Fd(\017)41 b Fw(If)26 b(there)g(is)h(a)g(user)f
+Fl(mailman)f Fw(on)h(your)f(system,)j(the)f(alias)g Fl(mailman-owner)d
+Fw(will)j(w)o(ork)f(only)f(in)i(`)p Fv(\230mailman)p
+Fw('.)41 b(Y)-9 b(ou)208 2372 y(ha)n(v)o(e)19 b(to)h(do)g(a)h
+Fr(touch)f(.qmail-o)o(wner)g Fw(in)g(`)p Fv(\230mailman)p
+Fw(')e(directory)h(to)h(create)g(this)h(alias.)208 2498
+y Fq(NB:)26 b Fw(An)f(alternati)n(v)o(e,)h(IMHO)g(better)f(solution)g
+(is)h(to)g Fr(cho)o(wn)g(r)o(oot)f(\230mailman)p Fw(,)i(that)e(will)i
+(stop)f(qmail)f(from)g(considering)208 2598 y Fl(mailman)19
+b Fw(to)h(be)g(a)h(user)f(to)h(whom)e(mail)h(can)g(be)g(deli)n(v)o
+(ered.)j(\(See)e(\223man)e(8)i(qmail-getpw\224.\))125
+2752 y Fd(\017)41 b Fw(In)18 b(a)h(related)f(issue,)h(if)g(you)e(ha)n
+(v)o(e)h(an)o(y)g(users)h(with)f(the)h(same)g(name)f(as)h(one)f(of)g
+(your)f(mailing)h(lists,)i(you)e(will)h(ha)n(v)o(e)f(problems)208
+2851 y(if)30 b(list)i(names)e(contain)f(`)p Fl(-)p Fw(')h(in)g(them.)55
+b(Putting)30 b(`)p Fv(.qmail)p Fw(')f(redirections)f(into)j(the)f
+(user')-5 b(s)30 b(home)g(directory)e(doesn')o(t)h(w)o(ork)208
+2951 y(because)22 b(the)g(Mailman)g(wrappers)g(will)h(not)g(get)g(spa)o
+(wned)e(with)i(the)g(proper)e(GID.)h(The)h(solution)f(is)h(to)g(put)f
+(the)h(follo)n(wing)208 3051 y(lines)d(in)g(the)h(`)p
+Fv(/v)n(ar/qmail/users/assign)p Fw(')16 b(\002le:)533
+3269 y Fk(+zope-:alias:112:11:/var/qmail/alias:-:zop)o(e-:)533
+3360 y(.)208 3627 y Fw(where)j(in)h(this)h(case)g(the)f(listname)g(is)h
+(e.g.)k Fl(zope-users)p Fw(.)208 3753 y Fq(NB:)g Fw(Alternati)n(v)o
+(ely)-5 b(,)24 b(you)g(could)g(host)h(the)g(lists)h(on)f(a)g(virtual)f
+(domain,)h(and)f(use)h(the)g(`)p Fv(/v)n(ar/qmail/control/vir)s(tualdo)
+o(mai)o(ns)p Fw(')208 3853 y(\002le)20 b(to)h(put)f(the)g
+Fl(mailman)f Fw(user)h(in)h(char)o(ge)d(of)i(this)h(virtual)e(domain.)
+125 4007 y Fd(\017)41 b Fq(BN:)p Fw(If)32 b(inbound)e(messages)j(are)f
+(deli)n(v)o(ered)f(by)h(another)g(user)g(than)g Fl(mailman)p
+Fw(,)j(it')-5 b(s)34 b(necessary)e(to)g(allo)n(w)h(it)g(to)g(access)208
+4106 y(`)p Fv(\230mailman)p Fw('.)26 b(Be)d(sure)e(that)g(`)p
+Fv(\230mailman)p Fw(')f(has)i(group)d(writing)i(access)h(and)f(setgid)h
+(bit)f(is)i(set.)29 b(Then)21 b(put)g(the)g(deli)n(v)o(ering)f(user)208
+4206 y(to)f Fl(mailman)f Fw(group,)f(and)i(you)f(can)h(den)o(y)f
+(access)i(to)f(`)p Fv(\230mailman)p Fw(')e(to)i(others.)24
+b(Be)c(sure)f(that)g(you)f(can)h(do)g(the)g(same)g(with)h(the)208
+4306 y(WWW)h(service.)208 4432 y(By)50 b(the)g(w)o(ay)g(the)g(best)g
+(thing)f(is)i(to)f(mak)o(e)f(a)i(virtual)e(mail)h(serv)o(er)f(to)h
+(handle)f(all)h(of)g(the)g(mail.)114 b Fq(NB:)50 b Fw(E.g.)208
+4532 y(mak)o(e)c(an)h(additional)f(\224A\224)h(DNS)h(record)d(for)i
+(the)g(virtual)f(mailserv)o(er)g(pointing)g(to)h(your)f(IP)h(address,)
+53 b(add)47 b(the)208 4632 y(line)54 b Fl(lists.kva.hu:mailman)c
+Fw(to)k(`)p Fv(/v)n(ar/qmail/control/vir)s(tualdo)o(mai)o(ns)p
+Fw(')48 b(and)54 b(a)g Fl(lists.kva.hu)e Fw(line)i(to)208
+4731 y(`)p Fv(/v)n(ar/qmail/control/rcpthosts)p Fw(')16
+b(\002le.)32 b(Don')o(t)21 b(for)o(get)f(to)j(HUP)g(the)f(qmail-send)f
+(after)g(modifying)f(\223virtualdomains\224.)28 b(Then)208
+4831 y(e)n(v)o(ery)18 b(mail)j(to)f(lists.kv)n(a.hu)f(will)i(arri)n(v)o
+(e)e(to)h(mail.kv)n(a.hu')-5 b(s)18 b(mailman)i(user)-5
+b(.)208 4958 y(Then)19 b(mak)o(e)h(your)f(aliases:)892
+5176 y Fk(.qmail)627 b(=>)44 b(mailman@...'s)f(letters)892
+5267 y(.qmail-owner)357 b(=>)44 b(mailman-owner's)f(letters)p
+0 5549 3901 4 v 0 5649 a Fo(6.4)83 b(Using)24 b(the)f(Qmail)h(mail)g
+(ser)r(v)n(er)2589 b(17)p eop end
+%%Page: 18 18
+TeXDict begin 18 17 bop 208 83 a Fw(F)o(or)19 b(list)j(aliases,)f(you)e
+(can)h(either)g(create)g(them)f(manually:)892 307 y Fk(.qmail-list)402
+b(=>)44 b(posts)g(to)h(the)f('list')g(list)892 399 y(.qmail-list-admin)
+132 b(=>)44 b(posts)g(to)h(the)f('list's)g(owner)892
+490 y(.qmail-list-request)e(=>)i(requests)g(to)g('list')892
+581 y(etc)208 854 y Fw(or)c(for)h(automatic)f(list)i(alias)g(handling)e
+(\(when)g(using)g(the)i(lists.kv)n(a.hu)d(virtual)i(as)h(abo)o(v)o
+(e\),)i(see)e(`)p Fv(contr)q(ib/qmail-to-)208 953 y(mailman.p)n(y)p
+Fw(')18 b(in)i(the)g(Mailman)g(source)f(distrib)n(ution.)24
+b(Modify)19 b(the)h(`)p Fv(\230mailman/.qmail-def)n(au)o(lt)p
+Fw(')14 b(to)21 b(include:)892 1177 y Fk(|preline)44
+b(/path/to/python)e(/path/to/qmail-to-mailman.py)208
+1450 y Fw(and)19 b(ne)n(w)h(lists)i(will)f(automatically)d(be)j(pick)o
+(ed)e(up.)125 1616 y Fd(\017)41 b Fw(Y)-9 b(ou)21 b(ha)n(v)o(e)h(to)g
+(mak)o(e)g(sure)g(that)g(the)g(localhost)g(can)g(relay)-5
+b(.)30 b(If)22 b(you)f(start)i(qmail)f(via)g(inetd)g(and)f(tcpen)m(v)-5
+b(,)21 b(you)g(need)g(some)h(line)208 1716 y(the)e(follo)n(wing)e(in)j
+(your)e(`)p Fv(/etc/hosts)o(.allo)o(w)p Fw(')d(\002le:)713
+1940 y Fk(tcp-env:)43 b(127.)h(10.205.200.)f(:)i(setenv)f(RELAYCLIENT)
+208 2212 y Fw(where)18 b(10.205.200.)j(is)f(your)e(IP)i(address)f
+(block.)k(If)c(you)g(use)g(tcpserv)o(er)m(,)f(then)g(you)h(need)f
+(something)g(lik)o(e)i(the)f(follo)n(wing)e(in)208 2312
+y(your)h(`)p Fv(/etc/tcp)m(.smtp)p Fw(')i(\002le:)713
+2536 y Fk(10.205.200.:allow,RELAYCLIENT="")713 2627 y
+(127.:allow,RELAYCLIENT="")125 2933 y Fd(\017)41 b Fq(BN:)23
+b Fw(Bigger)f(`)p Fv(/v)n(ar/qmail/control/concurrencyremo)o(te)p
+Fw(')17 b(v)n(alues)22 b(w)o(ork)g(better)h(sending)e(outbound)f
+(messages,)j(within)g(rea-)208 3033 y(son.)43 b(Unless)27
+b(you)e(kno)n(w)g(your)h(system)g(can)g(handle)g(it)h(\(man)o(y)d(if)j
+(not)f(most)g(cannot\))f(this)i(should)f(not)g(be)g(set)h(to)f(a)h(v)n
+(alue)208 3132 y(greater)19 b(than)g(120.)125 3298 y
+Fd(\017)41 b Fw(More)19 b(information)f(about)h(setting)h(up)g(qmail)g
+(and)g(relaying)e(can)i(be)h(found)d(in)i(the)h(qmail)e(documentation.)
+0 3528 y Fq(BN:)24 b Fw(Last)g(b)n(ut)f(not)h(least,)h(here')-5
+b(s)23 b(a)h(little)g(script)g(to)g(generate)e(aliases)i(to)g(your)e
+(lists)j(\(if)f(for)f(some)g(reason)g(you)f(can/will)i(not)f(ha)n(v)o
+(e)0 3628 y(them)d(automatically)f(pick)o(ed)g(up)h(using)f(`)p
+Fv(contr)q(ib/qmail-to-mailman.p)m(y)p Fw('\):)0 3775
+y(This)h(script)h(is)g(for)e(the)h(Mailman)g(2.0)g(series:)236
+4013 y Fk(#!/bin/sh)236 4104 y(if)45 b([)f($#)h(=)g(1)f(];)h(then)416
+4196 y(i=$1)416 4287 y(echo)f(Making)g(links)g(to)g($i)h(in)f(the)g
+(current)g(directory...)416 4378 y(echo)g("|preline)f
+(/home/mailman/mail/mailman)d(post)45 b($i")f(>)h(.qmail-$i)416
+4469 y(echo)f("|preline)f(/home/mailman/mail/mailman)d(mailowner)k($i")
+g(>)h(.qmail-$i-admin)416 4561 y(echo)f("|preline)f
+(/home/mailman/mail/mailman)d(mailowner)k($i")g(>)h(.qmail-$i-owner)416
+4652 y(echo)f("|preline)f(/home/mailman/mail/mailman)d(mailowner)k($i")
+g(>)h(.qmail-owner-$i)416 4743 y(echo)f("|preline)f
+(/home/mailman/mail/mailman)d(mailcmd)k($i")g(>)h(.qmail-$i-request)236
+4835 y(fi)0 5121 y Fr(Note:)81 b Fw(This)28 b(is)h(for)e(a)h(ne)n(w)g
+(Mailman)f(2.1)h(installation.)47 b(Users)29 b(upgrading)c(from)i
+(Mailman)g(2.0)g(w)o(ould)g(most)h(lik)o(ely)g(change)0
+5221 y(`)p Fv(/usr/local/mailman)p Fw(')19 b(to)k(`)p
+Fv(/home/mailman)p Fw('.)30 b(If)23 b(in)g(doubt,)f(refer)g(to)h(the)g
+Fr(--pr)o(e\002x)f Fw(option)g(passed)h(to)g Fr(con\002gur)o(e)f
+Fw(during)g(compile)0 5321 y(time.)p 0 5549 3901 4 v
+0 5649 a Fo(18)2827 b(6)83 b(Set)23 b(up)h(y)n(our)f(mail)h(ser)r(v)n
+(er)p eop end
+%%Page: 19 19
+TeXDict begin 19 18 bop 236 174 a Fk(#!/bin/sh)236 266
+y(if)45 b([)f($#)h(=)g(1)f(];)h(then)416 357 y(i=$1)416
+448 y(echo)f(Making)g(links)g(to)g($i)h(in)f(the)g(current)g
+(directory...)416 540 y(echo)g("|preline)f
+(/usr/local/mailman/mail/mailman)d(post)k($i")g(>)h(.qmail-$i)416
+631 y(echo)f("|preline)f(/usr/local/mailman/mail/mailman)d(admin)k($i")
+g(>)h(.qmail-$i-admin)416 722 y(echo)f("|preline)f
+(/usr/local/mailman/mail/mailman)d(bounces)j($i")i(>)f
+(.qmail-$i-bounces)416 814 y(#)g(The)h(following)e(line)h(is)h(for)f
+(VERP)416 905 y(#)g(echo)g("|preline)g(/usr/local/mailman/mail/mailman)
+39 b(bounces)44 b($i")g(>)h(.qmail-$i-bounces-default)416
+996 y(echo)f("|preline)f(/usr/local/mailman/mail/mailman)d(confirm)j
+($i")i(>)f(.qmail-$i-confirm)416 1088 y(echo)g("|preline)f
+(/usr/local/mailman/mail/mailman)d(join)k($i")g(>)h(.qmail-$i-join)416
+1179 y(echo)f("|preline)f(/usr/local/mailman/mail/mailman)d(leave)k
+($i")g(>)h(.qmail-$i-leave)416 1270 y(echo)f("|preline)f
+(/usr/local/mailman/mail/mailman)d(owner)k($i")g(>)h(.qmail-$i-owner)
+416 1362 y(echo)f("|preline)f(/usr/local/mailman/mail/mailman)d
+(request)j($i")i(>)f(.qmail-$i-request)416 1453 y(echo)g("|preline)f
+(/usr/local/mailman/mail/mailman)d(subscribe)j($i")h(>)h
+(.qmail-$i-subscribe)416 1544 y(echo)f("|preline)f
+(/usr/local/mailman/mail/mailman)d(unsubscribe)j($i")h(>)h
+(.qmail-$i-unsubscribe)236 1636 y(fi)0 2047 y Fo(Inf)n(or)r(mation)24
+b(on)f(VERP)0 2250 y Fw(Y)-9 b(ou)24 b(will)i(note)e(in)h(the)f(alias)i
+(generating)c(script)j(for)f(2.1)g(abo)o(v)o(e,)g(there)g(is)i(a)f
+(line)g(for)f(VERP)h(that)g(has)g(been)f(commented)f(out.)38
+b(If)0 2350 y(you)18 b(are)i(interested)e(in)i(VERP)g(there)e(are)i(tw)
+o(o)f(options.)24 b(The)19 b(\002rst)h(option)e(is)i(to)f(allo)n(w)h
+(Mailman)e(to)i(do)e(the)i(VERP)g(formatting.)i(T)-7
+b(o)0 2450 y(acti)n(v)n(ate)20 b(this,)g(uncomment)e(that)i(line)h(and)
+e(add)h(the)g(follo)n(wing)f(lines)h(to)h(your)e(`)p
+Fv(mm)p 2477 2450 23 4 v 27 w(cfg.p)n(y)p Fw(')g(\002le:)416
+2688 y Fk(VERP_FORMAT)43 b(=)h
+('\045\(bounces\)s-+\045\(mailbox\)s=\045\(host\)s')416
+2779 y(VERP_REGEXP)f(=)h(r'\210\(?P<bounces>.)1763 2792
+y(*)1808 2779 y(?\)-\\+\(?P<mailbox>[\210=]+\))o(=\(?P<h)o(ost>[\210)o
+(@]+\)@.)3649 2792 y(*)3694 2779 y($')0 3066 y Fw(The)20
+b(second)f(option)g(is)i(a)g(patch)e(on)h(SourceF)o(or)o(ge)d(located)j
+(at:)0 3213 y Fv(http://sourcef)n(orge)o(.net/t)o(r)o(ac)o(k)o(e)o(r/?)
+o(fun)o(c=de)o(tai)o(l&a)o(tid)o(=3)o(00)o(10)o(3&a)o(id=)o(64)o(55)o
+(13)o(&g)o(rou)o(p)p 2530 3213 V 20 w(id=103)0 3359 y
+Fw(This)i(patch)f(currently)f(needs)h(more)g(testing)h(and)f(might)g
+(best)h(be)g(suitable)g(for)f(de)n(v)o(elopers)e(or)j(people)f(well)h
+(f)o(amiliar)f(with)h(qmail.)0 3459 y(Ha)n(ving)e(said)g(that,)g(this)h
+(patch)e(is)i(the)g(more)e(qmail-friendly)e(approach)h(resulting)i(in)g
+(lar)o(ge)f(performance)f(gains.)0 3727 y Fo(Vir)s(tual)25
+b(mail)f(ser)r(v)n(er)0 3930 y Fw(As)d(mentioned)d(in)j(the)f(6.4)f
+(section)h(for)g(a)g(virtual)g(mail)g(serv)o(er)m(,)f(a)i(patch)e
+(under)g(testing)h(is)h(located)f(at:)0 4077 y Fv(http://sf)n(.net/tr)o
+(ac)o(k)o(er/ind)o(e)n(x.p)o(hp)o(?fu)o(nc=d)o(eta)o(il)o(&ai)o(d=)o
+(621)o(25)o(7&g)n(rou)o(p)p 2053 4077 V 21 w(id=103&atid=3001)o(03)0
+4224 y Fw(Again,)f(this)i(patch)e(is)i(for)f(people)f(f)o(amiliar)h
+(with)g(their)g(qmail)g(installation.)0 4492 y Fo(More)j(inf)n(or)r
+(mation)0 4695 y Fw(Y)-9 b(ou)25 b(might)h(be)g(interested)f(in)h(some)
+g(information)d(on)j(modifying)d(footers)j(that)g(Norbert)e(Bollo)n(w)i
+(has)g(written)g(about)f(Mailman)0 4795 y(and)20 b(qmail,)f(a)n(v)n
+(ailable)h(here:)0 4942 y Fv(http://mailman.cis)o(.to/qmail-)o(v)n
+(erh/)p 0 5549 3901 4 v 0 5649 a Fo(6.4)83 b(Using)24
+b(the)f(Qmail)h(mail)g(ser)r(v)n(er)2589 b(19)p eop end
+%%Page: 20 20
+TeXDict begin 20 19 bop 0 87 a Fx(7)120 b(Re)l(vie)n(w)34
+b(y)n(our)g(site)f(def)l(aults)0 320 y Fw(Mailman)23
+b(has)g(a)h(lar)o(ge)e(number)f(of)i(site-wide)g(con\002guration)e
+(options)h(which)h(you)f(should)g(no)n(w)h(re)n(vie)n(w)f(and)h(change)
+f(according)0 420 y(to)j(your)f(needs.)39 b(Some)25 b(of)g(the)g
+(options)f(control)f(ho)n(w)i(Mailman)f(interacts)h(with)g(your)f(en)m
+(vironment,)f(and)i(other)f(options)g(select)0 519 y(def)o(aults)c(for)
+f(ne)n(wly)h(created)f(lists)1015 489 y Fm(4)1049 519
+y Fw(.)26 b(There)19 b(are)h(system)h(tuning)e(parameters)g(and)g(inte)
+o(gration)g(options.)0 666 y(The)24 b(full)f(set)i(of)e(site-wide)h
+(def)o(aults)g(li)n(v)o(es)g(in)g(the)f(`)p Fj($)p Fq(pr)m(e\002x)p
+Fo(/Mailman/Def)n(aults)o(.p)n(y)p Fw(')h(\002le,)h(ho)n(we)n(v)o(er)d
+(you)h(should)g Fr(ne)o(v)o(er)g Fw(modify)0 766 y(this)29
+b(\002le!)50 b(Instead,)29 b(change)e(the)h(`)p Fv(mm)p
+1174 766 23 4 v 27 w(cfg.p)n(y)p Fw(')g(\002le)h(in)f(that)h(same)f
+(directory)-5 b(.)47 b(Y)-9 b(ou)28 b(only)f(need)h(to)g(add)g(v)n
+(alues)g(to)g(`)p Fv(mm)p 3652 766 V 27 w(cfg.p)n(y)p
+Fw(')0 866 y(that)c(are)f(dif)n(ferent)f(than)h(the)g(def)o(aults)g(in)
+h(`)p Fv(Def)n(aults)o(.p)n(y)p Fw(',)d(and)i(future)f(Mailman)h
+(upgrades)f(are)h(guaranteed)f(ne)n(v)o(er)g(to)h(touch)g(your)0
+965 y(`)p Fv(mm)p 156 965 V 27 w(cfg.p)n(y)p Fw(')d(\002le.)0
+1112 y(The)k(`)p Fv(Def)n(aults)o(.p)n(y)p Fw(')d(\002le)j(is)h
+(documented)c(e)o(xtensi)n(v)o(ely)-5 b(,)23 b(so)h(the)g(options)f
+(are)h(not)g(described)e(here.)36 b(The)24 b(`)p Fv(Def)n(aults)o(.p)n
+(y)p Fw(')d(and)i(`)p Fv(mm)p 3852 1112 V 27 w(-)0 1212
+y(cfg.p)n(y)p Fw(')d(are)g(both)f(Python)g(\002les)i(so)g(v)n(alid)e
+(Python)h(syntax)f(must)h(be)g(maintained)f(or)h(your)f(Mailman)g
+(installation)h(will)h(break.)0 1358 y Fr(Note:)73 b
+Fw(Do)26 b Fr(not)g Fw(change)e(the)i Fq(HOME)p 1172
+1358 25 4 v 30 w(DIR)g Fw(or)f Fq(MAILMAN)p 1831 1358
+V 30 w(DIR)h Fw(v)n(ariables.)41 b(These)26 b(are)g(set)h
+(automatically)d(by)h(the)h Fr(con\002gur)o(e)0 1458
+y Fw(script,)20 b(and)g(you)f(will)i(break)e(your)g(Mailman)g
+(installation)h(by)g(if)h(you)e(change)g(these.)0 1605
+y(Y)-9 b(ou)20 b(should)f(mak)o(e)h(an)o(y)f(changes)g(to)h(`)p
+Fv(mm)p 1265 1605 23 4 v 27 w(cfg.p)n(y)p Fw(')g(using)g(the)g(account)
+f(you)g(installed)h(Mailman)g(under)f(in)h(the)g(14)g(section.)0
+1932 y Fx(8)120 b(Create)35 b(a)f(site-wide)g(mailing)e(list)0
+2165 y Fw(After)22 b(you)g(ha)n(v)o(e)g(completed)g(the)g(inte)o
+(gration)f(of)i(Mailman)f(and)g(your)g(mail)g(serv)o(er)m(,)g(you)g
+(need)g(to)h(create)g(a)g(\223site-wide\224)f(mailing)0
+2265 y(list.)j(This)17 b(is)h(the)g(one)e(that)h(passw)o(ord)g
+(reminders)e(will)j(appear)e(to)i(come)e(from,)h(and)f(it)i(is)g
+(required)d(for)i(proper)e(Mailman)i(operation.)0 2364
+y(Usually)i(this)h(should)e(be)i(a)f(list)i(called)e
+Fl(mailman)p Fw(,)g(b)n(ut)g(if)h(you)e(need)h(to)g(change)f(this,)i
+(be)f(sure)h(to)f(change)f(the)i Fq(MAILMAN)p 3652 2364
+25 4 v 29 w(SITE)p 3848 2364 V 29 w(-)0 2464 y(LIST)27
+b Fw(v)n(ariable)19 b(in)h(`)p Fv(mm)p 716 2464 23 4
+v 27 w(cfg.p)n(y)p Fw('.)k(Y)-9 b(ou)20 b(can)g(create)g(the)g(site)h
+(list)g(with)g(this)f(command,)e(follo)n(wing)h(the)h(prompts:)416
+2702 y Fk(\045)44 b(bin/newlist)f(mailman)0 2989 y Fw(No)n(w)23
+b(con\002gure)f(your)h(site)h(list.)36 b(There)23 b(is)i(a)f(con)m(v)o
+(enient)d(template)i(for)g(a)h(generic)e(site)j(list)f(in)g(the)g
+(installation)f(directory)-5 b(,)22 b(under)0 3088 y(`)p
+Fv(data/sitelist.cfg)p Fw(')c(which)j(can)h(help)f(you)g(with)i(this.)
+30 b(Y)-9 b(ou)21 b(should)g(re)n(vie)n(w)g(the)h(con\002guration)e
+(options)h(in)h(the)g(template,)f(b)n(ut)h(note)0 3188
+y(that)e(an)o(y)g(options)f(not)h(named)f(in)h(the)g(`)p
+Fv(sitelist.cfg)p Fw(')e(\002le)j(w)o(on')o(t)e(be)i(changed.)0
+3335 y(The)f(template)g(can)g(be)g(applied)f(to)h(your)f(site)i(list)g
+(by)f(running:)416 3573 y Fk(\045)44 b(bin/config_list)f(-i)h
+(data/sitelist.cfg)e(mailman)0 3860 y Fw(After)20 b(applying)e(the)i(`)
+p Fv(sitelist.cfg)p Fw(')f(options,)g(be)h(sure)g(you)f(re)n(vie)n(w)h
+(the)g(site)h(list')-5 b(s)21 b(con\002guration)d(via)i(the)g(admin)g
+(pages.)0 4007 y(Y)-9 b(ou)20 b(should)f(also)h(subscribe)g(yourself)e
+(to)j(the)f(site)h(list.)0 4334 y Fx(9)120 b(Set)34 b(up)g(cron)0
+4567 y Fw(Se)n(v)o(eral)22 b(Mailman)f(features)h(occur)f(on)h(a)h(re)o
+(gular)e(schedule,)h(so)g(you)g(must)g(set)h(up)f Fr(cr)o(on)g
+Fw(to)h(run)e(the)i(right)e(programs)g(at)i(the)f(right)0
+4666 y(time)148 4636 y Fm(5)181 4666 y Fw(.)0 4813 y(If)d(your)f(v)o
+(ersion)h(of)g(crontab)f(supports)g(the)h Fr(-u)h Fw(option,)e(you)h
+(must)g(be)g(root)g(to)h(do)f(this)h(ne)o(xt)e(step.)25
+b(Add)19 b(`)p Fj($)p Fq(pr)m(e\002x)p Fo(/cron/crontab)m(.in)p
+Fw(')0 4913 y(as)i(a)g(crontab)d(entry)i(by)f(e)o(x)o(ecuting)f(these)j
+(commands:)p 0 4984 1560 4 v 90 5040 a Fi(4)120 5063
+y Fp(In)f(general,)j(changing)f(the)f(list)h(def)o(aults)g(described)h
+(in)e(this)g(section)h(will)f(not)g(af)n(fect)h(an)o(y)f(already)i
+(created)g(lists.)31 b(T)-5 b(o)20 b(mak)o(e)h(changes)h(after)f(a)g
+(list)g(has)g(been)0 5142 y(created,)e(use)e(the)h(web)f(interf)o(ace)j
+(or)d(the)h(command)g(line)g(scripts,)f(such)h(as)f Fa(bin/withlist)h
+Fp(and)g Fa(bin/con\002g)p 2518 5142 20 4 v 25 w(list)p
+Fp(.)90 5199 y Fi(5)120 5223 y Fp(Note)23 b(that)i(if)e(you')m(re)h
+(upgrading)h(from)e(a)g(pre)n(vious)i(v)o(ersion)f(of)f(Mailman,)j
+(you')o(ll)e(w)o(ant)g(to)g(install)h(the)f(ne)n(w)g(crontab,)i(b)o(ut)
+d(be)g(careful)i(if)f(you')m(re)f(running)0 5302 y(multiple)c(Mailman)f
+(installations)j(on)c(your)h(site!)j(Changing)e(the)f(crontab)h(could)f
+(mess)f(with)g(other)h(parallel)i(Mailman)f(installations.)p
+0 5549 3901 4 v 0 5649 a Fo(20)3254 b(9)83 b(Set)24 b(up)g(cron)p
+eop end
+%%Page: 21 21
+TeXDict begin 21 20 bop 416 174 a Fk(\045)44 b(cd)h($prefix/cron)416
+266 y(\045)f(crontab)g(-u)g(mailman)g(crontab.in)0 553
+y Fw(If)23 b(you)e(used)i(the)g Fr(--with-user)o(name)e
+Fw(option,)h(use)h(that)g(user)f(name)g(instead)h(of)f
+Fl(mailman)g Fw(for)g(the)h Fr(-u)g Fw(ar)o(gument)d(v)n(alue.)32
+b(If)23 b(your)0 652 y(crontab)c(does)h(not)g(support)e(the)j
+Fr(-u)f Fw(option,)f(try)h(these)g(commands:)416 891
+y Fk(\045)44 b(cd)h($prefix/cron)416 982 y(\045)f(su)h(-)f(mailman)416
+1073 y(\045)g(crontab)g(crontab.in)0 1522 y Fx(10)120
+b(Star)5 b(t)34 b(the)g(Mailman)f(qr)r(unner)0 1755 y
+Fw(Mailman)20 b(depends)f(on)i(a)g(process)f(called)h(the)f
+(\223qrunner\224)e(to)j(deli)n(v)o(ery)e(all)j(email)e(messages)h(it)h
+(sees.)27 b(Y)-9 b(ou)20 b(must)h(start)g(the)g(qrunner)0
+1854 y(by)f(e)o(x)o(ecuting)e(the)i(follo)n(wing)f(command)f(from)h
+(the)h Fj($)p Fq(pr)m(e\002x)g Fw(directory:)416 2093
+y Fk(\045)44 b(bin/mailmanctl)f(start)0 2379 y Fw(Y)-9
+b(ou)27 b(probably)f(w)o(ant)i(to)h(start)f(Mailman)g(e)n(v)o(ery)e
+(time)j(you)e(reboot)g(your)f(system.)49 b(Exactly)27
+b(ho)n(w)h(to)g(do)g(this)g(depends)f(on)h(your)0 2479
+y(operating)20 b(system.)30 b(If)21 b(your)g(OS)h(supports)f(the)g
+Fr(chkcon\002g)h Fw(command)e(\(e.g.)29 b(RedHat)22 b(and)f(Mandrak)o
+(e)f(Linux)o(es\))g(you)h(can)g(do)h(the)0 2578 y(follo)n(wing)d(\(as)h
+(root,)f(from)h(the)g(Mailman)f(install)i(directory\):)416
+2817 y Fk(\045)44 b(cp)h(scripts/mailman)d(/etc/init.d/mailman)416
+2908 y(\045)i(chkconfig)g(--add)g(mailman)0 3194 y Fw(Note)20
+b(that)g(`)p Fv(/etc/init.d)p Fw(')e(may)h(be)h(`)p Fv
+(/etc/rc.d/init.d)p Fw(')d(on)j(some)g(systems.)0 3341
+y(On)g(Gentoo)f(Linux,)g(you)h(can)g(do)f(the)h(follo)n(wing:)416
+3579 y Fk(\045)44 b(cp)h(scripts/mailman)d(/etc/init.d/mailman)416
+3671 y(\045)i(rc-update)g(add)g(mailman)g(default)0 3957
+y Fw(On)20 b(Debian,)f(you)h(probably)e(w)o(ant)i(to)g(use:)416
+4196 y Fk(\045)44 b(update-rc.d)f(mailman)h(defaults)0
+4483 y Fw(F)o(or)22 b(U)t Fp(N)t(I)t(X)r Fw(es)f(that)f(don')o(t)f
+(support)g Fr(chkcon\002g)p Fw(,)h(you)f(might)h(try)g(the)g(follo)n
+(wing)e(set)j(of)f(commands:)p 0 5549 3901 4 v 3808 5649
+a Fo(21)p eop end
+%%Page: 22 22
+TeXDict begin 22 21 bop 416 174 a Fk(\045)44 b(cp)h(scripts/mailman)d
+(/etc/init.d/mailman)416 266 y(\045)i(cp)h(misc/mailman)e(/etc/init.d)
+416 357 y(\045)h(cd)h(/etc/rc.d/rc0.d)416 448 y(\045)f(ln)h(-s)f
+(../init.d/mailman)e(K12mailman)416 540 y(\045)i(cd)h(../rc1.d)416
+631 y(\045)f(ln)h(-s)f(../init.d/mailman)e(K12mailman)416
+722 y(\045)i(cd)h(../rc2.d)416 814 y(\045)f(ln)h(-s)f
+(../init.d/mailman)e(S98mailman)416 905 y(\045)i(cd)h(../rc3.d)416
+996 y(\045)f(ln)h(-s)f(../init.d/mailman)e(S98mailman)416
+1088 y(\045)i(cd)h(../rc4.d)416 1179 y(\045)f(ln)h(-s)f
+(../init.d/mailman)e(S98mailman)416 1270 y(\045)i(cd)h(../rc5.d)416
+1362 y(\045)f(ln)h(-s)f(../init.d/mailman)e(S98mailman)416
+1453 y(\045)i(cd)h(../rc6.d)416 1544 y(\045)f(ln)h(-s)f
+(../init.d/mailman)e(K12mailman)0 1993 y Fx(11)120 b(Chec)n(k)34
+b(the)h(hostname)g(settings)0 2226 y Fw(Y)-9 b(ou)27
+b(should)g(check)g(the)h(v)n(alues)f(for)g Fq(DEF)-10
+b(A)l(UL)n(T)p 1481 2226 25 4 v 30 w(EMAIL)p 1756 2226
+V 30 w(HOST)34 b Fw(and)27 b Fq(DEF)-10 b(A)l(UL)n(T)p
+2525 2226 V 30 w(URL)p 2712 2226 V 30 w(HOST)34 b Fw(in)28
+b(`)p Fv(Def)n(aults)o(.p)n(y)p Fw('.)45 b(Mak)o(e)27
+b(an)o(y)0 2325 y(necessary)19 b(changes)f(in)i(the)f(`)p
+Fv(mm)p 992 2325 23 4 v 27 w(cfg.p)n(y)p Fw(')g(\002le,)h
+Fr(not)f Fw(in)h(the)f(`)p Fv(Def)n(aults)o(.p)n(y)p
+Fw(')e(\002le.)25 b(If)19 b(you)g(change)f(either)h(of)g(these)h(tw)o
+(o)g(v)n(alues,)e(you')o(ll)0 2425 y(w)o(ant)i(to)h(add)e(the)i(follo)n
+(wing)d(afterw)o(ards)h(in)i(the)f(`)p Fv(mm)p 1605 2425
+V 27 w(cfg.p)n(y)p Fw(')f(\002le:)416 2663 y Fk
+(add_virtualhost\(DEFAULT_URL_HOST,)39 b(DEFAULT_EMAIL_HOST\))0
+2950 y Fw(Y)-9 b(ou)20 b(will)h(w)o(ant)f(to)g(run)g(the)g
+Fr(bin/\002x)p 1056 2950 25 4 v 30 w(url.py)g Fw(to)g(change)f(the)i
+(domain)d(of)i(an)o(y)g(e)o(xisting)f(lists.)0 3278 y
+Fx(12)120 b(Create)35 b(the)g(site)e(pass)l(w)o(ord)0
+3511 y Fw(There)20 b(are)h(tw)o(o)g(site-wide)f(passw)o(ords)h(that)g
+(you)f(can)g(create)h(from)e(the)i(command)e(line,)i(using)f(the)h
+Fr(bin/mmsitepass)h Fw(script.)27 b(The)0 3610 y(\002rst)c(is)f(the)g
+(\223site)h(passw)o(ord\224)e(which)g(can)h(be)g(used)f(an)o(ywhere)f
+(a)i(passw)o(ord)g(is)g(required)e(in)i(the)g(system.)30
+b(The)22 b(site)h(passw)o(ord)e(will)0 3710 y(get)27
+b(you)f(into)h(the)g(administration)e(page)i(for)f(an)o(y)g(list,)k
+(and)c(it)i(can)f(be)g(used)g(to)g(log)f(in)i(as)f(an)o(y)g(user)-5
+b(.)45 b(Think)26 b Fl(root)h Fw(for)g(a)g(Unix)0 3809
+y(system,)20 b(so)h(pick)e(this)i(passw)o(ord)f(wisely!)0
+3956 y(The)28 b(second)e(passw)o(ord)i(is)g(a)h(site-wide)e(\223list)i
+(creator\224)e(passw)o(ord.)47 b(Y)-9 b(ou)27 b(can)h(use)g(this)g(to)g
+(dele)o(gate)f(the)h(ability)f(to)h(create)g(ne)n(w)0
+4056 y(mailing)22 b(lists)j(without)e(pro)o(viding)d(all)k(the)f(pri)n
+(vile)o(ges)f(of)h(the)g(site)h(passw)o(ord.)33 b(Of)24
+b(course,)f(the)g(o)n(wner)f(of)h(the)g(site)h(passw)o(ord)f(can)0
+4156 y(also)e(create)e(ne)n(w)h(mailing)g(lists,)h(b)n(ut)f(the)h(list)
+g(creator)e(passw)o(ord)h(is)h(limited)f(to)g(just)h(that)f(special)g
+(role.)0 4302 y(T)-7 b(o)20 b(set)h(the)g(site)g(passw)o(ord,)e(use)h
+(this)h(command:)416 4541 y Fk(\045)44 b($prefix/bin/mmsitepass)d
+(<your-site-password>)0 4827 y Fw(T)-7 b(o)20 b(set)h(the)g(list)g
+(creator)e(passw)o(ord,)g(use)i(this)f(command:)416 5065
+y Fk(\045)44 b($prefix/bin/mmsitepass)d(-c)k(<list-creator-password>)0
+5352 y Fw(It)20 b(is)i(okay)d(not)h(to)g(set)h(a)g(list)g(creator)e
+(passw)o(ord,)g(b)n(ut)i(you)e(probably)f(do)h(w)o(ant)i(a)f(site)h
+(passw)o(ord.)p 0 5549 3901 4 v 0 5649 a Fo(22)2718 b(12)83
+b(Create)23 b(the)h(site)f(pass)n(w)o(ord)p eop end
+%%Page: 23 23
+TeXDict begin 23 22 bop 0 88 a Fx(13)120 b(Create)35
+b(y)n(our)f(\002rst)f(mailing)g(list)0 321 y Fw(F)o(or)17
+b(more)g(detailed)h(information)d(about)i(using)g(Mailman,)g(including)
+f(creating)h(and)g(con\002guring)f(mailing)h(lists,)i(see)f(the)g
+(Mailman)0 421 y(List)26 b(Adminstration)e(Manual.)41
+b(These)26 b(instructions)e(pro)o(vide)g(a)i(quick)f(guide)g(to)h
+(creating)e(your)h(\002rst)h(mailing)f(list)i(via)f(the)g(web)0
+520 y(interf)o(ace:)125 748 y Fd(\017)41 b Fw(Start)20
+b(by)g(visiting)g(the)g(url)g Fl(http://my.dom.ain/mailman/create)p
+Fw(.)125 913 y Fd(\017)41 b Fw(Fill)23 b(out)g(the)g(form)f(as)h
+(described)f(in)h(the)g(on-screen)e(instructions,)h(and)h(in)g(the)g
+(\223List)g(creator')-5 b(s)23 b(passw)o(ord\224)f(\002eld,)h(type)g
+(the)208 1013 y(passw)o(ord)d(you)h(entered)f(in)h(section)h(7.)28
+b(T)-7 b(ype)21 b(your)f(o)n(wn)h(email)g(address)g(for)g(the)g
+(\223Initial)h(list)g(o)n(wner)e(address\224,)h(and)g(select)208
+1113 y(\223Y)-8 b(es\224)20 b(to)g(notify)f(the)h(list)i(administrator)
+-5 b(.)125 1278 y Fd(\017)41 b Fw(Click)20 b(on)g(the)g(\223Create)h
+(List\224)f(b)n(utton.)125 1443 y Fd(\017)41 b Fw(Check)19
+b(your)g(email)i(for)e(a)i(message)f(from)f(Mailman)g(informing)f(you)i
+(that)g(your)f(ne)n(w)h(mailing)f(list)j(w)o(as)f(created.)125
+1609 y Fd(\017)41 b Fw(No)n(w)g(visit)h(the)g(list')-5
+b(s)42 b(administration)e(page,)46 b(either)41 b(by)g(follo)n(wing)f
+(the)i(link)f(on)g(the)g(con\002rmation)f(web)h(page)g(or)208
+1708 y(clicking)g(on)h(the)h(link)f(from)g(the)g(email)h(Mailman)f
+(just)h(sent)g(you.)91 b(T)-7 b(ypically)42 b(the)g(url)g(will)i(be)e
+(something)f(lik)o(e)208 1808 y Fl(http://my.dom.ain/mailman/admin/m)o
+(ylist)o Fw(.)125 1973 y Fd(\017)g Fw(T)-7 b(ype)19 b(in)i(the)f(list')
+-5 b(s)21 b(passw)o(ord)f(and)g(click)g(on)g(\223Let)g(me)g(in...)-6
+b(\224)125 2138 y Fd(\017)41 b Fw(Click)20 b(on)g(\223Membership)e
+(Management\224)g(and)i(then)g(on)f(\223Mass)i(Subscription\224.)125
+2304 y Fd(\017)41 b Fw(Enter)19 b(your)g(email)h(address)g(in)g(the)h
+(big)e(te)o(xt)h(\002eld,)h(and)e(click)h(on)g(\223Submit)g(Y)-9
+b(our)19 b(Changes\224.)125 2469 y Fd(\017)41 b Fw(No)n(w)20
+b(go)g(to)h(your)e(email)i(and)f(send)g(a)h(message)g(to)g
+Fl(mylist@my.dom.ain)p Fw(.)i(W)m(ithin)e(a)g(minute)e(or)i(tw)o(o)g
+(you)e(should)h(see)208 2569 y(your)e(message)j(re\003ected)e(back)h
+(to)g(you)f(via)h(Mailman.)0 2797 y(Congratulations!)i(Y)-9
+b(ou')l(v)o(e)17 b(just)i(set)g(up)f(and)g(tested)h(your)f(\002rst)h
+(Mailman)f(mailing)g(list.)25 b(If)18 b(you)g(had)g(an)o(y)g(problems)f
+(along)h(the)g(w)o(ay)-5 b(,)0 2896 y(please)20 b(see)h(the)f(14)g
+(section.)0 3223 y Fx(14)120 b(T)-14 b(roub)n(leshooting)0
+3456 y Fw(If)20 b(you)g(encounter)e(problems)h(with)h(running)f
+(Mailman,)g(\002rst)i(check)f(the)g(question)g(and)f(answer)h(section)h
+(belo)n(w)-5 b(.)24 b(If)c(your)f(problem)0 3556 y(is)i(not)f(co)o(v)o
+(ered)e(there,)h(check)h(the)g(online)f(help,)h(including)e(the)i(F)-6
+b(A)h(Q)22 b(and)d(the)h(interacti)n(v)o(e)f(F)-6 b(A)h(Q)21
+b(wizard.)0 3703 y(Also)26 b(check)f(for)f(errors)h(in)h(your)e(syslog)
+h(\002les,)j(your)c(mail)i(and)f(web)g(serv)o(er)g(log)g(\002les)h(and)
+f(in)h(Mailman')-5 b(s)25 b(`)p Fj($)p Fq(pr)m(e\002x)p
+Fo(/logs/error)p Fw(')0 3802 y(\002le.)37 b(If)24 b(you')l(re)e(still)k
+(ha)n(ving)d(problems,)g(you)g(should)g(send)h(a)h(message)f(to)g(the)g
+Fv(mailman-users@p)n(ython.org)19 b Fw(mailing)24 b(list)3711
+3772 y Fm(6)3744 3802 y Fw(;)j(see)0 3902 y Fv(http://mail.p)n
+(ython.org)o(/mail)o(man/)o(li)o(stinf)m(o/ma)o(ilma)o(n-u)o(sers)15
+b Fw(for)20 b(more)f(information.)0 4049 y(Be)j(sure)f(to)g(including)f
+(information)e(on)j(your)f(operating)f(system,)j(which)e(v)o(ersion)g
+(of)h(Python)f(you')l(re)f(using,)i(and)f(which)h(v)o(ersion)0
+4149 y(of)f(Mailman)f(you')l(re)g(installing.)0 4295
+y(Here)h(is)h(a)g(list)g(of)f(some)g(common)e(questions)i(and)f
+(answers:)125 4523 y Fd(\017)41 b Fr(Pr)o(oblem:)24 b
+Fw(All)d(Mailman)e(web)h(pages)g(gi)n(v)o(e)f(a)i(404)e(File)i(not)f
+(found)f(error)-5 b(.)208 4656 y Fr(Solution:)25 b Fw(Y)-9
+b(our)19 b(web)h(serv)o(er)g(has)h(not)f(been)f(set)j(up)e(properly)e
+(for)i(handling)e(Mailman')-5 b(s)20 b(CGI)h(programs.)j(Mak)o(e)c
+(sure)g(you)208 4755 y(ha)n(v)o(e:)286 4937 y(1.)41 b(con\002gured)18
+b(the)i(web)g(serv)o(er)g(to)g(gi)n(v)o(e)f(permissions)h(to)g(`)p
+Fj($)p Fq(pr)m(e\002x)p Fo(/cgi-bin)p Fw(')286 5069 y(2.)41
+b(restarted)20 b(the)g(web)g(serv)o(er)f(properly)-5
+b(.)208 5251 y(Consult)20 b(your)f(web)h(serv)o(er')-5
+b(s)19 b(documentation)f(for)h(instructions)g(on)h(ho)n(w)g(to)g(do)g
+(check)f(these)i(issues.)p 0 5321 1560 4 v 90 5377 a
+Fi(6)120 5400 y Fp(Y)-7 b(ou)16 b(must)h(subscribe)h(to)g(this)f
+(mailing)i(list)f(in)f(order)h(to)f(post)g(to)h(it,)f(b)o(ut)g(the)h
+(mailing)g(list')l(s)g(archi)n(v)o(es)i(are)d(publicly)j(visible.)p
+0 5549 3901 4 v 3808 5649 a Fo(23)p eop end
+%%Page: 24 24
+TeXDict begin 24 23 bop 125 83 a Fd(\017)41 b Fr(Pr)o(oblem:)24
+b Fw(All)d(Mailman)e(web)h(pages)g(gi)n(v)o(e)f(an)i(\224Internal)d
+(Serv)o(er)i(Error\224.)208 216 y Fr(Solution:)j Fw(The)c(lik)o(ely)f
+(problem)f(is)i(that)g(you)e(are)i(using)f(the)g(wrong)g(user)g(or)g
+(group)f(for)h(the)g(CGI)i(scripts.)k(Check)18 b(your)g(web)208
+315 y(serv)o(er')-5 b(s)19 b(log)h(\002les.)26 b(If)20
+b(you)f(see)i(a)g(line)f(lik)o(e)982 540 y Fk(Attempt)43
+b(to)i(exec)f(script)g(with)g(invalid)g(gid)g(51,)g(expected)g(99)208
+903 y Fw(you)19 b(will)i(need)e(to)i(reinstall)f(Mailman,)f(specifying)
+g(the)h(proper)e(CGI)j(group)e(id,)h(as)h(described)e(in)h(the)g
+(section.)125 1069 y Fd(\017)41 b Fr(Pr)o(oblem:)24 b
+Fw(I)c(send)g(mail)h(to)f(the)g(list,)h(and)f(get)g(back)f(mail)i
+(saying)e(the)i(list)g(is)g(not)f(found!)208 1202 y Fr(Solution:)37
+b Fw(Y)-9 b(ou)27 b(probably)d(didn')o(t)h(add)i(the)f(necessary)g
+(aliases)i(to)f(the)g(system)g(alias)g(database,)h(or)f(you)f(didn')o
+(t)f(properly)208 1302 y(inte)o(grate)19 b(Mailman)i(with)g(your)f
+(mail)h(serv)o(er)-5 b(.)27 b(Perhaps)21 b(you)f(didn')o(t)f(update)h
+(the)h(alias)h(database,)f(or)g(your)e(system)j(requires)208
+1402 y(you)d(to)h(run)g Fr(newaliases)g Fw(e)o(xplicitly)-5
+b(.)23 b(Refer)e(to)f(your)f(serv)o(er)g(speci\002c)i(instructions)e
+(in)h(the)g(6)h(section.)125 1568 y Fd(\017)41 b Fr(Pr)o(oblem:)24
+b Fw(I)c(send)g(mail)h(to)f(the)g(list,)h(and)f(get)g(back)f(mail)i
+(saying,)e(\223unkno)n(wn)f(mailer)i(error\224.)208 1700
+y Fr(Solution:)35 b Fw(The)26 b(lik)o(ely)g(problem)e(is)i(that)g(you)f
+(are)h(using)f(the)h(wrong)e(user)i(or)f(group)f(id)i(for)g(the)f(mail)
+h(wrappers.)41 b(Check)208 1800 y(your)18 b(mail)j(serv)o(er')-5
+b(s)20 b(log)f(\002les;)j(if)e(you)f(see)i(a)g(line)f(lik)o(e)982
+2024 y Fk(Attempt)43 b(to)i(exec)f(script)g(with)g(invalid)g(gid)g(51,)
+g(expected)g(99)208 2388 y Fw(you)19 b(will)i(need)e(to)i(reinstall)f
+(Mailman,)f(specifying)g(the)h(proper)e(mail)j(group)d(id)j(as)g
+(described)d(in)j(the)f(section.)125 2554 y Fd(\017)41
+b Fr(Pr)o(oblem:)g Fw(I)28 b(use)h(Post\002x)g(as)g(my)f(mail)h(serv)o
+(er)f(and)g(the)h(mail)f(wrapper)f(programs)g(are)i(logging)d
+(complaints)i(about)g(the)208 2654 y(wrong)18 b(GID.)208
+2787 y Fr(Solution:)40 b Fw(Mak)o(e)27 b(sure)h(the)g(`)p
+Fj($)p Fq(pr)m(e\002x)p Fo(/data/aliases)o(.db)p Fw(')g(\002le)h(is)f
+(user)g(o)n(wned)f(by)g Fl(mailman)h Fw(\(or)f(whate)n(v)o(er)f(user)i
+(name)208 2886 y(you)21 b(used)h(in)g(the)g Fr(con\002gur)o(e)g
+Fw(command\).)28 b(If)22 b(this)h(\002le)g(is)g(not)f(user)g(o)n(wned)f
+(by)h Fl(mailman)p Fw(,)f(Post\002x)i(will)g(not)f(run)f(the)h(mail)208
+2986 y(programs)c(as)j(the)f(correct)f(user)-5 b(.)125
+3152 y Fd(\017)41 b Fr(Pr)o(oblem:)h Fw(I)29 b(use)h(Sendmail)f(as)h
+(my)f(mail)g(serv)o(er)m(,)h(and)f(when)g(I)g(send)g(mail)h(to)f(the)g
+(list,)k(I)c(get)h(back)e(mail)i(saying,)g(\223sh:)208
+3251 y(mailman)19 b(not)h(a)n(v)n(ailable)f(for)h(sendmail)g
+(programs\224.)208 3384 y Fr(Solution:)33 b Fw(Y)-9 b(our)24
+b(system)g(uses)h(the)g(Sendmail)f(restricted)g(shell)h(\(smrsh\).)37
+b(Y)-9 b(ou)24 b(need)g(to)g(con\002gure)f(smrsh)h(by)h(creating)e(a)
+208 3484 y(symbolic)c(link)h(from)f(the)h(mail)h(wrapper)e(\(`)p
+Fj($)p Fq(pr)m(e\002x)p Fo(/mail/mailman)p Fw('\))i(to)f(the)h
+(directory)d(identifying)h(e)o(x)o(ecutables)f(allo)n(wed)208
+3584 y(to)i(run)f(under)g(smrsh.)208 3716 y(Some)g(common)g(names)h
+(for)f(this)i(directory)d(are)j(`)p Fv(/v)n(ar/admin/sm.bin)p
+Fw(',)16 b(`)p Fv(/usr/admin/sm.bin)p Fw(')h(or)j(`)p
+Fv(/etc/smrsh)p Fw('.)208 3849 y(Note)29 b(that)h(on)f(Debian)g(Linux,)
+h(the)g(system)f(mak)o(es)h(`)p Fv(/usr/lib/sm.bin)p
+Fw(',)e(which)h(is)i(wrong,)f(you)f(will)h(need)f(to)g(create)h(the)208
+3949 y(directory)20 b(`)p Fv(/usr/admin/sm.bin)p Fw(')g(and)i(add)g
+(the)g(link)h(there.)32 b(Note)22 b(further)f(an)o(y)h(aliases)i
+Fr(newaliases)e Fw(spits)i(out)e(will)h(need)f(to)208
+4048 y(be)e(adjusted)f(to)h(point)g(to)g(the)g(secure)g(link)g(to)h
+(the)f(wrapper)-5 b(.)125 4215 y Fd(\017)41 b Fr(Pr)o(oblem:)24
+b Fw(I)c(messed)g(up)g(when)g(I)g(called)g Fr(con\002gur)o(e)p
+Fw(.)k(Ho)n(w)c(do)g(I)g(clean)g(things)g(up)g(and)g(re-install?)208
+4347 y Fr(Solution:)802 4480 y Fk(\045)45 b(make)f(clean)802
+4572 y(\045)h(./configure)e(--with-the-right-options)802
+4663 y(\045)i(make)f(install)p 0 5549 3901 4 v 0 5649
+a Fo(24)3049 b(14)83 b(T)-10 b(roub)n(leshooting)p eop
+end
+%%Page: 25 25
+TeXDict begin 25 24 bop 0 87 a Fx(15)120 b(Platf)l(or)s(m)34
+b(and)h(oper)o(ating)g(system)e(notes)0 320 y Fw(Generally)-5
+b(,)30 b(Mailman)f(runs)h(on)f(an)o(y)g(POSIX-based)g(system,)j(such)d
+(as)h(Solaris,)j(the)c(v)n(arious)g(BSD)i(v)n(ariants,)g(Linux)d
+(systems,)0 420 y(MacOSX,)d(and)g(other)f(generic)j(U)t
+Fp(N)t(I)t(X)h Fw(systems.)41 b(It)25 b(doesn')o(t)f(run)h(on)g(W)m
+(indo)n(ws.)39 b(F)o(or)25 b(the)h(most)f(part,)h(the)f(generic)g
+(instructions)0 519 y(gi)n(v)o(en)k(in)i(this)f(document)f(should)g(be)
+h(suf)n(\002cient)g(to)h(get)f(Mailman)g(w)o(orking)f(on)h(an)o(y)f
+(supported)f(platform.)54 b(Some)30 b(operating)0 619
+y(systems)21 b(ha)n(v)o(e)e(additional)g(recommended)e(installation)j
+(or)g(con\002guration)d(instructions.)0 904 y Fn(15.1)100
+b(GNU/Lin)o(ux)28 b(issues)0 1107 y Fw(Linux)18 b(seems)i(to)g(be)f
+(the)h(most)f(popular)f(platform)g(for)h(running)e(Mailman.)24
+b(Here)c(are)f(some)g(hints)h(on)f(getting)g(Mailman)g(to)g(run)g(on)0
+1206 y(Linux:)125 1436 y Fd(\017)41 b Fw(If)f(you)f(are)h(getting)f
+(errors)g(with)i(hard)e(link)h(creations)f(and/or)g(you)g(are)h(using)g
+(a)g(special)h(secure)e(k)o(ernel)h(\(secure-)208 1536
+y(linux/openw)o(all/grsecurity\),)23 b(see)28 b(the)f(\002le)g(`)p
+Fv(contr)q(ib/README.chec)o(k)p 2348 1536 23 4 v 24 w(per)r(ms)p
+2582 1536 V 26 w(g)o(rsecur)q(ity)p Fw(')f(in)h(the)g(Mailman)f(source)
+g(dis-)208 1636 y(trib)n(ution.)208 1768 y(Note)20 b(that)g(if)g(you)g
+(are)g(using)g(Linux)f(Mandrak)o(e)f(in)i(secure)g(mode,)f(you)h(are)g
+(probably)e(concerned)f(by)j(this.)125 1934 y Fd(\017)41
+b Fw(Apparently)16 b(Mandrak)o(e)i(9.0)g(changed)f(the)h(permissions)g
+(on)h(gcc,)f(so)i(if)f(you)f(b)n(uild)g(as)h(the)g Fl(mailman)f
+Fw(user)m(,)h(you)f(need)g(to)h(be)208 2034 y(sure)h
+Fl(mailman)f Fw(is)i(in)g(the)f Fl(cctools)f Fw(group.)125
+2200 y Fd(\017)41 b Fw(If)19 b(you)g(installed)g(Python)f(from)h(your)f
+(Linux)h(distrib)n(ution')-5 b(s)18 b(package)h(manager)f(\(e.g.)24
+b(.rpms)19 b(for)f(Redhat-deri)n(v)o(ed)f(systems)208
+2300 y(or)j(.deb)h(for)f(Debian\),)g(you)g(must)h(install)h(the)f
+(\223de)n(v)o(elopment\224)d(package)i(of)h(Python,)f(or)g(you)h(may)f
+(not)h(get)g(e)n(v)o(erything)d(you)208 2399 y(need.)208
+2532 y(F)o(or)h(e)o(xample,)g(using)h(Python)f(2.2)g(on)h(Debian,)g
+(you)f(will)i(need)e(to)i(install)g(the)f Fl(python2.2-dev)e
+Fw(package.)24 b(On)c(Redhat,)208 2632 y(you)f(probably)f(need)h(the)h
+Fl(python2-devel)f Fw(package.)208 2765 y(If)h(you)f(install)i(Python)e
+(from)g(source,)g(you)g(should)g(be)i(\002ne.)208 2898
+y(One)f(symptom)f(of)h(this)h(problem,)d(although)g(for)i(unkno)n(wn)e
+(reasons,)i(is)h(that)f(you)g(might)f(get)i(an)f(error)f(such)h(as)h
+(this)g(during)208 2997 y(your)d(install:)892 3221 y
+Fk(Traceback)43 b(\(most)h(recent)g(call)g(last\):)982
+3313 y(File)g("bin/update",)f(line)h(44,)g(in)h(?)1071
+3404 y(import)f(paths)892 3495 y(ImportError:)f(No)h(module)g(named)g
+(paths)892 3587 y(make:)1161 3600 y(***)1340 3587 y([update])g(Error)g
+(1)208 3951 y Fw(If)24 b(this)i(happens,)e(install)i(the)f(Python)f(de)
+n(v)o(elopment)e(package)h(and)i(try)f Fr(con\002gur)o(e)h
+Fw(and)f Fr(mak)o(e)h(install)h Fw(again.)38 b(Or)25
+b(install)208 4051 y(the)20 b(latest)h(v)o(ersion)e(of)h(Python)f(from)
+g(source,)g(a)n(v)n(ailable)h(from)f Fv(http://www)l(.p)n(ython.org)-6
+b Fw(.)208 4183 y(This)25 b(problem)f(can)h(manifest)g(itself)h(in)f
+(other)g(Linux)f(distrib)n(utions)g(in)i(dif)n(ferent)d(w)o(ays,)k
+(although)d(usually)g(it)i(appears)f(as)208 4283 y Fl(ImportErrors)p
+Fw(.)0 4568 y Fn(15.2)100 b(BSD)29 b(issues)0 4771 y
+Fw(V)-5 b(i)n(v)o(ek)26 b(Khera)h(writes)h(that)f(some)h(BSDs)g(do)f
+(nightly)f(security)h(scans)h(for)e(setuid)i(\002le)g(changes.)45
+b(setgid)27 b(directories)g(also)g(come)0 4871 y(up)c(on)g(the)h(scan)g
+(when)f(the)o(y)f(change.)34 b(Also,)25 b(the)e(setgid)h(bit)g(is)g
+(not)f(necessary)g(on)g(BSD)i(systems)f(because)f(group)f(o)n(wnership)
+g(is)0 4970 y(automatically)d(inherited)h(on)g(\002les)h(created)f(in)h
+(directories.)k(On)c(other)h(U)t Fp(N)t(I)t(X)r Fw(es,)g(this)f(only)f
+(happens)f(when)h(the)h(directory)e(has)i(the)0 5070
+y(setgid)f(bit)h(turned)d(on.)0 5217 y(T)-7 b(o)29 b(install)h(without)
+e(turning)g(on)g(the)i(setgid)f(bit)g(on)g(directories,)h(simply)e
+(pass)i(in)f(the)g Fq(DIRSETGID)f Fw(v)n(ariable)g(to)h
+Fr(mak)o(e)p Fw(,)j(after)0 5316 y(you')l(v)o(e)18 b(run)h
+Fr(con\002gur)o(e)p Fw(:)p 0 5549 3901 4 v 3808 5649
+a Fo(25)p eop end
+%%Page: 26 26
+TeXDict begin 26 25 bop 416 174 a Fk(\045)44 b(make)g(DIRSETGID=:)f
+(install)0 461 y Fw(This)20 b(disables)h(the)f Fr(chmod)g(g+s)h
+Fw(command)e(on)g(installed)h(directories.)0 745 y Fn(15.3)100
+b(MacOSX)29 b(issues)0 948 y Fw(Man)o(y)22 b(people)g(run)h(Mailman)g
+(on)g(MacOSX.)g(Here)g(are)g(some)g(pointers)g(that)g(ha)n(v)o(e)g
+(been)f(collected)h(on)g(getting)f(Mailman)h(to)g(run)0
+1047 y(on)d(MacOSX.)125 1271 y Fd(\017)41 b Fw(Jaguar)17
+b(\(MacOSX)i(10.2\))e(comes)i(with)f(Python)g(2.2.)24
+b(While)19 b(this)g(isn')o(t)f(the)h(v)o(ery)f(latest)h(stable)g(v)o
+(ersion)e(of)i(Python,)e(it)j(ought)208 1370 y(to)g(be)g(suf)n
+(\002cient)g(to)g(run)f(Mailman)h(2.1.)125 1534 y Fd(\017)41
+b Fw(Da)n(vid)24 b(B.)i(O'Donnell)e(has)h(a)g(web)g(page)f(describing)g
+(his)h(con\002guration)d(of)j(Mailman)f(2.0.13)f(and)i(Post\002x)g(on)f
+(MacOSX)208 1633 y(Serv)o(er)-5 b(.)208 1765 y Fv(http://www)l
+(.afp548.com/Ar)s(t)o(icle)o(s/mail)o(/p)n(yth)o(on)o(-mail)o(man)o
+(.html)125 1928 y Fd(\017)41 b Fw(Kathleen)19 b(W)-7
+b(ebb)20 b(posted)g(her)g(e)o(xperiences)e(in)i(getting)g(Mailman)f
+(running)f(on)i(Jaguar)g(using)f(Sendmail.)208 2060 y
+Fv(http://mail.p)n(ython.or)o(g/p)o(ip)o(er)r(mai)o(l/ma)o(il)o(man-u)o
+(sers/20)o(02)o(-Octobe)o(r/0)o(22)o(94)o(4.h)o(tml)125
+2224 y Fd(\017)41 b Fw(P)o(anther)17 b(serv)o(er)h(\(MacOSX)h(10.3\))e
+(comes)i(with)g(Mailman;)f(Y)-9 b(our)18 b(operating)f(system)i(should)
+f(contain)g(documentation)d(that)208 2323 y(will)22 b(help)g(you,)f
+(and)h(Apple)f(has)h(a)h(tech)f(document)e(about)h(a)h(problem)e(you)h
+(might)h(encounter)e(running)g(Mailman)h(on)g(Mac)208
+2423 y(OS)f(X)h(Serv)o(er)e(10.3:)208 2554 y Fv(http://docs)o(.inf)n(o)
+m(.appl)o(e)o(.)o(com/ar)s(t)o(icle)n(.html)o(?a)o(r)s(tn)o(u)o(m=10)o
+(78)o(89)0 2778 y Fw(T)-6 b(erry)27 b(Allen)h(pro)o(vides)e(the)h
+(follo)n(wing)g(detailed)g(instructions)g(on)g(running)f(Mailman)h(on)g
+(the)h('client')f(v)o(ersion)f(of)i(OSX,)g(or)f(in)0
+2878 y(earlier)20 b(v)o(ersions)f(of)h(OSX:)0 3024 y(Mac)26
+b(OSX)h(10.3)e(and)h(onw)o(ards)f(has)i(the)f(basics)g(for)g(a)h
+(successful)f(Mailman)f(installation.)43 b(Users)27 b(of)e(earlier)h(v)
+o(ersions)g(of)f(Mac)0 3124 y(OSX)f(contains)f(Sendmail)g(and)g(those)g
+(users)h(should)f(look)f(at)i(the)g(Sendmail)f(installation)g(section)g
+(for)g(tips.)36 b(Y)-9 b(ou)23 b(should)f(follo)n(w)0
+3224 y(the)27 b(basic)f(installation)g(steps)i(as)f(described)e
+(earlier)h(in)h(this)g(manual,)g(substituting)f(as)h(appropriate,)e
+(the)i(steps)g(outlined)e(in)i(this)0 3323 y(section.)0
+3470 y(By)d(def)o(ault,)g(Mac)g(OSX)g(10.3)e('client')h(v)o(ersion)g
+(does)g(not)h(ha)n(v)o(e)f(a)h(fully)f(functional)f(v)o(ersion)g(of)i
+(Post\002x.)35 b(Setting)24 b(up)f(a)h(w)o(orking)0 3570
+y(MT)-8 b(A)19 b(such)f(as)h(Post\002x)g(is)h(be)o(yond)c(the)i(scope)g
+(of)h(this)g(guide)e(and)h(you)g(should)f(refer)h(to)h
+Fv(http://www)l(.post\002x.org)14 b Fw(for)k(tips)h(on)f(getting)0
+3669 y(Post\002x)k(running.)k(An)21 b(easy)g(w)o(ay)h(to)f(set)h
+(Post\002x)g(up)f(is)h(to)g(install)f(and)g(run)g(Post\002x)g(Enabler)m
+(,)f(a)i(stand-alone)d(tool)j(for)e(con\002guring)0 3769
+y(Post\002x)g(on)g(Mac)h(OSX,)f(a)n(v)n(ailable)g(from)f
+Fv(http://www)l(.roadstead.com/w)o(eb)n(l)o(og)o(/T)-9
+b(u)o(tor)q(i)o(als/P)k(ost\002xEnab)n(le)o(r)l(.ht)o(ml)f
+Fw(.)0 3916 y(Lik)o(e)n(wise,)25 b(Mac)g(OSX)g('client')e(v)o(ersion)h
+(from)f(10.1)g(onw)o(ards)h(includes)f(a)i(w)o(orking)e(Apache)g
+(webserv)o(er)-5 b(.)37 b(This)25 b(is)g(switched)f(on)0
+4016 y(using)c(the)h(System)g(Preferences)e(control)h(panel)g(under)f
+(the)i('Sharing)e(tab'.)26 b(A)21 b(useful)f(tool)h(for)f
+(con\002guring)e(the)i(Apache)g(on)g(Mac)0 4115 y(OSX)h(is)g(W)-7
+b(ebmin,)20 b(which)f(can)h(be)g(obtained)f(from)g Fv(http://www)l(.w)o
+(ebmin.com)l Fw(.)0 4262 y(W)-7 b(ebmin)20 b(can)g(also)h(perform)d
+(con\002guration)g(for)i(other)f(system)i(tasks,)g(including)d
+(Post\002x,)j(adding)d(jobs)j(to)f(your)f(crontab,)g(adding)0
+4362 y(user)h(and)g(groups,)e(plus)i(adding)f(startup)h(and)f(shutdo)n
+(wn)g(jobs.)0 4509 y(In)26 b(a)g(stock)g(installation)g(of)f(OSX,)i
+(the)f(requirement)e(for)h(Mailman)h(is)h(to)f(ha)n(v)o(e)f(Python)g
+(installed.)42 b(Python)25 b(is)i(not)f(installed)g(by)0
+4608 y(def)o(ault,)17 b(so)g(it)g(is)h(advised)e(that)h(you)f(install)h
+(the)g(de)n(v)o(eloper')-5 b(s)15 b(tools)i(package,)f(which)g(may)g
+(ha)n(v)o(e)h(been)f(pro)o(vided)e(with)j(your)f(system.)0
+4708 y(It)23 b(can)f(also)h(be)g(do)n(wnloaded)d(from)i(the)g(Apple)g
+(de)n(v)o(eloper)f(site)i(at)g Fv(http://connect.apple)o(.com)-6
+b Fw(.)33 b(Not)23 b(only)f(is)i(the)e(de)n(v)o(eloper)f(tools)0
+4807 y(package)k(an)i(essential)h(requirement)c(for)j(installing)f
+(Mailman,)i(b)n(ut)f(it)g(will)h(come)e(in)h(handy)f(at)h(a)h(later)f
+(date)f(should)g(you)g(need)0 4907 y(other)19 b(tools.)25
+b(The)20 b(de)n(v)o(eloper')-5 b(s)18 b(tools)j(are)f(also)g(kno)n(w)f
+(by)h(the)g(name)g(XCode)g(tools.)0 5054 y(As)h(a)g(minimum,)d(the)i
+(Python)f(v)o(ersion)g(should)g(be)i(2.2,)e(b)n(ut)h(2.3)g(is)h
+(recommended.)0 5201 y(If)f(you)g(wish)h(to)g(add)f(a)h(user)f(and)g
+(group)f(using)h(the)h(command)d(line)j(in)g(OSX)g(instead)f(of)h(via)f
+(W)-7 b(ebmin)21 b(or)f(another)f(GUI)i(interf)o(ace,)0
+5300 y(open)d(your)f(terminal)h(application)f(and)h(follo)n(w)g(the)h
+(commands)e(as)i(indicated)f(belo)n(w)g(-)h(do)f(not)g(type)g(the)h
+(comments)f(follo)n(wing)f(the)0 5400 y(`)p Fl(#)p Fw(')j(since)g(the)o
+(y)g(are)g(just)h(notes:)p 0 5549 3901 4 v 0 5649 a Fo(26)2282
+b(15)83 b(Platf)n(or)r(m)24 b(and)g(oper)o(ating)g(system)e(notes)p
+eop end
+%%Page: 27 27
+TeXDict begin 27 26 bop 236 174 a Fk(sudo)44 b(tcsh)236
+266 y(niutil)g(-create)g(/)g(/users/mailman)236 357 y(niutil)g
+(-createprop)f(/)i(/users/mailman)d(name)i(mailman)236
+448 y(#)h(Note)f(that)g(xxx)h(is)f(a)h(free)f(user)g(ID)h(number)e(on)i
+(your)f(system)236 540 y(niutil)g(-createprop)f(/)i(/users/mailman)d
+(uid)i(xxx)236 631 y(niutil)g(-createprop)f(/)i(/users/mailman)d(home)i
+(/usr/local/mailman)236 722 y(mkdir)g(-p)h(/usr/local/mailman)236
+814 y(niutil)f(-createprop)f(/)i(/users/mailman)d(shell)i(/bin/tcsh)236
+905 y(passwd)g(mailman)236 996 y(#)h(To)f(prevent)g(malicious)f
+(hacking,)h(supply)g(a)g(secure)g(password)g(here)236
+1088 y(niutil)g(-create)g(/)g(/groups/mailman)236 1179
+y(niutil)g(-createprop)f(/)i(/groups/mailman)d(name)i(mailman)236
+1270 y(#)h(Note)f(that)g(xxx)h(is)f(a)h(free)f(group)g(ID)g(number)g
+(on)h(your)f(system)236 1362 y(niutil)g(-createprop)f(/)i
+(/groups/mailman)d(gid)i(xxx)236 1453 y(niutil)g(-createprop)f(/)i
+(/groups/mailman)d(passwd)i(')2254 1466 y(*)2299 1453
+y(')236 1544 y(niutil)g(-createprop)f(/)i(/groups/mailman)d(users)i
+('mailman')236 1636 y(chown)g(mailman:mailman)f(/usr/local/mailman)236
+1727 y(cd)i(/usr/local/mailman)236 1818 y(chmod)f(a+rx,g+ws)g(.)236
+1910 y(exit)236 2001 y(su)h(mailman)0 2287 y Fw(F)o(or)21
+b(setting)g(up)f(Apache)g(on)h(OSX)g(to)g(handle)f(Mailman,)h(the)g
+(steps)g(are)g(almost)g(identical)f(and)h(the)g(con\002guration)d
+(\002le)k(on)e(a)i(stock)0 2387 y(Mac)e(OSX)h(Client)g(v)o(ersion)e(is)
+i(stored)f(in)g(the)g(nearly)f(standard)g(location)h(of)g(`)p
+Fv(/etc/httpd/httpd.conf)o Fw('.)0 2534 y(The)40 b(AFP548.com)e(site)k
+(has)e(a)h(time-sa)n(ving)e(automated)g(startup)h(item)h(creator)e(for)
+h(Mailman,)k(which)c(can)g(be)g(found)f(at)0 2633 y Fv(http://www)l
+(.afp548.com/Sof)o(tw)o(ar)o(e/Mai)o(lma)o(nSta)o(r)s(tu)o(p)m(.ta)o(r)
+l(.gz)0 2780 y Fw(T)-7 b(o)23 b(install)g(it,)h(cop)o(y)d(it)j(into)e
+(your)f(`)p Fv(/Libr)o(ar)r(y/Star)s(tupItems)p Fw(')e(directory)-5
+b(.)30 b(As)23 b(the)g(root)e(or)i(superuser)m(,)e(from)h(the)g
+(terminal,)g(enter)h(the)0 2880 y(follo)n(wing:)236 3118
+y Fk(gunzip)44 b(MailmanStartup.tar.gz)236 3209 y(tar)h(xvf)f
+(MailmanStartup.tar)0 3496 y Fw(It)20 b(will)h(create)f(the)h(startup)e
+(item)i(for)e(you)g(so)i(that)f(when)g(you)f(reboot,)g(Mailman)g(will)i
+(start)g(up.)p 0 5549 3901 4 v 0 5649 a Fo(15.3)84 b(MacOSX)23
+b(issues)2972 b(27)p eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/doc/mailman-install.tex b/doc/mailman-install.tex
deleted file mode 100644
index efc9a5e3..00000000
--- a/doc/mailman-install.tex
+++ /dev/null
@@ -1,1808 +0,0 @@
-\documentclass{howto}
-
-\title{GNU Mailman - Installation Manual}
-\author{Barry Warsaw}
-\authoraddress{\email{barry (at) list dot 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*{Front Matter\label{front}}
-\fi
-
-\begin{abstract}
-\noindent
-This document describes how to install GNU Mailman on a POSIX-based system
-such as \UNIX{}, MacOSX, or GNU/Linux. It will cover basic installation
-instructions, as well as guidelines for integrating Mailman with your web and
-mail servers.
-
-\noindent
-The GNU Mailman website is at \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{Installation Requirements}
-
-\emph{Please note that the information on this page may be out of date.}
-Check for the
-\ulink{latest installation information}{http://wiki.list.org/x/bAM} on the
-\ulink{Mailman wiki}{http://wiki.list.org}.
-
-GNU Mailman works on most POSIX-based systems such as \UNIX{}, MacOSX, or
-GNU/Linux. It does not currently work on Windows. You must have a mail
-server that you can send messages to, and a web server that supports the
-CGI/1.1 API. \ulink{Apache}{http://httpd.apache.org} makes a fine choice for
-web server, and mail servers such as
-\ulink{Postfix}{http://www.postfix.org},
-\ulink{Exim}{http://www.exim.org},
-\ulink{Sendmail}{http://www.sendmail.org}, and
-\ulink{qmail}{http://cr.yp.to/qmail.html} should
-work just fine.
-
-To install Mailman from source, you will need an ANSI C compiler to build
-Mailman's security wrappers. The
-\ulink{GNU C compiler gcc}{http://gcc.gnu.org} works well.
-
-You must have the \ulink{Python}{http://www.python.org} interpreter installed
-somewhere on your system. As of this writing, Python 2.4.4 is recommended,
-but see the wiki page above for the latest information.
-
-\section{Set up your system}
-
-Before installing Mailman, you need to prepare your system by adding certain
-users and groups. You will need to have root privileges to perform the steps
-in this section.
-
-\subsection{Add the group and user}
-
-Mailman requires a unique user and group name which will own its files, and
-under which its processes will run. Mailman's basic security is based on
-group ownership permissions, so it's important to get this step
-right\footnote{You will be able to check and repair your permissions after
-installation is complete.}. Typically, you will add a new user and a new
-group, both called \code{mailman}. The \code{mailman} user must be a member
-of the \code{mailman} group. Mailman will be installed under the
-\code{mailman} user and group, with the set-group-id (setgid) bit enabled.
-
-If these names are already in use, you can choose different user and group
-names, as long as you remember these when you run \program{configure}. If you
-choose a different unique user name, you will have to specify this with
-\program{configure}'s \longprogramopt{with-username} option, and if you choose
-a different group name, you will have to specify this with
-\program{configure}'s \longprogramopt{with-groupname} option.
-
-On Linux systems, you can use the following commands to create these
-accounts. Check your system's manual pages for details:
-
-\begin{verbatim}
- % groupadd mailman
- % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman
-\end{verbatim}
-
-\subsection{Create the installation directory\label{create-install-dir}}
-Typically, Mailman is installed into a single directory, which includes both
-the Mailman source code and the run-time list and archive data. It is
-possible to split the static program files from the variable data files and
-install them in separate directories. This section will describe the
-available options.
-
-The default is to install all of Mailman to
-\file{/usr/local/mailman}\footnote{This is the default for Mailman 2.1.
-Earlier versions of Mailman installed everything under \file{/home/mailman} by
-default.}. You can change this base installation directory (referred to here
-as \var{\$prefix}) by specifying the directory with the
-\longprogramopt{prefix} \program{configure} option. If you're upgrading from
-a previous version of Mailman, you may want to use the \longprogramopt{prefix}
-option unless you move your mailing lists.
-
-\begin{notice}[warning]
-You cannot install Mailman on a filesystem that is mounted with the
-\code{nosuid} option. This will break Mailman, which relies on setgid
-programs for its security. If this describes your environment, simply install
-Mailman in a location that allows setgid programs.
-\end{notice}
-
-Make sure the installation directory is set to group \code{mailman} (or
-whatever you're going to specify with \longprogramopt{with-groupname}) and has
-the setgid bit set\footnote{BSD users should see the \ref{bsd-issues} section
-for additional information.}. You probably also want to guarantee that this
-directory is readable and executable by everyone. For example, these shell
-commands will accomplish this:
-
-\begin{verbatim}
- % cd $prefix
- % chgrp mailman .
- % chmod a+rx,g+ws .
-\end{verbatim}
-
-You are now ready to configure and install the Mailman software.
-
-\section{Build and install Mailman\label{building}}
-
-\subsection{Run \program{configure}}
-
-Before you can install Mailman, you must run \program{configure} to set
-various installation options your system might need.
-
-\begin{notice}[note]
-Take special note of the \longprogramopt{with-mail-gid} and
-\longprogramopt{with-cgi-gid} options below. You will probably need to use
-these.
-\end{notice}
-
-You should \strong{not} be root while performing the steps in this section.
-Do them under your own login, or whatever account you typically use to install
-software. You do not need to do these steps as user \code{mailman}, but you
-could. However, make sure that the login used is a member of the
-\code{mailman} group as that that group has write permissions to the
-\var{\$prefix} directory made in the previous step. You must also have
-permission to create a setgid file in the file system where it resides (NFS
-and other mounts can be configured to inhibit setgid settings).
-
-If you've installed other GNU software, you should be familiar with the
-\program{configure} script. Usually you can just \program{cd} to the
-directory you unpacked the Mailman source tarball into, and run
-\program{configure} with no arguments:
-
-\begin{verbatim}
- % cd mailman-<version>
- % ./configure
- % make install
-\end{verbatim}
-
-The following options allow you to customize your Mailman
-installation.
-
-\begin{description}
-\item[\longprogramopt{prefix}=\var{dir}]
- Standard GNU configure option which changes the base directory that
- Mailman is installed into. By default \var{\$prefix} is
- \file{/usr/local/mailman}. This directory must already exist, and be set
- up as described in \ref{create-install-dir}.
-
-\item[\longprogramopt{exec-prefix}=\var{dir}]
- Standard GNU configure option which lets you specify a different
- installation directory for architecture dependent binaries.
-
-\item[\longprogramopt{with-var-prefix}=\var{dir}]
- Store mutable data under \var{dir} instead of under the \var{\$prefix} or
- \var{\$exec_prefix}. Examples of such data include the list archives and
- list settings database.
-
-\item[\longprogramopt{with-python}=\file{/path/to/python}]
- Specify an alternative Python interpreter to use for the wrapper programs.
- The default is to use the interpreter found first on your shell's
- \var{\$PATH}.
-
-\item[\longprogramopt{with-username}=\var{username-or-uid}]
- Specify a different username than \code{mailman}. The value of this
- option can be an integer user id or a user name. Be sure your
- \var{\$prefix} directory is owned by this user.
-
-\item[\longprogramopt{with-groupname}=\var{groupname-or-gid}]
- Specify a different groupname than \code{mailman}. The value of this
- option can be an integer group id or a group name. Be sure your
- \var{\$prefix} directory is group-owned by this group.
-
-\item[\longprogramopt{with-mail-gid}=\var{group-or-groups}]
- Specify an alternative group for running scripts via the mail wrapper.
- \var{group-or-groups} can be a list of one or more integer group ids or
- symbolic group names. The first value in the list that resolves to an
- existing group is used. By default, the value is the list \code{mailman},
- \code{other}, \code{mail}, and \code{daemon}.
-
- \begin{notice}[note]
- This is highly system dependent and you must get this right, because the
- group id is compiled into the mail wrapper program for added security. On
- systems using \program{sendmail}, the \file{sendmail.cf} configuration
- file designates the group id of \program{sendmail} processes using the
- \var{DefaultUser} option. (If commented out, it still may be indicating
- the default...)
- \end{notice}
-
- Check your mail server's documentation and configuration files to find the
- right value for this switch.
-
-\item[\longprogramopt{with-cgi-gid}=\var{group-or-groups}]
- Specify an alternative group for running scripts via the CGI wrapper.
- \var{group-or-groups} can be a list of one or more integer group ids or
- symbolic group names. The first value in the list that resolves to an
- existing group is used. By default, the value is the the list
- \code{www}, \code{www-data}, and \code{nobody}.
-
- \begin{notice}[note]
- The proper value for this is dependent on your web server configuration.
- You must get this right, because the group id is compiled into the CGI
- wrapper program for added security, and no Mailman CGI scripts will run if
- this is incorrect.
- \end{notice}
-
- If you're using Apache, check the values for the \var{Group} option in
- your \file{httpd.conf} file.
-
-\item[\longprogramopt{with-cgi-ext}=\var{extension}]
- Specify an extension for cgi-bin programs. The CGI wrappers placed in
- \file{\var{\$prefix}/cgi-bin} will have this extension (some web servers
- require an extension). \var{extension} must include the leading dot.
-
-\item[\longprogramopt{with-mailhost}=\var{hostname}]
- Specify the fully qualified host name part for outgoing email. After the
- installation is complete, this value can be overriden in
- \file{\var{\$prefix}/Mailman/mm_cfg.py}.
-
-\item[\longprogramopt{with-urlhost}=\var{hostname}]
- Specify the fully qualified host name part of urls. After the
- installation is complete, this value can be overriden in
- \file{\var{\$prefix}/Mailman/mm_cfg.py}.
-
-\item[\longprogramopt{with-gcc}=no]
- Don't use gcc, even if it is found. In this case, \program{cc} must be
- found on your \var{\$PATH}.
-
-\end{description}
-
-\subsection{Make and install}
-
-Once you've run \program{configure}, you can simply run \program{make}, then
-\program{make install} to build and install Mailman.
-
-\section{Check your installation}
-
-After you've run \program{make install}, you should check that your
-installation has all the correct permissions and group ownerships by running
-the \program{check_perms} script. First change to the installation
-(i.e. \var{\$prefix}) directory, then run the \program{bin/check_perms}
-program. Don't try to run bin/check_perms from the source directory; it will
-only run from the installation directory.
-
-If this reports no problems, then it's very likely <wink> that your
-installation is set up correctly. If it reports problems, then you can either
-fix them manually, re-run the installation, or use \program{bin/check_perms}
-to fix the problems (probably the easiest solution):
-
-\begin{itemize}
-\item You need to become the user that did the installation, and that owns all
- the files in \var{\$prefix}, or root.
-
-\item Run \program{bin/check_perms -f}
-
-\item Repeat previous step until no more errors are reported!
-\end{itemize}
-
-\begin{notice}[warning]
-If you're running Mailman on a shared multiuser system, and you have mailing
-lists with private archives, you may want to hide the private archive
-directory from other users on your system. In that case, you should drop the
-other execute permission (o-x) from the \file{archives/private} directory.
-However, the web server process must be able to follow the symbolic link in
-public directory, otherwise your public Pipermail archives will not work. To
-set this up, become root and run the following commands:
-
-\begin{verbatim}
-# cd <prefix>/archives
-# chown <web-server-user> private
-# chmod o-x private
-\end{verbatim}
-
-You need to know what user your web server runs as. It may be \code{www},
-\code{apache}, \code{httpd} or \code{nobody}, depending on your server's
-configuration.
-\end{notice}
-
-\section{Set up your web server}
-
-Congratulations! You've installed the Mailman software. To get everything
-running you need to hook Mailman up to both your web server and your mail
-system.
-
-If you plan on running your mail and web servers on different machines,
-sharing Mailman installations via NFS, be sure that the clocks on those two
-machines are synchronized closely. You might take a look at the file
-\file{Mailman/LockFile.py}; the constant \var{CLOCK_SLOP} helps the locking
-mechanism compensate for clock skew in this type of environment.
-
-This section describes some of the things you need to do to connect Mailman's
-web interface to your web server. The instructions here are somewhat geared
-toward the Apache web server, so you should consult your web server
-documentation for details.
-
-You must configure your web server to enable CGI script permission in the
-\file{\var{\$prefix}/cgi-bin} to run CGI scripts. The line you should add
-might look something like the following, with the real absolute directory
-substituted for \var{\$prefix}, of course:
-
-\begin{verbatim}
- Exec /mailman/* $prefix/cgi-bin/*
-\end{verbatim}
-% $ - emacs turd
-
- or:
-
-\begin{verbatim}
- ScriptAlias /mailman/ $prefix/cgi-bin/
-\end{verbatim}
-% $ - emacs turd
-
-\begin{notice}[warning]
-You want to be very sure that the user id under which your CGI scripts run is
-\strong{not} in the \code{mailman} group you created above, otherwise private
-archives will be accessible to anyone.
-\end{notice}
-
-Copy the Mailman, Python, and GNU logos to a location accessible to your web
-server. E.g. with Apache, you've usually got an \file{icons} directory that
-you can drop the images into. For example:
-
-\begin{verbatim}
- % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
-\end{verbatim}
-
-You then want to add a line to your \file{\var{\$prefix}/Mailman/mm_cfg.py}
-file which sets the base URL for the logos. For example:
-
-\begin{verbatim}
- IMAGE_LOGOS = '/images/'
-\end{verbatim}
-
-The default value for \var{IMAGE_LOGOS} is \file{/icons/}. Read the comment
-in \file{Defaults.py.in} for details.
-
-Configure your web server to point to the Pipermail public mailing list
-archives. For example, in Apache:
-
-\begin{verbatim}
- Alias /pipermail/ $varprefix/archives/public/
-\end{verbatim}
-% $ - emacs turd
-
-where \var{\$varprefix} is usually \var{\$prefix} unless you've used the
-\longprogramopt{with-var-prefix} option to \program{configure}. Also be
-sure to configure your web server to follow symbolic links in this directory,
-otherwise public Pipermail archives won't be accessible. For Apache users,
-consult the \var{FollowSymLinks} option.
-
-If you're going to be supporting internationalized public archives, you will
-probably want to turn off any default charset directive for the Pipermail
-directory, otherwise your multilingual archive pages won't show up correctly.
-Here's an example for Apache, based on the standard installation directories:
-
-\begin{verbatim}
- <Directory "/usr/local/mailman/archives/public/">
- AddDefaultCharset Off
- </Directory>
-\end{verbatim}
-
-Now restart your web server.
-
-\section{Set up your mail server\label{mail-server}}
-
-This section describes some of the things you need to do to connect Mailman's
-email interface to your mail server. The instructions here are different for
-each mail server; if your mail server is not described in the following
-subsections, try to generalize from the existing documentation, and consider
-contributing documentation updates to the Mailman developers.
-
-\subsection{Using the Postfix mail server}
-
-Mailman should work pretty much out of the box with a standard Postfix
-installation. It has been tested with various Postfix versions up to and
-including Postfix 2.1.5.
-
-In order to support Mailman's optional VERP delivery, you will want to disable
-\code{luser_relay} (the default) and you will want to set
-\code{recipient_delimiter} for extended address semantics. You should comment
-out any \code{luser_relay} value in your \file{main.cf} and just go with the
-defaults. Also, add this to your \file{main.cf} file:
-
-\begin{verbatim}
- recipient_delimiter = +
-\end{verbatim}
-
-Using \samp{+} as the delimiter works well with the default values for
-\var{VERP_FORMAT} and \var{VERP_REGEXP} in \file{Defaults.py}.
-
-When attempting to deliver a message to a non-existent local address, Postfix
-may return a 450 error code. Since this is a transient error code, Mailman
-will continue to attempt to deliver the message for
-\var{DELIVERY_RETRY_PERIOD} -- 5 days by default. You might want to set
-Postfix up so that it returns permanent error codes for non-existent local
-users by adding the following to your \file{main.cf} file:
-
-\begin{verbatim}
- unknown_local_recipient_reject_code = 550
-\end{verbatim}
-
-Finally, if you are using Postfix-style virtual domains, read the section on
-virtual domain support below.
-
-\subsubsection{Integrating Postfix and Mailman}
-
-You can integrate Postfix and Mailman such that when new lists are created, or
-lists are removed, Postfix's alias database will be automatically updated.
-The following are the steps you need to take to make this work.
-
-In the description below, we assume that you've installed Mailman in the
-default location, i.e. \file{/usr/local/mailman}. If that's not the case,
-adjust the instructions according to your use of \program{configure}'s
-\longprogramopt{prefix} and \longprogramopt{with-var-prefix} options.
-
-\begin{notice}[note]
-If you are using virtual domains and you want Mailman to honor your virtual
-domains, read the \ref{postfix-virtual} section below first!
-\end{notice}
-
-\begin{itemize}
-\item Add this to the bottom of the \file{\var{\$prefix}/Mailman/mm_cfg.py}
- file:
-
- \begin{verbatim}
- MTA = 'Postfix'
- \end{verbatim}
-
- The MTA variable names a module in the \file{Mailman/MTA} directory
- which contains the mail server-specific functions to be executed when a
- list is created or removed.
-
-\item Look at the \file{Defaults.py} file for the variables
- \var{POSTFIX_ALIAS_CMD} and \var{POSTFIX_MAP_CMD} command. Make sure
- these point to your \program{postalias} and \program{postmap} programs
- respectively. Remember that if you need to make changes, do it in
- \file{mm_cfg.py}.
-
-\item Run the \program{bin/genaliases} script to initialize your
- \file{aliases} file.
-
- \begin{verbatim}
- % cd /usr/local/mailman
- % bin/genaliases
- \end{verbatim}
-
- Make sure that the owner of the \file{data/aliases} and
- \file{data/aliases.db} file is \code{mailman}, that the group owner
- for those files is \code{mailman}, or whatever user and group you used
- in the configure command, and that both files are group writable:
-
- \begin{verbatim}
- % su
- % chown mailman:mailman data/aliases*
- % chmod g+w data/aliases*
- \end{verbatim}
-
-\item Hack your Postfix's \file{main.cf} file to include the following path in
- your \var{alias_maps} variable:
-
- \begin{verbatim}
- /usr/local/mailman/data/aliases
- \end{verbatim}
-
- Note that there should be no trailing \code{.db}. Do not include this
- in your \var{alias_database} variable. This is because you do not want
- Postfix's \program{newaliases} command to modify Mailman's
- \file{aliases.db} file, but you do want Postfix to consult
- \file{aliases.db} when looking for local addresses.
-
- You probably want to use a \code{hash:} style database for this entry.
- Here's an example:
-
- \begin{verbatim}
- alias_maps = hash:/etc/postfix/aliases,
- hash:/usr/local/mailman/data/aliases
- \end{verbatim}
-
-\item When you configure Mailman, use the
- \longprogramopt{with-mail-gid=mailman} switch; this will be the default
- if you configured Mailman after adding the \code{mailman} owner.
- Because the owner of the \file{aliases.db} file is \code{mailman},
- Postfix will execute Mailman's wrapper program as uid and gid
- \code{mailman}.
-
-\end{itemize}
-
-That's it! One caveat: when you add or remove a list, the \file{aliases.db}
-file will updated, but it will not automatically run \program{postfix reload}.
-This is because you need to be root to run this and suid-root scripts are not
-secure. The only effect of this is that it will take about a minute for
-Postfix to notice the change to the \file{aliases.db} file and update its
-tables.
-
-\subsubsection{Virtual domains\label{postfix-virtual}}
-
-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/Defaults.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{Using the Sendmail mail server}
-
-\begin{notice}[warning]
-You may be tempted to set the \var{DELIVERY_MODULE} configuration variable in
-\file{mm_cfg.py} to \code{'Sendmail'} when using the Sendmail mail server.
-\strong{Don't}. The \file{Sendmail.py} module is misnamed -- it's really a
-command line based message handoff scheme as opposed to the SMTP scheme used
-in \file{SMTPDirect.py} (the default). \file{Sendmail.py} has known security
-holes and is provided as a proof-of-concept only\footnote{In fact, in later
-versions of Mailman, this module is explicitly sabotaged. You have to know
-what you're doing in order to re-enable it.}. If you are having problems
-using \file{SMTPDirect.py} fix those instead of using \file{Sendmail.py}, or
-you may open your system up to security exploits.
-\end{notice}
-
-\subsubsection{Sendmail ``smrsh'' compatibility}
-
-Many newer versions of Sendmail come with a restricted execution utility
-called ``smrsh'', which limits the executables that Sendmail will allow to be
-used as mail programs. You need to explicitly allow Mailman's wrapper program
-to be used with smrsh or Mailman will not work. If mail is not getting
-delivered to Mailman's wrapper program and you're getting an ``operating
-system error'' in your mail syslog, this could be your problem.
-
-One good way of enabling this is:
-
-\begin{itemize}
- \item Find out where your Sendmail executes its smrsh wrapper
-
- \begin{verbatim}
- % grep smrsh /etc/mail/sendmail.cf
- \end{verbatim}
-
- \item Figure out where smrsh expects symlinks for allowable mail
- programs. At the very beginning of the following output you will
- see a full path to some directory, e.g. \file{/var/adm/sm.bin} or
- similar:
-
- \begin{verbatim}
- % strings $path_to_smrsh | less
- \end{verbatim}
-
- \item cd into \file{/var/adm/sm.bin}, or where ever it happens to reside
- on your system -- alternatives include \file{/etc/smrsh},
- \file{/var/smrsh} and \file{/usr/local/smrsh}.
-
- \begin{verbatim}
- % cd /var/adm/sm.bin
- \end{verbatim}
-
- \item Create a symbolic link to Mailman's wrapper program:
-
- \begin{verbatim}
- % ln -s /usr/local/mailman/mail/mailman mailman
- \end{verbatim}
-\end{itemize}
-
-\subsubsection{Integrating Sendmail and Mailman}
-
-David Champion has contributed a recipe for more closely integrating Sendmail
-and Mailman, such that Sendmail will automatically recognize and deliver to
-new mailing lists as they are created, without having to manually edit alias
-tables.
-
-In the \file{contrib} directory of Mailman's source distribution, you will
-find four files:
-
-\begin{itemize}
-\item \file{mm-handler.readme} - an explanation of how to set everything up
-\item \file{mm-handler} - the mail delivery agent (MDA)
-\item \file{mailman.mc} - a toy configuration file sample
-\item \file{virtusertable} - a sample for RFC 2142 address exceptions
-\end{itemize}
-
-\subsubsection{Performance notes}
-
-One of the surest performance killers for Sendmail users is when Sendmail is
-configured to synchronously verify the recipient's host via DNS. If it does
-this for messages posted to it from Mailman, you will get horrible
-performance. Since Mailman usually connects via \code{localhost}
-(i.e. 127.0.0.1) to the SMTP port of Sendmail, you should be sure to configure
-Sendmail to \strong{not} do DNS verification synchronously for localhost
-connections.
-
-\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}
- |preline /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{Review your site defaults\label{customizing}}
-
-Mailman has a large number of site-wide configuration options which you should
-now review and change according to your needs. Some of the options control
-how Mailman interacts with your environment, and other options select defaults
-for newly created lists\footnote{In general, changing the list defaults
-described in this section will not affect any already created lists. To make
-changes after a list has been created, use the web interface or the command
-line scripts, such as \program{bin/withlist} and \program{bin/config_list}.}.
-There are system tuning parameters and integration options.
-
-The full set of site-wide defaults lives in the
-\file{\var{\$prefix}/Mailman/Defaults.py} file, however you should
-\strong{never} modify this file! Instead, change the \file{mm_cfg.py} file in
-that same directory. You only need to add values to \file{mm_cfg.py} that are
-different than the defaults in \file{Defaults.py}, and future Mailman upgrades
-are guaranteed never to touch your \file{mm_cfg.py} file.
-
-The \file{Defaults.py} file is documented extensively, so the options are not
-described here. The \file{Defaults.py} and \file{mm_cfg.py} are both
-\ulink{Python}{http://www.python.org} files so valid Python syntax must be
-maintained or your Mailman installation will break.
-
-\begin{notice}[note]
-Do \strong{not} change the \var{HOME_DIR} or \var{MAILMAN_DIR} variables.
-These are set automatically by the \program{configure} script, and you will
-break your Mailman installation by if you change these.
-\end{notice}
-
-You should make any changes to \file{mm_cfg.py} using the account you
-installed Mailman under in the \ref{building} section.
-
-\section{Create a site-wide mailing list}
-
-After you have completed the integration of Mailman and your mail server, you
-need to create a ``site-wide'' mailing list. This is the one that password
-reminders will appear to come from, and it is required for proper Mailman
-operation. Usually this should be a list called \code{mailman}, but if you
-need to change this, be sure to change the \var{MAILMAN_SITE_LIST} variable in
-\file{mm_cfg.py}. You can create the site list with this command, following
-the prompts:
-
-\begin{verbatim}
- % bin/newlist mailman
-\end{verbatim}
-
-Now configure your site list. There is a convenient template for a generic
-site list in the installation directory, under \file{data/sitelist.cfg} which
-can help you with this. You should review the configuration options in the
-template, but note that any options not named in the \file{sitelist.cfg} file
-won't be changed.
-
-The template can be applied to your site list by
-running:
-
-\begin{verbatim}
- % bin/config_list -i data/sitelist.cfg mailman
-\end{verbatim}
-
-After applying the \file{sitelist.cfg} options, be sure you review the
-site list's configuration via the admin pages.
-
-You should also subscribe yourself to the site list.
-
-\section{Set up cron}
-
-Several Mailman features occur on a regular schedule, so you must set up
-\program{cron} to run the right programs at the right time\footnote{Note that
-if you're upgrading from a previous version of Mailman, you'll want to install
-the new crontab, but be careful if you're running multiple Mailman
-installations on your site! Changing the crontab could mess with other
-parallel Mailman installations.}.
-
-If your version of crontab supports the \programopt{-u} option, you must be
-root to do this next step. Add \file{\var{\$prefix}/cron/crontab.in} as a
-crontab entry by executing these commands:
-
-\begin{verbatim}
- % cd $prefix/cron
- % crontab -u mailman crontab.in
-\end{verbatim}
-
-If you used the \longprogramopt{with-username} option, use that user name
-instead of \code{mailman} for the \programopt{-u} argument value. If your
-crontab does not support the \programopt{-u} option, try these commands:
-
-\begin{verbatim}
- % cd $prefix/cron
- % su - mailman
- % crontab crontab.in
-\end{verbatim}
-
-\section{Start the Mailman qrunner}
-
-Mailman depends on a process called the ``qrunner'' to delivery all
-email messages it sees. You must start the qrunner by executing the following
-command from the \var{\$prefix} directory:
-
-\begin{verbatim}
- % bin/mailmanctl start
-\end{verbatim}
-
-You probably want to start Mailman every time you reboot your system. Exactly
-how to do this depends on your operating system. If your OS supports the
-\program{chkconfig} command (e.g. RedHat and Mandrake Linuxes) you can
-do the following (as root, from the Mailman install directory):
-
-\begin{verbatim}
- % cp scripts/mailman /etc/init.d/mailman
- % chkconfig --add mailman
-\end{verbatim}
-
-Note that \file{/etc/init.d} may be \file{/etc/rc.d/init.d} on some systems.
-
-On Gentoo Linux, you can do the following:
-
-\begin{verbatim}
- % cp scripts/mailman /etc/init.d/mailman
- % rc-update add mailman default
-\end{verbatim}
-
-On Debian, you probably want to use:
-
-\begin{verbatim}
- % update-rc.d mailman defaults
-\end{verbatim}
-
-For \UNIX{}es that don't support \program{chkconfig}, you might try the
-following set of commands:
-
-\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{Check the hostname settings}
-
-You should check the values for \var{DEFAULT_EMAIL_HOST} and
-\var{DEFAULT_URL_HOST} in \file{Defaults.py}. Make any necessary changes in
-the \file{mm_cfg.py} file, \strong{not} in the \file{Defaults.py} file. If you
-change either of these two values, you'll want to add the following afterwards
-in the \file{mm_cfg.py} file:
-
-\begin{verbatim}
- add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
-\end{verbatim}
-
-You will want to run the \program{bin/fix_url.py} to change the domain of any
-existing lists.
-
-\section{Create the site password}
-
-There are two site-wide passwords that you can create from the command line,
-using the \program{bin/mmsitepass} script. The first is the ``site password''
-which can be used anywhere a password is required in the system. The site
-password will get you into the administration page for any list, and it can be
-used to log in as any user. Think \code{root} for a Unix system, so pick this
-password wisely!
-
-The second password is a site-wide ``list creator'' password. You can use
-this to delegate the ability to create new mailing lists without providing all
-the privileges of the site password. Of course, the owner of the site
-password can also create new mailing lists, but the list creator password is
-limited to just that special role.
-
-To set the site password, use this command:
-
-\begin{verbatim}
- % $prefix/bin/mmsitepass <your-site-password>
-\end{verbatim}
-
-To set the list creator password, use this command:
-
-\begin{verbatim}
- % $prefix/bin/mmsitepass -c <list-creator-password>
-\end{verbatim}
-
-It is okay not to set a list creator password, but you probably do want a site
-password.
-
-\section{Create your first mailing list}
-
-For more detailed information about using Mailman, including creating and
-configuring mailing lists, see the Mailman List Adminstration Manual. These
-instructions provide a quick guide to creating your first mailing list via the
-web interface:
-
-\begin{itemize}
-\item Start by visiting the url \code{http://my.dom.ain/mailman/create}.
-
-\item Fill out the form as described in the on-screen instructions, and in the
- ``List creator's password'' field, type the password you entered in
- section \ref{customizing}. Type your own email address for the
- ``Initial list owner address'', and select ``Yes'' to notify the list
- administrator.
-
-\item Click on the ``Create List'' button.
-
-\item Check your email for a message from Mailman informing you that your new
- mailing list was created.
-
-\item Now visit the list's administration page, either by following the link
- on the confirmation web page or clicking on the link from the email
- Mailman just sent you. Typically the url will be something like
- \code{http://my.dom.ain/mailman/admin/mylist}.
-
-\item Type in the list's password and click on ``Let me in...''
-
-\item Click on ``Membership Management'' and then on ``Mass Subscription''.
-
-\item Enter your email address in the big text field, and click on ``Submit
- Your Changes''.
-
-\item Now go to your email and send a message to \code{mylist@my.dom.ain}.
- Within a minute or two you should see your message reflected back to you
- via Mailman.
-\end{itemize}
-
-Congratulations! You've just set up and tested your first Mailman mailing
-list. If you had any problems along the way, please see the
-\ref{troubleshooting} section.
-
-\section{Troubleshooting\label{troubleshooting}}
-
-If you encounter problems with running Mailman, first check the question and
-answer section below. If your problem is not covered there, check the
-\ulink{online help}{http://www.list.org/help.html}, including the
-\ulink{FAQ}{http://www.list.org/faq.html} and the
-\ulink{interactive FAQ wizard}{http://www.python.org/cgi-bin/faqw-mm.py}.
-
-Also check for errors in your syslog files, your mail and web server log files
-and in Mailman's \file{\var{\$prefix}/logs/error} file. If you're still
-having problems, you should send a message to the
-\email{mailman-users@python.org} mailing list\footnote{You must subscribe to
-this mailing list in order to post to it, but the mailing list's archives are
-publicly visible.}; see
-\url{http://mail.python.org/mailman/listinfo/mailman-users} for more
-information.
-
-Be sure to including information on your operating system, which version of
-Python you're using, and which version of Mailman you're installing.
-
-Here is a list of some common questions and answers:
-
-\begin{itemize}
-
-\item \strong{Problem:} All Mailman web pages give a 404 File not found
- error.
-
- \strong{Solution:} Your web server has not been set up properly for
- handling Mailman's CGI programs. Make sure you have:
-
- \begin{enumerate}
- \item configured the web server to give permissions to
- \file{\var{\$prefix}/cgi-bin}
-
- \item restarted the web server properly.
- \end{enumerate}
-
- Consult your web server's documentation for instructions on how to do
- check these issues.
-
-\item \strong{Problem:} All Mailman web pages give an "Internal Server
- Error".
-
- \strong{Solution:} The likely problem is that you are using the wrong
- user or group for the CGI scripts. Check your web server's log files.
- If you see a line like
-
- \begin{verbatim}
- Attempt to exec script with invalid gid 51, expected 99
- \end{verbatim}
-
- you will need to reinstall Mailman, specifying the proper CGI group id,
- as described in the \label{building} section.
-
-\item \strong{Problem:} I send mail to the list, and get back mail saying the
- list is not found!
-
- \strong{Solution:} You probably didn't add the necessary aliases to the
- system alias database, or you didn't properly integrate Mailman with
- your mail server. Perhaps you didn't update the alias database, or your
- system requires you to run \program{newaliases} explicitly. Refer to
- your server specific instructions in the \ref{mail-server} section.
-
-\item \strong{Problem:} I send mail to the list, and get back mail saying,
- ``unknown mailer error''.
-
- \strong{Solution:} The likely problem is that you are using the wrong
- user or group id for the mail wrappers. Check your mail server's log
- files; if you see a line like
-
- \begin{verbatim}
- Attempt to exec script with invalid gid 51, expected 99
- \end{verbatim}
-
- you will need to reinstall Mailman, specifying the proper mail group id
- as described in the \label{building} section.
-
-\item \strong{Problem:} I use Postfix as my mail server and the mail wrapper
- programs are logging complaints about the wrong GID.
-
- \strong{Solution:} Make sure the \file{\var{\$prefix}/data/aliases.db}
- file is user owned by \code{mailman} (or whatever user name you used
- in the \program{configure} command). If this file is not user owned by
- \code{mailman}, Postfix will not run the mail programs as the correct
- user.
-
-\item \strong{Problem:} I use Sendmail as my mail server, and when I send mail
- to the list, I get back mail saying, ``sh: mailman not available for
- sendmail programs''.
-
- \strong{Solution:} Your system uses the Sendmail restricted shell
- (smrsh). You need to configure smrsh by creating a symbolic link from
- the mail wrapper (\file{\var{\$prefix}/mail/mailman}) to the directory
- identifying executables allowed to run under smrsh.
-
- Some common names for this directory are \file{/var/admin/sm.bin},
- \file{/usr/admin/sm.bin} or \file{/etc/smrsh}.
-
- Note that on Debian Linux, the system makes \file{/usr/lib/sm.bin},
- which is wrong, you will need to create the directory
- \file{/usr/admin/sm.bin} and add the link there. Note further any
- aliases \program{newaliases} spits out will need to be adjusted to point
- to the secure link to the wrapper.
-
-\item \strong{Problem:} I messed up when I called \program{configure}. How
- do I clean things up and re-install?
-
- \strong{Solution:}
-
- \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 user 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 \ulink{AFP548.com}{http://www.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}
diff --git a/doc/mailman-install.txt b/doc/mailman-install.txt
new file mode 100644
index 00000000..ab2f4af5
--- /dev/null
+++ b/doc/mailman-install.txt
@@ -0,0 +1,1558 @@
+ #GNU mailman - installation Manual About this document... About this
+ document...
+
+ Previous Page Up one Level Next Page GNU Mailman - Installation Manual
+ __________________________________________________________________
+
+GNU Mailman - Installation Manual
+
+ Barry Warsaw
+
+ barry (at) list dot org
+
+ Release 2.1
+ December 5, 2007
+
+ Front Matter
+
+ Abstract:
+
+ This document describes how to install GNU Mailman on a POSIX-based
+ system such as Unix, MacOSX, or GNU/Linux. It will cover basic
+ installation instructions, as well as guidelines for integrating
+ Mailman with your web and mail servers.
+
+ The GNU Mailman website is at http://www.list.org
+
+ 1 Installation Requirements
+
+ Please note that the information on this page may be out of date. Check
+ for the latest installation information on the Mailman wiki.
+
+ GNU Mailman works on most POSIX-based systems such as Unix, MacOSX, or
+ GNU/Linux. It does not currently work on Windows. You must have a mail
+ server that you can send messages to, and a web server that supports
+ the CGI/1.1 API. Apache makes a fine choice for web server, and mail
+ servers such as Postfix, Exim, Sendmail, and qmail should work just
+ fine.
+
+ To install Mailman from source, you will need an ANSI C compiler to
+ build Mailman's security wrappers. The GNU C compiler gcc works well.
+
+ You must have the Python interpreter installed somewhere on your
+ system. As of this writing, Python 2.4.4 is recommended, but see the
+ wiki page above for the latest information.
+
+ 2 Set up your system
+
+ Before installing Mailman, you need to prepare your system by adding
+ certain users and groups. You will need to have root privileges to
+ perform the steps in this section.
+
+2.1 Add the group and user
+
+ Mailman requires a unique user and group name which will own its files,
+ and under which its processes will run. Mailman's basic security is
+ based on group ownership permissions, so it's important to get this
+ step right^1. Typically, you will add a new user and a new group, both
+ called mailman. The mailman user must be a member of the mailman group.
+ Mailman will be installed under the mailman user and group, with the
+ set-group-id (setgid) bit enabled.
+
+ If these names are already in use, you can choose different user and
+ group names, as long as you remember these when you run configure. If
+ you choose a different unique user name, you will have to specify this
+ with configure's --with-username option, and if you choose a different
+ group name, you will have to specify this with configure's
+ --with-groupname option.
+
+ On Linux systems, you can use the following commands to create these
+ accounts. Check your system's manual pages for details:
+
+ % groupadd mailman
+ % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman
+
+2.2 Create the installation directory
+
+ Typically, Mailman is installed into a single directory, which includes
+ both the Mailman source code and the run-time list and archive data. It
+ is possible to split the static program files from the variable data
+ files and install them in separate directories. This section will
+ describe the available options.
+
+ The default is to install all of Mailman to /usr/local/mailman^2. You
+ can change this base installation directory (referred to here as
+ $prefix) by specifying the directory with the --prefix configure
+ option. If you're upgrading from a previous version of Mailman, you may
+ want to use the --prefix option unless you move your mailing lists.
+
+ Warning: You cannot install Mailman on a filesystem that is mounted
+ with the nosuid option. This will break Mailman, which relies on setgid
+ programs for its security. If this describes your environment, simply
+ install Mailman in a location that allows setgid programs.
+
+ Make sure the installation directory is set to group mailman (or
+ whatever you're going to specify with --with-groupname) and has the
+ setgid bit set^3. You probably also want to guarantee that this
+ directory is readable and executable by everyone. For example, these
+ shell commands will accomplish this:
+
+ % cd $prefix
+ % chgrp mailman .
+ % chmod a+rx,g+ws .
+
+ You are now ready to configure and install the Mailman software.
+
+ 3 Build and install Mailman
+
+3.1 Run configure
+
+ Before you can install Mailman, you must run configure to set various
+ installation options your system might need.
+
+ Note: Take special note of the --with-mail-gid and --with-cgi-gid
+ options below. You will probably need to use these.
+
+ You should not be root while performing the steps in this section. Do
+ them under your own login, or whatever account you typically use to
+ install software. You do not need to do these steps as user mailman,
+ but you could. However, make sure that the login used is a member of
+ the mailman group as that that group has write permissions to the
+ $prefix directory made in the previous step. You must also have
+ permission to create a setgid file in the file system where it resides
+ (NFS and other mounts can be configured to inhibit setgid settings).
+
+ If you've installed other GNU software, you should be familiar with the
+ configure script. Usually you can just cd to the directory you unpacked
+ the Mailman source tarball into, and run configure with no arguments:
+
+ % cd mailman-<version>
+ % ./configure
+ % make install
+
+ The following options allow you to customize your Mailman installation.
+
+ --prefix=dir
+ Standard GNU configure option which changes the base directory
+ that Mailman is installed into. By default $prefix is
+ /usr/local/mailman. This directory must already exist, and be
+ set up as described in 2.2.
+
+ --exec-prefix=dir
+ Standard GNU configure option which lets you specify a different
+ installation directory for architecture dependent binaries.
+
+ --with-var-prefix=dir
+ Store mutable data under dir instead of under the $prefix or
+ $exec_prefix. Examples of such data include the list archives
+ and list settings database.
+
+ --with-python=/path/to/python
+ Specify an alternative Python interpreter to use for the wrapper
+ programs. The default is to use the interpreter found first on
+ your shell's $PATH.
+
+ --with-username=username-or-uid
+ Specify a different username than mailman. The value of this
+ option can be an integer user id or a user name. Be sure your
+ $prefix directory is owned by this user.
+
+ --with-groupname=groupname-or-gid
+ Specify a different groupname than mailman. The value of this
+ option can be an integer group id or a group name. Be sure your
+ $prefix directory is group-owned by this group.
+
+ --with-mail-gid=group-or-groups
+ Specify an alternative group for running scripts via the mail
+ wrapper. group-or-groups can be a list of one or more integer
+ group ids or symbolic group names. The first value in the list
+ that resolves to an existing group is used. By default, the
+ value is the list mailman, other, mail, and daemon.
+
+ Note: This is highly system dependent and you must get this
+ right, because the group id is compiled into the mail wrapper
+ program for added security. On systems using sendmail, the
+ sendmail.cf configuration file designates the group id of
+ sendmail processes using the DefaultUser option. (If commented
+ out, it still may be indicating the default...)
+
+ Check your mail server's documentation and configuration files
+ to find the right value for this switch.
+
+ --with-cgi-gid=group-or-groups
+ Specify an alternative group for running scripts via the CGI
+ wrapper. group-or-groups can be a list of one or more integer
+ group ids or symbolic group names. The first value in the list
+ that resolves to an existing group is used. By default, the
+ value is the the list www, www-data, and nobody.
+
+ Note: The proper value for this is dependent on your web server
+ configuration. You must get this right, because the group id is
+ compiled into the CGI wrapper program for added security, and no
+ Mailman CGI scripts will run if this is incorrect.
+
+ If you're using Apache, check the values for the Group option in
+ your httpd.conf file.
+
+ --with-cgi-ext=extension
+ Specify an extension for cgi-bin programs. The CGI wrappers
+ placed in $prefix/cgi-bin will have this extension (some web
+ servers require an extension). extension must include the
+ leading dot.
+
+ --with-mailhost=hostname
+ Specify the fully qualified host name part for outgoing email.
+ After the installation is complete, this value can be overriden
+ in $prefix/Mailman/mm_cfg.py.
+
+ --with-urlhost=hostname
+ Specify the fully qualified host name part of urls. After the
+ installation is complete, this value can be overriden in
+ $prefix/Mailman/mm_cfg.py.
+
+ --with-gcc=no
+ Don't use gcc, even if it is found. In this case, cc must be
+ found on your $PATH.
+
+3.2 Make and install
+
+ Once you've run configure, you can simply run make, then make install
+ to build and install Mailman.
+
+ 4 Check your installation
+
+ After you've run make install, you should check that your installation
+ has all the correct permissions and group ownerships by running the
+ check_perms script. First change to the installation (i.e. $prefix)
+ directory, then run the bin/check_perms program. Don't try to run
+ bin/check_perms from the source directory; it will only run from the
+ installation directory.
+
+ If this reports no problems, then it's very likely <wink> that your
+ installation is set up correctly. If it reports problems, then you can
+ either fix them manually, re-run the installation, or use
+ bin/check_perms to fix the problems (probably the easiest solution):
+
+ * You need to become the user that did the installation, and that
+ owns all the files in $prefix, or root.
+ * Run bin/check_perms -f
+ * Repeat previous step until no more errors are reported!
+
+ Warning: If you're running Mailman on a shared multiuser system, and
+ you have mailing lists with private archives, you may want to hide the
+ private archive directory from other users on your system. In that
+ case, you should drop the other execute permission (o-x) from the
+ archives/private directory. However, the web server process must be
+ able to follow the symbolic link in public directory, otherwise your
+ public Pipermail archives will not work. To set this up, become root
+ and run the following commands:
+
+# cd <prefix>/archives
+# chown <web-server-user> private
+# chmod o-x private
+
+ You need to know what user your web server runs as. It may be www,
+ apache, httpd or nobody, depending on your server's configuration.
+
+ 5 Set up your web server
+
+ Congratulations! You've installed the Mailman software. To get
+ everything running you need to hook Mailman up to both your web server
+ and your mail system.
+
+ If you plan on running your mail and web servers on different machines,
+ sharing Mailman installations via NFS, be sure that the clocks on those
+ two machines are synchronized closely. You might take a look at the
+ file Mailman/LockFile.py; the constant CLOCK_SLOP helps the locking
+ mechanism compensate for clock skew in this type of environment.
+
+ This section describes some of the things you need to do to connect
+ Mailman's web interface to your web server. The instructions here are
+ somewhat geared toward the Apache web server, so you should consult
+ your web server documentation for details.
+
+ You must configure your web server to enable CGI script permission in
+ the $prefix/cgi-bin to run CGI scripts. The line you should add might
+ look something like the following, with the real absolute directory
+ substituted for $prefix, of course:
+
+ Exec /mailman/* $prefix/cgi-bin/*
+
+ or:
+
+ ScriptAlias /mailman/ $prefix/cgi-bin/
+
+ Warning: You want to be very sure that the user id under which your CGI
+ scripts run is not in the mailman group you created above, otherwise
+ private archives will be accessible to anyone.
+
+ Copy the Mailman, Python, and GNU logos to a location accessible to
+ your web server. E.g. with Apache, you've usually got an icons
+ directory that you can drop the images into. For example:
+
+ % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
+
+ You then want to add a line to your $prefix/Mailman/mm_cfg.py file
+ which sets the base URL for the logos. For example:
+
+ IMAGE_LOGOS = '/images/'
+
+ The default value for IMAGE_LOGOS is /icons/. Read the comment in
+ Defaults.py.in for details.
+
+ Configure your web server to point to the Pipermail public mailing list
+ archives. For example, in Apache:
+
+ Alias /pipermail/ $varprefix/archives/public/
+
+ where $varprefix is usually $prefix unless you've used the
+ --with-var-prefix option to configure. Also be sure to configure your
+ web server to follow symbolic links in this directory, otherwise public
+ Pipermail archives won't be accessible. For Apache users, consult the
+ FollowSymLinks option.
+
+ If you're going to be supporting internationalized public archives, you
+ will probably want to turn off any default charset directive for the
+ Pipermail directory, otherwise your multilingual archive pages won't
+ show up correctly. Here's an example for Apache, based on the standard
+ installation directories:
+
+ <Directory "/usr/local/mailman/archives/public/">
+ AddDefaultCharset Off
+ </Directory>
+
+ Now restart your web server.
+
+ 6 Set up your mail server
+
+ This section describes some of the things you need to do to connect
+ Mailman's email interface to your mail server. The instructions here
+ are different for each mail server; if your mail server is not
+ described in the following subsections, try to generalize from the
+ existing documentation, and consider contributing documentation updates
+ to the Mailman developers.
+
+6.1 Using the Postfix mail server
+
+ Mailman should work pretty much out of the box with a standard Postfix
+ installation. It has been tested with various Postfix versions up to
+ and including Postfix 2.1.5.
+
+ In order to support Mailman's optional VERP delivery, you will want to
+ disable luser_relay (the default) and you will want to set
+ recipient_delimiter for extended address semantics. You should comment
+ out any luser_relay value in your main.cf and just go with the
+ defaults. Also, add this to your main.cf file:
+
+ recipient_delimiter = +
+
+ Using "+" as the delimiter works well with the default values for
+ VERP_FORMAT and VERP_REGEXP in Defaults.py.
+
+ When attempting to deliver a message to a non-existent local address,
+ Postfix may return a 450 error code. Since this is a transient error
+ code, Mailman will continue to attempt to deliver the message for
+ DELIVERY_RETRY_PERIOD - 5 days by default. You might want to set
+ Postfix up so that it returns permanent error codes for non-existent
+ local users by adding the following to your main.cf file:
+
+ unknown_local_recipient_reject_code = 550
+
+ Finally, if you are using Postfix-style virtual domains, read the
+ section on virtual domain support below.
+
+ 6.1.1 Integrating Postfix and Mailman
+
+ You can integrate Postfix and Mailman such that when new lists are
+ created, or lists are removed, Postfix's alias database will be
+ automatically updated. The following are the steps you need to take to
+ make this work.
+
+ In the description below, we assume that you've installed Mailman in
+ the default location, i.e. /usr/local/mailman. If that's not the case,
+ adjust the instructions according to your use of configure's --prefix
+ and --with-var-prefix options.
+
+ Note: If you are using virtual domains and you want Mailman to honor
+ your virtual domains, read the 6.1 section below first!
+
+ * Add this to the bottom of the $prefix/Mailman/mm_cfg.py file:
+ MTA = 'Postfix'
+
+ The MTA variable names a module in the Mailman/MTA directory which
+ contains the mail server-specific functions to be executed when a
+ list is created or removed.
+ * Look at the Defaults.py file for the variables POSTFIX_ALIAS_CMD
+ and POSTFIX_MAP_CMD command. Make sure these point to your
+ postalias and postmap programs respectively. Remember that if you
+ need to make changes, do it in mm_cfg.py.
+ * Run the bin/genaliases script to initialize your aliases file.
+ % cd /usr/local/mailman
+ % bin/genaliases
+
+ Make sure that the owner of the data/aliases and data/aliases.db
+ file is mailman, that the group owner for those files is mailman,
+ or whatever user and group you used in the configure command, and
+ that both files are group writable:
+ % su
+ % chown mailman:mailman data/aliases*
+ % chmod g+w data/aliases*
+
+ * Hack your Postfix's main.cf file to include the following path in
+ your alias_maps variable:
+ /usr/local/mailman/data/aliases
+
+ Note that there should be no trailing .db. Do not include this in
+ your alias_database variable. This is because you do not want
+ Postfix's newaliases command to modify Mailman's aliases.db file,
+ but you do want Postfix to consult aliases.db when looking for
+ local addresses.
+ You probably want to use a hash: style database for this entry.
+ Here's an example:
+ alias_maps = hash:/etc/postfix/aliases,
+ hash:/usr/local/mailman/data/aliases
+
+ * When you configure Mailman, use the --with-mail-gid=mailman switch;
+ this will be the default if you configured Mailman after adding the
+ mailman owner. Because the owner of the aliases.db file is mailman,
+ Postfix will execute Mailman's wrapper program as uid and gid
+ mailman.
+
+ That's it! One caveat: when you add or remove a list, the aliases.db
+ file will updated, but it will not automatically run postfix reload.
+ This is because you need to be root to run this and suid-root scripts
+ are not secure. The only effect of this is that it will take about a
+ minute for Postfix to notice the change to the aliases.db file and
+ update its tables.
+
+ 6.1.2 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,
+ /usr/local/mailman/data/virtual-mailman. It will also use postmap to
+ create the 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 virtual(5)
+ manpage). Note that it's your responsibility to include the
+ virtual-alias.domain anything line as described manpage; Mailman will
+ not include this line in 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 virtual_alias_maps variable, pointing to
+ the virtual-mailman file, e.g.:
+
+ virtual_alias_maps = <your normal virtual alias files>,
+ hash:/usr/local/mailman/data/virtual-mailman
+
+ assuming you've installed Mailman in the default location. If you're
+ using an older version of Postfix which doesn't have the
+ virtual_alias_maps variable, use the virtual_maps variable instead.
+
+ Next, in your mm_cfg.py file, you will want to set the variable
+ 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 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 dom1.ain, dom2.ain, and dom3.ain, and further that in your
+ main.cf file you've got the following settings:
+
+ 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
+
+ If in your virtual-dom1 file, you've got the following lines:
+
+ dom1.ain IGNORE
+ @dom1.ain @mail.dom1.ain
+
+ this tells Postfix to deliver anything addressed to dom1.ain to the
+ same mailbox at mail.dom1.com, its default destination.
+
+ In this case you would not include dom1.ain in
+ POSTFIX_STYLE_VIRTUAL_DOMAINS because otherwise Mailman will write
+ entries for mailing lists in the dom1.ain domain as
+
+ mylist@dom1.ain mylist
+ mylist-request@dom1.ain mylist-request
+ # and so on...
+
+ The more specific entries trump your more general entries, thus
+ breaking the delivery of any dom1.ain mailing list.
+
+ However, you would include dom2.ain and dom3.ain in mm_cfg.py:
+
+ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain']
+
+ Now, any list that Mailman creates in either of those two domains, will
+ have the correct entries written to
+ /usr/local/mailman/data/virtual-mailman.
+
+ As above with the data/aliases* files, you want to make sure that both
+ data/virtual-mailman and data/virtual-mailman.db are user and group
+ owned by mailman.
+
+ 6.1.3 An alternative approach
+
+ Fil fil@rezo.net has an alternative approach based on virtual maps and
+ regular expressions, as described at:
+
+ * (French) http://listes.rezo.net/comment.php
+ * (English) http://listes.rezo.net/how.php
+
+ 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 mylist@lists.dom.ain
+ instead of mylist@dom.ain.
+
+6.2 Using the Exim mail server
+
+ 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: http://www.exim.org/howto/mailman.html.
+
+ 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.
+
+ 6.2.1 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:
+
+ * add the list domain, ``my.list.domain'' to local_domains
+ * add a ``domains=my.list.domain'' option to the director (router)
+ for the list
+ * (optional) exclude that domain from your other directors (routers)
+
+ Note: The instructions in this document should work with either Exim 3
+ or Exim 4. In Exim 3, you must have a local_domains configuration
+ setting; in Exim 4, you most likely have a 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''.
+
+ 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 mm21 in place of mailman - e.g., MM21_HOME,
+ mm21_transport, etc.
+
+ 6.2.2 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.
+
+ # 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
+
+ 6.2.3 Transport for Exim 3
+
+ Add this to the transports section of your Exim config file, i.e.
+ somewhere between the first and second ``end'' line:
+
+ 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.2.4 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.
+
+ # 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
+
+ 6.2.5 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.
+
+ 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
+
+ 6.2.6 Transports for Exim 4
+
+ The transport for Exim 4 is the same as for Exim 3 (see 6.2; just copy
+ the transport given above to somewhere under the ``begin transports''
+ line of your Exim config file.
+
+ 6.2.7 Additional notes
+
+ Exim should be configured to allow reasonable volume - e.g. don't set
+ 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.
+
+ 6.2.8 Problems
+
+ * Mailman will send as many MAIL FROM/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
+ 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
+ SMTP_MAX_SESSIONS_PER_CONNECTION (in $prefix/Mailman/mm_cfg.py) to
+ a smaller value than Exim's smtp_accept_queue_per_connection.
+ * 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.
+ * List existence is determined by the existence of a config.pck file
+ for a list. If you delete lists by foul means, be aware of this.
+ * If you are getting Exim or Mailman complaining about user ids when
+ you send mail to a list, check that the MAILMAN_USER and
+ MAILMAN_GROUP match those of Mailman itself (i.e. what were used in
+ the configure script). Also make sure you do not have aliases in
+ the main alias file for the list.
+
+ 6.2.9 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
+ 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:
+
+ receiver_verify_hosts = !127.0.0.1
+
+ Under Exim 4, this is probably already taken care of for you by the
+ default recipient verification ACL statement (in the RCPT TO ACL):
+
+ accept domains = +local_domains
+ endpass
+ message = unknown user
+ verify = recipient
+
+ 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.)
+
+ 6.2.10 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 RCPT TO ACL:
+
+ # 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
+
+ If you also do SMTP callbacks on header addresses, you'll want
+ something like this in your DATA ACL:
+
+ deny !condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
+ !verify = header_sender/callout=90s
+
+ 6.2.11 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
+ $prefix/Mailman/Defaults.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 $prefix/Mailman/mm_cfg.py:
+
+ VERP_PASSWORD_REMINDERS = Yes
+ VERP_PERSONALIZED_DELIVERIES = Yes
+ VERP_DELIVERY_INTERVAL = Yes
+ VERP_CONFIRMATIONS = Yes
+
+ (The director (router) above is smart enough to deal with VERP
+ bounces.)
+
+ 6.2.12 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 MAILMAN_HOME and MAILMAN_WRAP macros are useless -
+ you can remove them. Change your director (router) to something like
+ this:
+
+ require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck
+
+ and change your transport like this:
+
+ 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
+
+ 6.2.13 List Verification
+
+ This is how a set of address tests for the Exim lists look on a working
+ system. The list in question is quixote-users@mems-exchange.org, and
+ these commands were run on the mems-exchange.org mail server ("% "
+ indicates the Unix shell prompt):
+
+ % 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
+
+ If your 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!
+
+ 6.2.14 Document History
+
+ Originally written by Nigel Metheringham postmaster@exim.org. Updated
+ by Marc Merlin marc_soft@merlins.org for Mailman 2.1, Exim 4.
+ Overhauled/reformatted/clarified/simplified by Greg Ward
+ gward@python.net.
+
+6.3 Using the Sendmail mail server
+
+ Warning: You may be tempted to set the DELIVERY_MODULE configuration
+ variable in mm_cfg.py to 'Sendmail' when using the Sendmail mail
+ server. Don't. The Sendmail.py module is misnamed - it's really a
+ command line based message handoff scheme as opposed to the SMTP scheme
+ used in SMTPDirect.py (the default). Sendmail.py has known security
+ holes and is provided as a proof-of-concept only^4. If you are having
+ problems using SMTPDirect.py fix those instead of using Sendmail.py, or
+ you may open your system up to security exploits.
+
+ 6.3.1 Sendmail ``smrsh'' compatibility
+
+ Many newer versions of Sendmail come with a restricted execution
+ utility called ``smrsh'', which limits the executables that Sendmail
+ will allow to be used as mail programs. You need to explicitly allow
+ Mailman's wrapper program to be used with smrsh or Mailman will not
+ work. If mail is not getting delivered to Mailman's wrapper program and
+ you're getting an ``operating system error'' in your mail syslog, this
+ could be your problem.
+
+ One good way of enabling this is:
+
+ * Find out where your Sendmail executes its smrsh wrapper
+ % grep smrsh /etc/mail/sendmail.cf
+
+ * Figure out where smrsh expects symlinks for allowable mail
+ programs. At the very beginning of the following output you will
+ see a full path to some directory, e.g. /var/adm/sm.bin or similar:
+ % strings $path_to_smrsh | less
+
+ * cd into /var/adm/sm.bin, or where ever it happens to reside on your
+ system - alternatives include /etc/smrsh, /var/smrsh and
+ /usr/local/smrsh.
+ % cd /var/adm/sm.bin
+
+ * Create a symbolic link to Mailman's wrapper program:
+ % ln -s /usr/local/mailman/mail/mailman mailman
+
+ 6.3.2 Integrating Sendmail and Mailman
+
+ David Champion has contributed a recipe for more closely integrating
+ Sendmail and Mailman, such that Sendmail will automatically recognize
+ and deliver to new mailing lists as they are created, without having to
+ manually edit alias tables.
+
+ In the contrib directory of Mailman's source distribution, you will
+ find four files:
+
+ * mm-handler.readme - an explanation of how to set everything up
+ * mm-handler - the mail delivery agent (MDA)
+ * mailman.mc - a toy configuration file sample
+ * virtusertable - a sample for RFC 2142 address exceptions
+
+ 6.3.3 Performance notes
+
+ One of the surest performance killers for Sendmail users is when
+ Sendmail is configured to synchronously verify the recipient's host via
+ DNS. If it does this for messages posted to it from Mailman, you will
+ get horrible performance. Since Mailman usually connects via localhost
+ (i.e. 127.0.0.1) to the SMTP port of Sendmail, you should be sure to
+ configure Sendmail to not do DNS verification synchronously for
+ localhost connections.
+
+6.4 Using the Qmail mail server
+
+ 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).
+
+ * You might need to set the mail-gid user to either qmail, mailman,
+ or nofiles by using the --with-mail-gid configure option.
+ BN: it highly depends on your mail storing policy. For example if
+ you use the simple ~alias/.qmail-* files, you can use `id -g
+ alias`. But if you use /var/qmail/users, the specified mail gid can
+ be used.
+ If you are going to be directing virtual domains directly to the
+ mailman user (using ``virtualdomains'' on a list-only domain, for
+ example), you will have to use --with-mail-gid=gid of mailman
+ user's group. This is incompatible with having list aliases in
+ ~alias, unless that alias simply forwards to mailman-listname*.
+ * If there is a user mailman on your system, the alias mailman-owner
+ will work only in ~mailman. You have to do a touch .qmail-owner in
+ ~mailman directory to create this alias.
+ NB: An alternative, IMHO better solution is to chown root ~mailman,
+ that will stop qmail from considering mailman to be a user to whom
+ mail can be delivered. (See ``man 8 qmail-getpw''.)
+ * 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
+ "-" in them. Putting .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 /var/qmail/users/assign file:
+ +zope-:alias:112:11:/var/qmail/alias:-:zope-:
+ .
+
+ where in this case the listname is e.g. zope-users.
+ NB: Alternatively, you could host the lists on a virtual domain,
+ and use the /var/qmail/control/virtualdomains file to put the
+ mailman user in charge of this virtual domain.
+ * BN:If inbound messages are delivered by another user than mailman,
+ it's necessary to allow it to access ~mailman. Be sure that
+ ~mailman has group writing access and setgid bit is set. Then put
+ the delivering user to mailman group, and you can deny access to
+ ~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. NB: E.g. make an additional "A" DNS record
+ for the virtual mailserver pointing to your IP address, add the
+ line lists.kva.hu:mailman to /var/qmail/control/virtualdomains and
+ a lists.kva.hu line to /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:
+ .qmail => mailman@...'s letters
+ .qmail-owner => mailman-owner's letters
+
+ For list aliases, you can either create them manually:
+ .qmail-list => posts to the 'list' list
+ .qmail-list-admin => posts to the 'list's owner
+ .qmail-list-request => requests to 'list'
+ etc
+
+ or for automatic list alias handling (when using the lists.kva.hu
+ virtual as above), see contrib/qmail-to-mailman.py in the Mailman
+ source distribution. Modify the ~mailman/.qmail-default to include:
+ |preline /path/to/python /path/to/qmail-to-mailman.py
+
+ and new lists will automatically be picked up.
+ * 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 /etc/hosts.allow file:
+ tcp-env: 127. 10.205.200. : setenv RELAYCLIENT
+
+ where 10.205.200. is your IP address block. If you use tcpserver,
+ then you need something like the following in your /etc/tcp.smtp
+ file:
+ 10.205.200.:allow,RELAYCLIENT=""
+ 127.:allow,RELAYCLIENT=""
+
+ * BN: Bigger /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.
+ * More information about setting up qmail and relaying can be found
+ in the qmail documentation.
+
+ 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 contrib/qmail-to-mailman.py):
+
+ This script is for the Mailman 2.0 series:
+
+#!/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
+
+ Note: This is for a new Mailman 2.1 installation. Users upgrading from
+ Mailman 2.0 would most likely change /usr/local/mailman to
+ /home/mailman. If in doubt, refer to the --prefix option passed to
+ configure during compile time.
+
+#!/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-bounc
+es
+ # The following line is for VERP
+ # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bou
+nces-default
+ echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-confi
+rm
+ 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-reque
+st
+ echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-sub
+scribe
+ echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i-u
+nsubscribe
+fi
+
+ 6.4.1 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 mm_cfg.py file:
+
+ VERP_FORMAT = '%(bounces)s-+%(mailbox)s=%(host)s'
+ VERP_REGEXP = r'^(?P<bounces>.*?)-\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$'
+
+ The second option is a patch on SourceForge located at:
+
+ http://sourceforge.net/tracker/?func=detail&atid=300103&aid=645513&grou
+ p_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.
+
+ 6.4.2 Virtual mail server
+
+ As mentioned in the 6.4 section for a virtual mail server, a patch
+ under testing is located at:
+
+ http://sf.net/tracker/index.php?func=detail&aid=621257&group_id=103&ati
+ d=300103
+
+ Again, this patch is for people familiar with their qmail installation.
+
+ 6.4.3 More information
+
+ You might be interested in some information on modifying footers that
+ Norbert Bollow has written about Mailman and qmail, available here:
+
+ http://mailman.cis.to/qmail-verh/
+
+ 7 Review your site defaults
+
+ Mailman has a large number of site-wide configuration options which you
+ should now review and change according to your needs. Some of the
+ options control how Mailman interacts with your environment, and other
+ options select defaults for newly created lists^5. There are system
+ tuning parameters and integration options.
+
+ The full set of site-wide defaults lives in the
+ $prefix/Mailman/Defaults.py file, however you should never modify this
+ file! Instead, change the mm_cfg.py file in that same directory. You
+ only need to add values to mm_cfg.py that are different than the
+ defaults in Defaults.py, and future Mailman upgrades are guaranteed
+ never to touch your mm_cfg.py file.
+
+ The Defaults.py file is documented extensively, so the options are not
+ described here. The Defaults.py and mm_cfg.py are both Python files so
+ valid Python syntax must be maintained or your Mailman installation
+ will break.
+
+ Note: Do not change the HOME_DIR or MAILMAN_DIR variables. These are
+ set automatically by the configure script, and you will break your
+ Mailman installation by if you change these.
+
+ You should make any changes to mm_cfg.py using the account you
+ installed Mailman under in the 14 section.
+
+ 8 Create a site-wide mailing list
+
+ After you have completed the integration of Mailman and your mail
+ server, you need to create a ``site-wide'' mailing list. This is the
+ one that password reminders will appear to come from, and it is
+ required for proper Mailman operation. Usually this should be a list
+ called mailman, but if you need to change this, be sure to change the
+ MAILMAN_SITE_LIST variable in mm_cfg.py. You can create the site list
+ with this command, following the prompts:
+
+ % bin/newlist mailman
+
+ Now configure your site list. There is a convenient template for a
+ generic site list in the installation directory, under
+ data/sitelist.cfg which can help you with this. You should review the
+ configuration options in the template, but note that any options not
+ named in the sitelist.cfg file won't be changed.
+
+ The template can be applied to your site list by running:
+
+ % bin/config_list -i data/sitelist.cfg mailman
+
+ After applying the sitelist.cfg options, be sure you review the site
+ list's configuration via the admin pages.
+
+ You should also subscribe yourself to the site list.
+
+ 9 Set up cron
+
+ Several Mailman features occur on a regular schedule, so you must set
+ up cron to run the right programs at the right time^6.
+
+ If your version of crontab supports the -u option, you must be root to
+ do this next step. Add $prefix/cron/crontab.in as a crontab entry by
+ executing these commands:
+
+ % cd $prefix/cron
+ % crontab -u mailman crontab.in
+
+ If you used the --with-username option, use that user name instead of
+ mailman for the -u argument value. If your crontab does not support the
+ -u option, try these commands:
+
+ % cd $prefix/cron
+ % su - mailman
+ % crontab crontab.in
+
+ 10 Start the Mailman qrunner
+
+ Mailman depends on a process called the ``qrunner'' to delivery all
+ email messages it sees. You must start the qrunner by executing the
+ following command from the $prefix directory:
+
+ % bin/mailmanctl start
+
+ You probably want to start Mailman every time you reboot your system.
+ Exactly how to do this depends on your operating system. If your OS
+ supports the chkconfig command (e.g. RedHat and Mandrake Linuxes) you
+ can do the following (as root, from the Mailman install directory):
+
+ % cp scripts/mailman /etc/init.d/mailman
+ % chkconfig --add mailman
+
+ Note that /etc/init.d may be /etc/rc.d/init.d on some systems.
+
+ On Gentoo Linux, you can do the following:
+
+ % cp scripts/mailman /etc/init.d/mailman
+ % rc-update add mailman default
+
+ On Debian, you probably want to use:
+
+ % update-rc.d mailman defaults
+
+ For Unixes that don't support chkconfig, you might try the following
+ set of commands:
+
+ % 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
+
+ 11 Check the hostname settings
+
+ You should check the values for DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST
+ in Defaults.py. Make any necessary changes in the mm_cfg.py file, not
+ in the Defaults.py file. If you change either of these two values,
+ you'll want to add the following afterwards in the mm_cfg.py file:
+
+ add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
+
+ You will want to run the bin/fix_url.py to change the domain of any
+ existing lists.
+
+ 12 Create the site password
+
+ There are two site-wide passwords that you can create from the command
+ line, using the bin/mmsitepass script. The first is the ``site
+ password'' which can be used anywhere a password is required in the
+ system. The site password will get you into the administration page for
+ any list, and it can be used to log in as any user. Think root for a
+ Unix system, so pick this password wisely!
+
+ The second password is a site-wide ``list creator'' password. You can
+ use this to delegate the ability to create new mailing lists without
+ providing all the privileges of the site password. Of course, the owner
+ of the site password can also create new mailing lists, but the list
+ creator password is limited to just that special role.
+
+ To set the site password, use this command:
+
+ % $prefix/bin/mmsitepass <your-site-password>
+
+ To set the list creator password, use this command:
+
+ % $prefix/bin/mmsitepass -c <list-creator-password>
+
+ It is okay not to set a list creator password, but you probably do want
+ a site password.
+
+ 13 Create your first mailing list
+
+ For more detailed information about using Mailman, including creating
+ and configuring mailing lists, see the Mailman List Adminstration
+ Manual. These instructions provide a quick guide to creating your first
+ mailing list via the web interface:
+
+ * Start by visiting the url http://my.dom.ain/mailman/create.
+ * Fill out the form as described in the on-screen instructions, and
+ in the ``List creator's password'' field, type the password you
+ entered in section 7. Type your own email address for the ``Initial
+ list owner address'', and select ``Yes'' to notify the list
+ administrator.
+ * Click on the ``Create List'' button.
+ * Check your email for a message from Mailman informing you that your
+ new mailing list was created.
+ * Now visit the list's administration page, either by following the
+ link on the confirmation web page or clicking on the link from the
+ email Mailman just sent you. Typically the url will be something
+ like http://my.dom.ain/mailman/admin/mylist.
+ * Type in the list's password and click on ``Let me in...''
+ * Click on ``Membership Management'' and then on ``Mass
+ Subscription''.
+ * Enter your email address in the big text field, and click on
+ ``Submit Your Changes''.
+ * Now go to your email and send a message to mylist@my.dom.ain.
+ Within a minute or two you should see your message reflected back
+ to you via Mailman.
+
+ Congratulations! You've just set up and tested your first Mailman
+ mailing list. If you had any problems along the way, please see the 14
+ section.
+
+ 14 Troubleshooting
+
+ If you encounter problems with running Mailman, first check the
+ question and answer section below. If your problem is not covered
+ there, check the online help, including the FAQ and the interactive FAQ
+ wizard.
+
+ Also check for errors in your syslog files, your mail and web server
+ log files and in Mailman's $prefix/logs/error file. If you're still
+ having problems, you should send a message to the
+ mailman-users@python.org mailing list^7; see
+ http://mail.python.org/mailman/listinfo/mailman-users for more
+ information.
+
+ Be sure to including information on your operating system, which
+ version of Python you're using, and which version of Mailman you're
+ installing.
+
+ Here is a list of some common questions and answers:
+
+ * Problem: All Mailman web pages give a 404 File not found error.
+ Solution: Your web server has not been set up properly for handling
+ Mailman's CGI programs. Make sure you have:
+ 1. configured the web server to give permissions to
+ $prefix/cgi-bin
+ 2. restarted the web server properly.
+ Consult your web server's documentation for instructions on how to
+ do check these issues.
+ * Problem: All Mailman web pages give an "Internal Server Error".
+ Solution: The likely problem is that you are using the wrong user
+ or group for the CGI scripts. Check your web server's log files. If
+ you see a line like
+ Attempt to exec script with invalid gid 51, expected 99
+
+ you will need to reinstall Mailman, specifying the proper CGI group
+ id, as described in the section.
+ * Problem: I send mail to the list, and get back mail saying the list
+ is not found!
+ Solution: You probably didn't add the necessary aliases to the
+ system alias database, or you didn't properly integrate Mailman
+ with your mail server. Perhaps you didn't update the alias
+ database, or your system requires you to run newaliases explicitly.
+ Refer to your server specific instructions in the 6 section.
+ * Problem: I send mail to the list, and get back mail saying,
+ ``unknown mailer error''.
+ Solution: The likely problem is that you are using the wrong user
+ or group id for the mail wrappers. Check your mail server's log
+ files; if you see a line like
+ Attempt to exec script with invalid gid 51, expected 99
+
+ you will need to reinstall Mailman, specifying the proper mail
+ group id as described in the section.
+ * Problem: I use Postfix as my mail server and the mail wrapper
+ programs are logging complaints about the wrong GID.
+ Solution: Make sure the $prefix/data/aliases.db file is user owned
+ by mailman (or whatever user name you used in the configure
+ command). If this file is not user owned by mailman, Postfix will
+ not run the mail programs as the correct user.
+ * Problem: I use Sendmail as my mail server, and when I send mail to
+ the list, I get back mail saying, ``sh: mailman not available for
+ sendmail programs''.
+ Solution: Your system uses the Sendmail restricted shell (smrsh).
+ You need to configure smrsh by creating a symbolic link from the
+ mail wrapper ($prefix/mail/mailman) to the directory identifying
+ executables allowed to run under smrsh.
+ Some common names for this directory are /var/admin/sm.bin,
+ /usr/admin/sm.bin or /etc/smrsh.
+ Note that on Debian Linux, the system makes /usr/lib/sm.bin, which
+ is wrong, you will need to create the directory /usr/admin/sm.bin
+ and add the link there. Note further any aliases newaliases spits
+ out will need to be adjusted to point to the secure link to the
+ wrapper.
+ * Problem: I messed up when I called configure. How do I clean things
+ up and re-install?
+ Solution:
+ % make clean
+ % ./configure --with-the-right-options
+ % make install
+
+ 15 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.
+
+15.1 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:
+
+ * If you are getting errors with hard link creations and/or you are
+ using a special secure kernel (securelinux/openwall/grsecurity),
+ see the 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.
+ * Apparently Mandrake 9.0 changed the permissions on gcc, so if you
+ build as the mailman user, you need to be sure mailman is in the
+ cctools group.
+ * 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 python2.2-dev package. On Redhat, you probably need the
+ 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:
+ Traceback (most recent call last):
+ File "bin/update", line 44, in ?
+ import paths
+ ImportError: No module named paths
+ make: *** [update] Error 1
+
+ If this happens, install the Python development package and try
+ configure and make install again. Or install the latest version of
+ Python from source, available from http://www.python.org.
+ This problem can manifest itself in other Linux distributions in
+ different ways, although usually it appears as ImportErrors.
+
+15.2 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 Unixes, 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 DIRSETGID variable to make, after you've run configure:
+
+ % make DIRSETGID=: install
+
+ This disables the chmod g+s command on installed directories.
+
+15.3 MacOSX issues
+
+ Many people run Mailman on MacOSX. Here are some pointers that have
+ been collected on getting Mailman to run on MacOSX.
+
+ * 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.
+ * David B. O'Donnell has a web page describing his configuration of
+ Mailman 2.0.13 and Postfix on MacOSX Server.
+ http://www.afp548.com/Articles/mail/python-mailman.html
+ * Kathleen Webb posted her experiences in getting Mailman running on
+ Jaguar using Sendmail.
+ http://mail.python.org/pipermail/mailman-users/2002-October/022944.
+ html
+ * 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:
+ http://docs.info.apple.com/article.html?artnum=107889
+
+ 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
+ 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
+ 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
+ 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 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 "#" since they are just notes:
+
+sudo tcsh
+niutil -create / /users/mailman
+niutil -createprop / /users/mailman name mailman
+# Note that xxx is a free user 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
+
+ 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 /etc/httpd/httpd.conf.
+
+ The AFP548.com site has a time-saving automated startup item creator
+ for Mailman, which can be found at
+ http://www.afp548.com/Software/MailmanStartup.tar.gz
+
+ To install it, copy it into your /Library/StartupItems directory. As
+ the root or superuser, from the terminal, enter the following:
+
+gunzip MailmanStartup.tar.gz
+tar xvf MailmanStartup.tar
+
+ It will create the startup item for you so that when you reboot,
+ Mailman will start up.
+
+ About this document ...
+
+ GNU Mailman - Installation Manual, December 5, 2007, Release 2.1
+
+ This document was generated using the LaTeX2HTML translator.
+
+ LaTeX2HTML is Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos,
+ Computer Based Learning Unit, University of Leeds, and Copyright ©
+ 1997, 1998, Ross Moore, Mathematics Department, Macquarie University,
+ Sydney.
+
+ The application of LaTeX2HTML to the Python documentation has been
+ heavily tailored by Fred L. Drake, Jr. Original navigation icons were
+ contributed by Christopher Petrilli.
+ __________________________________________________________________
+
+ Footnotes
+
+ ... right^1
+ You will be able to check and repair your permissions after
+ installation is complete.
+
+ .../usr/local/mailman^2
+ This is the default for Mailman 2.1. Earlier versions of Mailman
+ installed everything under /home/mailman by default.
+
+ ... set^3
+ BSD users should see the 15.2 section for additional
+ information.
+
+ ... only^4
+ In fact, in later versions of Mailman, this module is explicitly
+ sabotaged. You have to know what you're doing in order to
+ re-enable it.
+
+ ... lists^5
+ In general, changing the list defaults described in this section
+ will not affect any already created lists. To make changes after
+ a list has been created, use the web interface or the command
+ line scripts, such as bin/withlist and bin/config_list.
+
+ ... time^6
+ Note that if you're upgrading from a previous version of
+ Mailman, you'll want to install the new crontab, but be careful
+ if you're running multiple Mailman installations on your site!
+ Changing the crontab could mess with other parallel Mailman
+ installations.
+
+ ... list^7
+ You must subscribe to this mailing list in order to post to it,
+ but the mailing list's archives are publicly visible.
+ __________________________________________________________________
+
+ Previous Page Up one Level Next Page GNU Mailman - Installation Manual
+ __________________________________________________________________
+
+ Release 2.1, documentation updated on December 5, 2007.
diff --git a/doc/mailman-install/about.html b/doc/mailman-install/about.html
new file mode 100644
index 00000000..04ba5851
--- /dev/null
+++ b/doc/mailman-install/about.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="front.html" />
+<link rel="parent" href="mailman-install.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>About this document ...</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.3 macosx issues"
+ href="node50.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node50.html">15.3 MacOSX issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mailman-install.html">GNU Mailman - Installation</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION002000000000000000000">
+About this document ...</a>
+</h1>
+ <strong>GNU Mailman - Installation Manual</strong>,
+December 5, 2007, Release 2.1
+<p> This document was generated using the <a
+ href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+ <strong>LaTeX</strong>2<tt>HTML</tt></a> translator.
+</p>
+
+<p> <a
+ href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+ <strong>LaTeX</strong>2<tt>HTML</tt></a> is Copyright &copy;
+ 1993, 1994, 1995, 1996, 1997, <a
+ href="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos
+ Drakos</a>, Computer Based Learning Unit, University of
+ Leeds, and Copyright &copy; 1997, 1998, <a
+ href="http://www.maths.mq.edu.au/~ross/">Ross
+ Moore</a>, Mathematics Department, Macquarie University,
+ Sydney.
+</p>
+
+<p> The application of <a
+ href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+ <strong>LaTeX</strong>2<tt>HTML</tt></a> to the Python
+ documentation has been heavily tailored by Fred L. Drake,
+ Jr. Original navigation icons were contributed by Christopher
+ Petrilli.
+</p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.3 macosx issues"
+ href="node50.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node50.html">15.3 MacOSX issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mailman-install.html">GNU Mailman - Installation</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/blank.png b/doc/mailman-install/blank.png
new file mode 100644
index 00000000..2af5639b
--- /dev/null
+++ b/doc/mailman-install/blank.png
Binary files differ
diff --git a/doc/mailman-install/bsd-issues.html b/doc/mailman-install/bsd-issues.html
new file mode 100644
index 00000000..932283e2
--- /dev/null
+++ b/doc/mailman-install/bsd-issues.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node50.html" />
+<link rel="prev" href="node48.html" />
+<link rel="parent" href="node47.html" />
+<link rel="next" href="node50.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>15.2 BSD issues</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.1 GNU/Linux issues"
+ href="node48.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.3 macosx issues"
+ href="node50.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node48.html">15.1 GNU/Linux issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node50.html">15.3 MacOSX issues</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION0011520000000000000000"></a><a name="bsd-issues"></a>
+<br>
+15.2 BSD issues
+</h2>
+
+<p>
+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 <span class="Unix">Unix</span>es,
+this only happens when the directory has the setgid bit turned on.
+
+<p>
+To install without turning on the setgid bit on directories, simply pass in
+the <var>DIRSETGID</var> variable to <b class="program">make</b>, after you've run
+<b class="program">configure</b>:
+
+<p>
+<div class="verbatim"><pre>
+ % make DIRSETGID=: install
+</pre></div>
+
+<p>
+This disables the <b class="program">chmod g+s</b> command on installed directories.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.1 GNU/Linux issues"
+ href="node48.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.3 macosx issues"
+ href="node50.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node48.html">15.1 GNU/Linux issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node50.html">15.3 MacOSX issues</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/contents.png b/doc/mailman-install/contents.png
new file mode 100644
index 00000000..3429be0c
--- /dev/null
+++ b/doc/mailman-install/contents.png
Binary files differ
diff --git a/doc/mailman-install/create-install-dir.html b/doc/mailman-install/create-install-dir.html
new file mode 100644
index 00000000..e152c25f
--- /dev/null
+++ b/doc/mailman-install/create-install-dir.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node4.html" />
+<link rel="parent" href="node3.html" />
+<link rel="next" href="node6.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>2.2 Create the installation directory</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2.1 add the group"
+ href="node4.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="2 set up your"
+ href="node3.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3 build and install"
+ href="node6.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node4.html">2.1 Add the group</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node3.html">2 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node6.html">3 Build and install</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001220000000000000000"></a><a name="create-install-dir"></a>
+<br>
+2.2 Create the installation directory
+</h2>
+Typically, Mailman is installed into a single directory, which includes both
+the Mailman source code and the run-time list and archive data. It is
+possible to split the static program files from the variable data files and
+install them in separate directories. This section will describe the
+available options.
+
+<p>
+The default is to install all of Mailman to
+<span class="file">/usr/local/mailman</span><a name="tex2html2"
+ href="#foot706"><sup>2</sup></a>. You can change this base installation directory (referred to here
+as <var>$prefix</var>) by specifying the directory with the
+<b class="programopt">--prefix</b> <b class="program">configure</b> option. If you're upgrading from
+a previous version of Mailman, you may want to use the <b class="programopt">--prefix</b>
+option unless you move your mailing lists.
+
+<p>
+<div class="warning"><b class="label">Warning:</b>
+
+You cannot install Mailman on a filesystem that is mounted with the
+<code>nosuid</code> option. This will break Mailman, which relies on setgid
+programs for its security. If this describes your environment, simply install
+Mailman in a location that allows setgid programs.
+</div>
+
+<p>
+Make sure the installation directory is set to group <code>mailman</code> (or
+whatever you're going to specify with <b class="programopt">--with-groupname</b>) and has
+the setgid bit set<a name="tex2html3"
+ href="#foot707"><sup>3</sup></a>. You probably also want to guarantee that this
+directory is readable and executable by everyone. For example, these shell
+commands will accomplish this:
+
+<p>
+<div class="verbatim"><pre>
+ % cd $prefix
+ % chgrp mailman .
+ % chmod a+rx,g+ws .
+</pre></div>
+
+<p>
+You are now ready to configure and install the Mailman software.
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot706">.../usr/local/mailman</a><A
+ href="create-install-dir.html#tex2html2"><sup>2</sup></a></dt>
+<dd>This is the default for Mailman 2.1.
+Earlier versions of Mailman installed everything under <span class="file">/home/mailman</span> by
+default.
+
+</dd>
+<dt><a name="foot707">... set</a><A
+ href="create-install-dir.html#tex2html3"><sup>3</sup></a></dt>
+<dd>BSD users should see the <a href="bsd-issues.html#bsd-issues">15.2</a> section
+for additional information.
+
+</dd>
+</dl>
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2.1 add the group"
+ href="node4.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="2 set up your"
+ href="node3.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3 build and install"
+ href="node6.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node4.html">2.1 Add the group</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node3.html">2 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node6.html">3 Build and install</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/customizing.html b/doc/mailman-install/customizing.html
new file mode 100644
index 00000000..8600d093
--- /dev/null
+++ b/doc/mailman-install/customizing.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node40.html" />
+<link rel="prev" href="mail-server.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node40.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>7 Review your site defaults</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.3 more information"
+ href="node38.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="8 create a site-wide"
+ href="node40.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node38.html">6.4.3 More information</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node40.html">8 Create a site-wide</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001700000000000000000"></a><a name="customizing"></a>
+<br>
+7 Review your site defaults
+</h1>
+
+<p>
+Mailman has a large number of site-wide configuration options which you should
+now review and change according to your needs. Some of the options control
+how Mailman interacts with your environment, and other options select defaults
+for newly created lists<a name="tex2html5"
+ href="#foot733"><sup>5</sup></a>.
+There are system tuning parameters and integration options.
+
+<p>
+The full set of site-wide defaults lives in the
+<span class="file"><var>$prefix</var>/Mailman/Defaults.py</span> file, however you should
+<strong>never</strong> modify this file! Instead, change the <span class="file">mm_cfg.py</span> file in
+that same directory. You only need to add values to <span class="file">mm_cfg.py</span> that are
+different than the defaults in <span class="file">Defaults.py</span>, and future Mailman upgrades
+are guaranteed never to touch your <span class="file">mm_cfg.py</span> file.
+
+<p>
+The <span class="file">Defaults.py</span> file is documented extensively, so the options are not
+described here. The <span class="file">Defaults.py</span> and <span class="file">mm_cfg.py</span> are both
+<a class="ulink" href="http://www.python.org"
+ >Python</a> files so valid Python syntax must be
+maintained or your Mailman installation will break.
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+Do <strong>not</strong> change the <var>HOME_DIR</var> or <var>MAILMAN_DIR</var> variables.
+These are set automatically by the <b class="program">configure</b> script, and you will
+break your Mailman installation by if you change these.
+</div>
+
+<p>
+You should make any changes to <span class="file">mm_cfg.py</span> using the account you
+installed Mailman under in the <a href="troubleshooting.html#building">14</a> section.
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot733">... lists</a><A
+ href="customizing.html#tex2html5"><sup>5</sup></a></dt>
+<dd>In general, changing the list defaults
+described in this section will not affect any already created lists. To make
+changes after a list has been created, use the web interface or the command
+line scripts, such as <b class="program">bin/withlist</b> and <b class="program">bin/config_list</b>.
+
+</dd>
+</dl>
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.3 more information"
+ href="node38.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="8 create a site-wide"
+ href="node40.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node38.html">6.4.3 More information</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node40.html">8 Create a site-wide</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/exim3-transport.html b/doc/mailman-install/exim3-transport.html
new file mode 100644
index 00000000..f9e25d1f
--- /dev/null
+++ b/doc/mailman-install/exim3-transport.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node20.html" />
+<link rel="prev" href="node18.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node20.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.3 Transport for Exim 3</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.2 main configuration settings"
+ href="node18.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.4 director for Exim"
+ href="node20.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node18.html">6.2.2 Main configuration settings</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node20.html">6.2.4 Director for Exim</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001623000000000000000"></a><a name="exim3-transport"></a>
+<br>
+6.2.3 Transport for Exim 3
+</h3>
+
+<p>
+Add this to the transports section of your Exim config file,
+i.e. somewhere between the first and second ``end'' line:
+
+<p>
+<div class="verbatim"><pre>
+ 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.2 main configuration settings"
+ href="node18.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.4 director for Exim"
+ href="node20.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node18.html">6.2.2 Main configuration settings</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node20.html">6.2.4 Director for Exim</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/front.html b/doc/mailman-install/front.html
new file mode 100644
index 00000000..6a068b19
--- /dev/null
+++ b/doc/mailman-install/front.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="about.html" />
+<link rel="prev" href="mailman-install.html" />
+<link rel="parent" href="mailman-install.html" />
+<link rel="next" href="node2.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>Front Matter</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="1 installation Requirements"
+ href="node2.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="mailman-install.html">GNU Mailman - Installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mailman-install.html">GNU Mailman - Installation</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node2.html">1 Installation Requirements</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001000000000000000000"></a><a name="front"></a>
+<br>
+Front Matter
+</h1>
+
+<p>
+
+<h3>Abstract:</h3>
+<div class="ABSTRACT">
+
+This document describes how to install GNU Mailman on a POSIX-based system
+such as <span class="Unix">Unix</span>, MacOSX, or GNU/Linux. It will cover basic installation
+instructions, as well as guidelines for integrating Mailman with your web and
+mail servers.
+
+<p>
+The GNU Mailman website is at <a class="url" href="http://www.list.org">http://www.list.org</a></div>
+<p>
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node2.html">1 Installation Requirements</a>
+<li><a href="node3.html">2 Set up your system</a>
+<ul>
+<li><a href="node4.html">2.1 Add the group and user</a>
+<li><a href="create-install-dir.html">2.2 Create the installation directory</a>
+</ul>
+<li><a href="node6.html">3 Build and install Mailman</a>
+<ul>
+<li><a href="node7.html">3.1 Run <b class="program">configure</b></a>
+<li><a href="node8.html">3.2 Make and install</a>
+</ul>
+<li><a href="node9.html">4 Check your installation</a>
+<li><a href="node10.html">5 Set up your web server</a>
+<li><a href="mail-server.html">6 Set up your mail server</a>
+<ul>
+<li><a href="node12.html">6.1 Using the Postfix mail server</a>
+<ul>
+<li><a href="node13.html">6.1.1 Integrating Postfix and Mailman</a>
+<li><a href="postfix-virtual.html">6.1.2 Virtual domains</a>
+<li><a href="node15.html">6.1.3 An alternative approach</a>
+</ul>
+<li><a href="node16.html">6.2 Using the Exim mail server</a>
+<ul>
+<li><a href="node17.html">6.2.1 Exim configuration</a>
+<li><a href="node18.html">6.2.2 Main configuration settings</a>
+<li><a href="exim3-transport.html">6.2.3 Transport for Exim 3</a>
+<li><a href="node20.html">6.2.4 Director for Exim 3</a>
+<li><a href="node21.html">6.2.5 Router for Exim 4</a>
+<li><a href="node22.html">6.2.6 Transports for Exim 4</a>
+<li><a href="node23.html">6.2.7 Additional notes</a>
+<li><a href="node24.html">6.2.8 Problems</a>
+<li><a href="node25.html">6.2.9 Receiver Verification</a>
+<li><a href="node26.html">6.2.10 SMTP Callback</a>
+<li><a href="node27.html">6.2.11 Doing VERP with Exim and Mailman</a>
+<li><a href="node28.html">6.2.12 Virtual Domains</a>
+<li><a href="node29.html">6.2.13 List Verification</a>
+<li><a href="node30.html">6.2.14 Document History</a>
+</ul>
+<li><a href="node31.html">6.3 Using the Sendmail mail server</a>
+<ul>
+<li><a href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+<li><a href="node33.html">6.3.2 Integrating Sendmail and Mailman</a>
+<li><a href="node34.html">6.3.3 Performance notes</a>
+</ul>
+<li><a href="qmail-issues.html">6.4 Using the Qmail mail server</a>
+<ul>
+<li><a href="node36.html">6.4.1 Information on VERP</a>
+<li><a href="node37.html">6.4.2 Virtual mail server</a>
+<li><a href="node38.html">6.4.3 More information</a>
+</ul>
+</ul>
+<li><a href="customizing.html">7 Review your site defaults</a>
+<li><a href="node40.html">8 Create a site-wide mailing list</a>
+<li><a href="node41.html">9 Set up cron</a>
+<li><a href="node42.html">10 Start the Mailman qrunner</a>
+<li><a href="node43.html">11 Check the hostname settings</a>
+<li><a href="node44.html">12 Create the site password</a>
+<li><a href="node45.html">13 Create your first mailing list</a>
+<li><a href="troubleshooting.html">14 Troubleshooting</a>
+<li><a href="node47.html">15 Platform and operating system notes</a>
+<ul>
+<li><a href="node48.html">15.1 GNU/Linux issues</a>
+<li><a href="bsd-issues.html">15.2 BSD issues</a>
+<li><a href="node50.html">15.3 MacOSX issues</a>
+</ul></ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="GNU mailman - Installation"
+ href="mailman-install.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="1 installation Requirements"
+ href="node2.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="mailman-install.html">GNU Mailman - Installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mailman-install.html">GNU Mailman - Installation</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node2.html">1 Installation Requirements</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/index.dat b/doc/mailman-install/index.dat
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/doc/mailman-install/index.dat
diff --git a/doc/mailman-install/index.html b/doc/mailman-install/index.html
new file mode 100644
index 00000000..6fd98aca
--- /dev/null
+++ b/doc/mailman-install/index.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="front.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>GNU Mailman - Installation Manual</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Front Matter"
+ href="front.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="front.html">Front Matter</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<p>
+
+<div class="titlepage">
+<div class='center'>
+<h1>GNU Mailman - Installation Manual</h1>
+<p><b><font size="+2">Barry Warsaw</font></b></p>
+<p><span class="email">barry (at) list dot org</span></p>
+<p><strong>Release 2.1</strong><br />
+<strong>December 5, 2007</strong></p>
+<p></p>
+</div>
+</div>
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"></a>
+
+<ul class="ChildLinks">
+<li><a href="front.html">Front Matter</a>
+<ul>
+<li><a href="node2.html">1 Installation Requirements</a>
+<li><a href="node3.html">2 Set up your system</a>
+<ul>
+<li><a href="node4.html">2.1 Add the group and user</a>
+<li><a href="create-install-dir.html">2.2 Create the installation directory</a>
+</ul>
+<li><a href="node6.html">3 Build and install Mailman</a>
+<ul>
+<li><a href="node7.html">3.1 Run <b class="program">configure</b></a>
+<li><a href="node8.html">3.2 Make and install</a>
+</ul>
+<li><a href="node9.html">4 Check your installation</a>
+<li><a href="node10.html">5 Set up your web server</a>
+<li><a href="mail-server.html">6 Set up your mail server</a>
+<ul>
+<li><a href="node12.html">6.1 Using the Postfix mail server</a>
+<li><a href="node16.html">6.2 Using the Exim mail server</a>
+<li><a href="node31.html">6.3 Using the Sendmail mail server</a>
+<li><a href="qmail-issues.html">6.4 Using the Qmail mail server</a>
+</ul>
+<li><a href="customizing.html">7 Review your site defaults</a>
+<li><a href="node40.html">8 Create a site-wide mailing list</a>
+<li><a href="node41.html">9 Set up cron</a>
+<li><a href="node42.html">10 Start the Mailman qrunner</a>
+<li><a href="node43.html">11 Check the hostname settings</a>
+<li><a href="node44.html">12 Create the site password</a>
+<li><a href="node45.html">13 Create your first mailing list</a>
+<li><a href="troubleshooting.html">14 Troubleshooting</a>
+<li><a href="node47.html">15 Platform and operating system notes</a>
+<ul>
+<li><a href="node48.html">15.1 GNU/Linux issues</a>
+<li><a href="bsd-issues.html">15.2 BSD issues</a>
+<li><a href="node50.html">15.3 MacOSX issues</a>
+</ul>
+</ul>
+<li><a href="about.html">About this document ...</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Front Matter"
+ href="front.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="front.html">Front Matter</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/index.png b/doc/mailman-install/index.png
new file mode 100644
index 00000000..cd918afe
--- /dev/null
+++ b/doc/mailman-install/index.png
Binary files differ
diff --git a/doc/mailman-install/internals.pl b/doc/mailman-install/internals.pl
new file mode 100644
index 00000000..04b8d800
--- /dev/null
+++ b/doc/mailman-install/internals.pl
@@ -0,0 +1,50 @@
+# LaTeX2HTML 2002-2-1 (1.71)
+# Associate internals original text with physical files.
+
+
+$key = q/exim3-transport/;
+$ref_files{$key} = "$dir".q|node19.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/front/;
+$ref_files{$key} = "$dir".q|node1.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/create-install-dir/;
+$ref_files{$key} = "$dir".q|node5.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/mail-server/;
+$ref_files{$key} = "$dir".q|node11.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/qmail-issues/;
+$ref_files{$key} = "$dir".q|node35.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/troubleshooting/;
+$ref_files{$key} = "$dir".q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/customizing/;
+$ref_files{$key} = "$dir".q|node39.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/building/;
+$ref_files{$key} = "$dir".q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/about/;
+$ref_files{$key} = "$dir".q|node51.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/postfix-virtual/;
+$ref_files{$key} = "$dir".q|node14.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/bsd-issues/;
+$ref_files{$key} = "$dir".q|node49.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/doc/mailman-install/intlabels.pl b/doc/mailman-install/intlabels.pl
new file mode 100644
index 00000000..44814752
--- /dev/null
+++ b/doc/mailman-install/intlabels.pl
@@ -0,0 +1,3 @@
+%internal_labels = ();
+1; # hack in case there are no entries
+
diff --git a/doc/mailman-install/labels.pl b/doc/mailman-install/labels.pl
new file mode 100644
index 00000000..93c78d96
--- /dev/null
+++ b/doc/mailman-install/labels.pl
@@ -0,0 +1,93 @@
+# LaTeX2HTML 2002-2-1 (1.71)
+# Associate labels original text with physical files.
+
+
+$key = q/exim3-transport/;
+$external_labels{$key} = "$URL/" . q|node19.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/front/;
+$external_labels{$key} = "$URL/" . q|node1.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/create-install-dir/;
+$external_labels{$key} = "$URL/" . q|node5.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/mail-server/;
+$external_labels{$key} = "$URL/" . q|node11.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/qmail-issues/;
+$external_labels{$key} = "$URL/" . q|node35.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/troubleshooting/;
+$external_labels{$key} = "$URL/" . q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/customizing/;
+$external_labels{$key} = "$URL/" . q|node39.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/building/;
+$external_labels{$key} = "$URL/" . q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/about/;
+$external_labels{$key} = "$URL/" . q|node51.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/postfix-virtual/;
+$external_labels{$key} = "$URL/" . q|node14.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/bsd-issues/;
+$external_labels{$key} = "$URL/" . q|node49.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
+
+# LaTeX2HTML 2002-2-1 (1.71)
+# labels from external_latex_labels array.
+
+
+$key = q/exim3-transport/;
+$external_latex_labels{$key} = q|6.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/create-install-dir/;
+$external_latex_labels{$key} = q|2.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/mail-server/;
+$external_latex_labels{$key} = q|6|;
+$noresave{$key} = "$nosave";
+
+$key = q/qmail-issues/;
+$external_latex_labels{$key} = q|6.4|;
+$noresave{$key} = "$nosave";
+
+$key = q/troubleshooting/;
+$external_latex_labels{$key} = q|14|;
+$noresave{$key} = "$nosave";
+
+$key = q/customizing/;
+$external_latex_labels{$key} = q|7|;
+$noresave{$key} = "$nosave";
+
+$key = q/building/;
+$external_latex_labels{$key} = q|14|;
+$noresave{$key} = "$nosave";
+
+$key = q/postfix-virtual/;
+$external_latex_labels{$key} = q|6.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/bsd-issues/;
+$external_latex_labels{$key} = q|15.2|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/doc/mailman-install/mail-server.html b/doc/mailman-install/mail-server.html
new file mode 100644
index 00000000..0621792b
--- /dev/null
+++ b/doc/mailman-install/mail-server.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="customizing.html" />
+<link rel="prev" href="node10.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node12.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6 Set up your mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="5 set up your"
+ href="node10.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1 using the Postfix"
+ href="node12.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node10.html">5 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node12.html">6.1 Using the Postfix</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001600000000000000000"></a><a name="mail-server"></a>
+<br>
+6 Set up your mail server
+</h1>
+
+<p>
+This section describes some of the things you need to do to connect Mailman's
+email interface to your mail server. The instructions here are different for
+each mail server; if your mail server is not described in the following
+subsections, try to generalize from the existing documentation, and consider
+contributing documentation updates to the Mailman developers.
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node12.html">6.1 Using the Postfix mail server</a>
+<ul>
+<li><a href="node13.html">6.1.1 Integrating Postfix and Mailman</a>
+<li><a href="postfix-virtual.html">6.1.2 Virtual domains</a>
+<li><a href="node15.html">6.1.3 An alternative approach</a>
+</ul>
+<li><a href="node16.html">6.2 Using the Exim mail server</a>
+<ul>
+<li><a href="node17.html">6.2.1 Exim configuration</a>
+<li><a href="node18.html">6.2.2 Main configuration settings</a>
+<li><a href="exim3-transport.html">6.2.3 Transport for Exim 3</a>
+<li><a href="node20.html">6.2.4 Director for Exim 3</a>
+<li><a href="node21.html">6.2.5 Router for Exim 4</a>
+<li><a href="node22.html">6.2.6 Transports for Exim 4</a>
+<li><a href="node23.html">6.2.7 Additional notes</a>
+<li><a href="node24.html">6.2.8 Problems</a>
+<li><a href="node25.html">6.2.9 Receiver Verification</a>
+<li><a href="node26.html">6.2.10 SMTP Callback</a>
+<li><a href="node27.html">6.2.11 Doing VERP with Exim and Mailman</a>
+<li><a href="node28.html">6.2.12 Virtual Domains</a>
+<li><a href="node29.html">6.2.13 List Verification</a>
+<li><a href="node30.html">6.2.14 Document History</a>
+</ul>
+<li><a href="node31.html">6.3 Using the Sendmail mail server</a>
+<ul>
+<li><a href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+<li><a href="node33.html">6.3.2 Integrating Sendmail and Mailman</a>
+<li><a href="node34.html">6.3.3 Performance notes</a>
+</ul>
+<li><a href="qmail-issues.html">6.4 Using the Qmail mail server</a>
+<ul>
+<li><a href="node36.html">6.4.1 Information on VERP</a>
+<li><a href="node37.html">6.4.2 Virtual mail server</a>
+<li><a href="node38.html">6.4.3 More information</a>
+</ul></ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="5 set up your"
+ href="node10.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1 using the Postfix"
+ href="node12.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node10.html">5 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node12.html">6.1 Using the Postfix</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/mailman-install.css b/doc/mailman-install/mailman-install.css
new file mode 100644
index 00000000..06a613c2
--- /dev/null
+++ b/doc/mailman-install/mailman-install.css
@@ -0,0 +1,243 @@
+/*
+ * The first part of this is the standard CSS generated by LaTeX2HTML,
+ * with the "empty" declarations removed.
+ */
+
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.math { font-family: "Century Schoolbook", serif; }
+.math i { font-family: "Century Schoolbook", serif;
+ font-weight: bold }
+.boldmath { font-family: "Century Schoolbook", serif;
+ font-weight: bold }
+
+/*
+ * Implement both fixed-size and relative sizes.
+ *
+ * I think these can be safely removed, as it doesn't appear that
+ * LaTeX2HTML ever generates these, even though these are carried
+ * over from the LaTeX2HTML stylesheet.
+ */
+small.xtiny { font-size : xx-small; }
+small.tiny { font-size : x-small; }
+small.scriptsize { font-size : smaller; }
+small.footnotesize { font-size : small; }
+big.xlarge { font-size : large; }
+big.xxlarge { font-size : x-large; }
+big.huge { font-size : larger; }
+big.xhuge { font-size : xx-large; }
+
+/*
+ * Document-specific styles come next;
+ * these are added for the Python documentation.
+ *
+ * Note that the size specifications for the H* elements are because
+ * Netscape on Solaris otherwise doesn't get it right; they all end up
+ * the normal text size.
+ */
+
+body { color: #000000;
+ background-color: #ffffff; }
+
+a:link:active { color: #ff0000; }
+a:link:hover { background-color: #bbeeff; }
+a:visited:hover { background-color: #bbeeff; }
+a:visited { color: #551a8b; }
+a:link { color: #0000bb; }
+
+h1, h2, h3, h4, h5, h6 { font-family: avantgarde, sans-serif;
+ font-weight: bold; }
+h1 { font-size: 180%; }
+h2 { font-size: 150%; }
+h3, h4 { font-size: 120%; }
+
+/* These are section titles used in navigation links, so make sure we
+ * match the section header font here, even it not the weight.
+ */
+.sectref { font-family: avantgarde, sans-serif; }
+/* And the label before the titles in navigation: */
+.navlabel { font-size: 85%; }
+
+
+/* LaTeX2HTML insists on inserting <br> elements into headers which
+ * are marked with \label. This little bit of CSS magic ensures that
+ * these elements don't cause spurious whitespace to be added.
+ */
+h1>br, h2>br, h3>br,
+h4>br, h5>br, h6>br { display: none; }
+
+code, tt { font-family: "lucida typewriter", lucidatypewriter,
+ monospace; }
+var { font-family: times, serif;
+ font-style: italic;
+ font-weight: normal; }
+
+.Unix { font-variant: small-caps; }
+
+.typelabel { font-family: lucida, sans-serif; }
+
+.navigation td { background-color: #99ccff;
+ font-weight: bold;
+ font-family: avantgarde, sans-serif;
+ font-size: 110%; }
+
+div.warning { background-color: #fffaf0;
+ border: thin solid black;
+ padding: 1em;
+ margin-left: 2em;
+ margin-right: 2em; }
+
+div.warning .label { font-family: sans-serif;
+ font-size: 110%;
+ margin-right: 0.5em; }
+
+div.note { background-color: #fffaf0;
+ border: thin solid black;
+ padding: 1em;
+ margin-left: 2em;
+ margin-right: 2em; }
+
+div.note .label { margin-right: 0.5em;
+ font-family: sans-serif; }
+
+address { font-size: 80%; }
+.release-info { font-style: italic;
+ font-size: 80%; }
+
+.titlegraphic { vertical-align: top; }
+
+.verbatim pre { color: #00008b;
+ font-family: "lucida typewriter", lucidatypewriter,
+ monospace;
+ font-size: 90%; }
+.verbatim { margin-left: 2em; }
+.verbatim .footer { padding: 0.05in;
+ font-size: 85%;
+ background-color: #99ccff;
+ margin-right: 0.5in; }
+
+.grammar { background-color: #99ccff;
+ margin-right: 0.5in;
+ padding: 0.05in; }
+.grammar-footer { padding: 0.05in;
+ font-size: 85%; }
+.grammartoken { font-family: "lucida typewriter", lucidatypewriter,
+ monospace; }
+
+.productions { background-color: #bbeeff; }
+.productions a:active { color: #ff0000; }
+.productions a:link:hover { background-color: #99ccff; }
+.productions a:visited:hover { background-color: #99ccff; }
+.productions a:visited { color: #551a8b; }
+.productions a:link { color: #0000bb; }
+.productions table { vertical-align: baseline;
+ empty-cells: show; }
+.productions > table td,
+.productions > table th { padding: 2px; }
+.productions > table td:first-child,
+.productions > table td:last-child {
+ font-family: "lucida typewriter",
+ lucidatypewriter,
+ monospace;
+ }
+/* same as the second selector above, but expressed differently for Opera */
+.productions > table td:first-child + td + td {
+ font-family: "lucida typewriter",
+ lucidatypewriter,
+ monospace;
+ vertical-align: baseline;
+ }
+.productions > table td:first-child + td {
+ padding-left: 1em;
+ padding-right: 1em;
+ }
+.productions > table tr { vertical-align: baseline; }
+
+.email { font-family: avantgarde, sans-serif; }
+.mailheader { font-family: avantgarde, sans-serif; }
+.mimetype { font-family: avantgarde, sans-serif; }
+.newsgroup { font-family: avantgarde, sans-serif; }
+.url { font-family: avantgarde, sans-serif; }
+.file { font-family: avantgarde, sans-serif; }
+.guilabel { font-family: avantgarde, sans-serif; }
+
+.realtable { border-collapse: collapse;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 0px 2px 0px;
+ empty-cells: show;
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 0.4em;
+ padding-right: 0.4em;
+ }
+.realtable tbody { vertical-align: baseline; }
+.realtable tfoot { display: table-footer-group; }
+.realtable thead { background-color: #99ccff;
+ border-width: 0px 0px 2px 1px;
+ display: table-header-group;
+ font-family: avantgarde, sans-serif;
+ font-weight: bold;
+ vertical-align: baseline;
+ }
+.realtable thead :first-child {
+ border-width: 0px 0px 2px 0px;
+ }
+.realtable thead th { border-width: 0px 0px 2px 1px }
+.realtable td,
+.realtable th { border-color: black;
+ border-style: solid;
+ border-width: 0px 0px 1px 1px;
+ padding-left: 0.4em;
+ padding-right: 0.4em;
+ }
+.realtable td:first-child,
+.realtable th:first-child {
+ border-left-width: 0px;
+ vertical-align: baseline;
+ }
+.center { text-align: center; }
+.left { text-align: left; }
+.right { text-align: right; }
+
+.refcount-info { font-style: italic; }
+.refcount-info .value { font-weight: bold;
+ color: #006600; }
+
+/*
+ * Some decoration for the "See also:" blocks, in part inspired by some of
+ * the styling on Lars Marius Garshol's XSA pages.
+ * (The blue in the navigation bars is #99CCFF.)
+ */
+.seealso { background-color: #fffaf0;
+ border: thin solid black;
+ padding: 0pt 1em 4pt 1em; }
+
+.seealso > .heading { font-size: 110%;
+ font-weight: bold; }
+
+/*
+ * Class 'availability' is used for module availability statements at
+ * the top of modules.
+ */
+.availability .platform { font-weight: bold; }
+
+
+/*
+ * Additional styles for the distutils package.
+ */
+.du-command { font-family: monospace; }
+.du-option { font-family: avantgarde, sans-serif; }
+.du-filevar { font-family: avantgarde, sans-serif;
+ font-style: italic; }
+.du-xxx:before { content: "** ";
+ font-weight: bold; }
+.du-xxx:after { content: " **";
+ font-weight: bold; }
+
+
+/*
+ * Some specialization for printed output.
+ */
+@media print {
+ .online-navigation { display: none; }
+ }
diff --git a/doc/mailman-install/mailman-install.html b/doc/mailman-install/mailman-install.html
new file mode 100644
index 00000000..6fd98aca
--- /dev/null
+++ b/doc/mailman-install/mailman-install.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="front.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>GNU Mailman - Installation Manual</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Front Matter"
+ href="front.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="front.html">Front Matter</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<p>
+
+<div class="titlepage">
+<div class='center'>
+<h1>GNU Mailman - Installation Manual</h1>
+<p><b><font size="+2">Barry Warsaw</font></b></p>
+<p><span class="email">barry (at) list dot org</span></p>
+<p><strong>Release 2.1</strong><br />
+<strong>December 5, 2007</strong></p>
+<p></p>
+</div>
+</div>
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"></a>
+
+<ul class="ChildLinks">
+<li><a href="front.html">Front Matter</a>
+<ul>
+<li><a href="node2.html">1 Installation Requirements</a>
+<li><a href="node3.html">2 Set up your system</a>
+<ul>
+<li><a href="node4.html">2.1 Add the group and user</a>
+<li><a href="create-install-dir.html">2.2 Create the installation directory</a>
+</ul>
+<li><a href="node6.html">3 Build and install Mailman</a>
+<ul>
+<li><a href="node7.html">3.1 Run <b class="program">configure</b></a>
+<li><a href="node8.html">3.2 Make and install</a>
+</ul>
+<li><a href="node9.html">4 Check your installation</a>
+<li><a href="node10.html">5 Set up your web server</a>
+<li><a href="mail-server.html">6 Set up your mail server</a>
+<ul>
+<li><a href="node12.html">6.1 Using the Postfix mail server</a>
+<li><a href="node16.html">6.2 Using the Exim mail server</a>
+<li><a href="node31.html">6.3 Using the Sendmail mail server</a>
+<li><a href="qmail-issues.html">6.4 Using the Qmail mail server</a>
+</ul>
+<li><a href="customizing.html">7 Review your site defaults</a>
+<li><a href="node40.html">8 Create a site-wide mailing list</a>
+<li><a href="node41.html">9 Set up cron</a>
+<li><a href="node42.html">10 Start the Mailman qrunner</a>
+<li><a href="node43.html">11 Check the hostname settings</a>
+<li><a href="node44.html">12 Create the site password</a>
+<li><a href="node45.html">13 Create your first mailing list</a>
+<li><a href="troubleshooting.html">14 Troubleshooting</a>
+<li><a href="node47.html">15 Platform and operating system notes</a>
+<ul>
+<li><a href="node48.html">15.1 GNU/Linux issues</a>
+<li><a href="bsd-issues.html">15.2 BSD issues</a>
+<li><a href="node50.html">15.3 MacOSX issues</a>
+</ul>
+</ul>
+<li><a href="about.html">About this document ...</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Front Matter"
+ href="front.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="front.html">Front Matter</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/modules.png b/doc/mailman-install/modules.png
new file mode 100644
index 00000000..8fa8b755
--- /dev/null
+++ b/doc/mailman-install/modules.png
Binary files differ
diff --git a/doc/mailman-install/next.png b/doc/mailman-install/next.png
new file mode 100644
index 00000000..cfe5e51c
--- /dev/null
+++ b/doc/mailman-install/next.png
Binary files differ
diff --git a/doc/mailman-install/node10.html b/doc/mailman-install/node10.html
new file mode 100644
index 00000000..ad9dd805
--- /dev/null
+++ b/doc/mailman-install/node10.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="mail-server.html" />
+<link rel="prev" href="node9.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="mail-server.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>5 Set up your web server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="4 check your installation"
+ href="node9.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6 set up your"
+ href="mail-server.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node9.html">4 Check your installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="mail-server.html">6 Set up your</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001500000000000000000">
+5 Set up your web server</a>
+</h1>
+
+<p>
+Congratulations! You've installed the Mailman software. To get everything
+running you need to hook Mailman up to both your web server and your mail
+system.
+
+<p>
+If you plan on running your mail and web servers on different machines,
+sharing Mailman installations via NFS, be sure that the clocks on those two
+machines are synchronized closely. You might take a look at the file
+<span class="file">Mailman/LockFile.py</span>; the constant <var>CLOCK_SLOP</var> helps the locking
+mechanism compensate for clock skew in this type of environment.
+
+<p>
+This section describes some of the things you need to do to connect Mailman's
+web interface to your web server. The instructions here are somewhat geared
+toward the Apache web server, so you should consult your web server
+documentation for details.
+
+<p>
+You must configure your web server to enable CGI script permission in the
+<span class="file"><var>$prefix</var>/cgi-bin</span> to run CGI scripts. The line you should add
+might look something like the following, with the real absolute directory
+substituted for <var>$prefix</var>, of course:
+
+<p>
+<div class="verbatim"><pre>
+ Exec /mailman/* $prefix/cgi-bin/*
+</pre></div>
+
+<p>
+or:
+
+<p>
+<div class="verbatim"><pre>
+ ScriptAlias /mailman/ $prefix/cgi-bin/
+</pre></div>
+
+<p>
+<div class="warning"><b class="label">Warning:</b>
+
+You want to be very sure that the user id under which your CGI scripts run is
+<strong>not</strong> in the <code>mailman</code> group you created above, otherwise private
+archives will be accessible to anyone.
+</div>
+
+<p>
+Copy the Mailman, Python, and GNU logos to a location accessible to your web
+server. E.g. with Apache, you've usually got an <span class="file">icons</span> directory that
+you can drop the images into. For example:
+
+<p>
+<div class="verbatim"><pre>
+ % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
+</pre></div>
+
+<p>
+You then want to add a line to your <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>
+file which sets the base URL for the logos. For example:
+
+<p>
+<div class="verbatim"><pre>
+ IMAGE_LOGOS = '/images/'
+</pre></div>
+
+<p>
+The default value for <var>IMAGE_LOGOS</var> is <span class="file">/icons/</span>. Read the comment
+in <span class="file">Defaults.py.in</span> for details.
+
+<p>
+Configure your web server to point to the Pipermail public mailing list
+archives. For example, in Apache:
+
+<p>
+<div class="verbatim"><pre>
+ Alias /pipermail/ $varprefix/archives/public/
+</pre></div>
+
+<p>
+where <var>$varprefix</var> is usually <var>$prefix</var> unless you've used the
+<b class="programopt">--with-var-prefix</b> option to <b class="program">configure</b>. Also be
+sure to configure your web server to follow symbolic links in this directory,
+otherwise public Pipermail archives won't be accessible. For Apache users,
+consult the <var>FollowSymLinks</var> option.
+
+<p>
+If you're going to be supporting internationalized public archives, you will
+probably want to turn off any default charset directive for the Pipermail
+directory, otherwise your multilingual archive pages won't show up correctly.
+Here's an example for Apache, based on the standard installation directories:
+
+<p>
+<div class="verbatim"><pre>
+ &lt;Directory "/usr/local/mailman/archives/public/"&gt;
+ AddDefaultCharset Off
+ &lt;/Directory&gt;
+</pre></div>
+
+<p>
+Now restart your web server.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="4 check your installation"
+ href="node9.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6 set up your"
+ href="mail-server.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node9.html">4 Check your installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="mail-server.html">6 Set up your</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node12.html b/doc/mailman-install/node12.html
new file mode 100644
index 00000000..14461325
--- /dev/null
+++ b/doc/mailman-install/node12.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node16.html" />
+<link rel="prev" href="mail-server.html" />
+<link rel="parent" href="mail-server.html" />
+<link rel="next" href="node13.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.1 Using the Postfix mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6 set up your"
+ href="mail-server.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.1 integrating Postfix and"
+ href="node13.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node13.html">6.1.1 Integrating Postfix and</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001610000000000000000">
+6.1 Using the Postfix mail server</a>
+</h2>
+
+<p>
+Mailman should work pretty much out of the box with a standard Postfix
+installation. It has been tested with various Postfix versions up to and
+including Postfix 2.1.5.
+
+<p>
+In order to support Mailman's optional VERP delivery, you will want to disable
+<code>luser_relay</code> (the default) and you will want to set
+<code>recipient_delimiter</code> for extended address semantics. You should comment
+out any <code>luser_relay</code> value in your <span class="file">main.cf</span> and just go with the
+defaults. Also, add this to your <span class="file">main.cf</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ recipient_delimiter = +
+</pre></div>
+
+<p>
+Using "<tt class="samp">+</tt>" as the delimiter works well with the default values for
+<var>VERP_FORMAT</var> and <var>VERP_REGEXP</var> in <span class="file">Defaults.py</span>.
+
+<p>
+When attempting to deliver a message to a non-existent local address, Postfix
+may return a 450 error code. Since this is a transient error code, Mailman
+will continue to attempt to deliver the message for
+<var>DELIVERY_RETRY_PERIOD</var> - 5 days by default. You might want to set
+Postfix up so that it returns permanent error codes for non-existent local
+users by adding the following to your <span class="file">main.cf</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ unknown_local_recipient_reject_code = 550
+</pre></div>
+
+<p>
+Finally, if you are using Postfix-style virtual domains, read the section on
+virtual domain support below.
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node13.html">6.1.1 Integrating Postfix and Mailman</a>
+<li><a href="postfix-virtual.html">6.1.2 Virtual domains</a>
+<li><a href="node15.html">6.1.3 An alternative approach</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6 set up your"
+ href="mail-server.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.1 integrating Postfix and"
+ href="node13.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node13.html">6.1.1 Integrating Postfix and</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node13.html b/doc/mailman-install/node13.html
new file mode 100644
index 00000000..301d090b
--- /dev/null
+++ b/doc/mailman-install/node13.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="postfix-virtual.html" />
+<link rel="prev" href="node12.html" />
+<link rel="parent" href="node12.html" />
+<link rel="next" href="postfix-virtual.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.1.1 Integrating Postfix and Mailman</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1 using the Postfix"
+ href="node12.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.2 virtual domains"
+ href="postfix-virtual.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="postfix-virtual.html">6.1.2 Virtual domains</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001611000000000000000">
+6.1.1 Integrating Postfix and Mailman</a>
+</h3>
+
+<p>
+You can integrate Postfix and Mailman such that when new lists are created, or
+lists are removed, Postfix's alias database will be automatically updated.
+The following are the steps you need to take to make this work.
+
+<p>
+In the description below, we assume that you've installed Mailman in the
+default location, i.e. <span class="file">/usr/local/mailman</span>. If that's not the case,
+adjust the instructions according to your use of <b class="program">configure</b>'s
+<b class="programopt">--prefix</b> and <b class="programopt">--with-var-prefix</b> options.
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+If you are using virtual domains and you want Mailman to honor your virtual
+domains, read the <a href="postfix-virtual.html#postfix-virtual">6.1</a> section below first!
+</div>
+
+<p>
+
+<ul>
+<li>Add this to the bottom of the <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>
+ file:
+
+<p>
+<div class="verbatim"><pre>
+ MTA = 'Postfix'
+</pre></div>
+
+<p>
+The MTA variable names a module in the <span class="file">Mailman/MTA</span> directory
+ which contains the mail server-specific functions to be executed when a
+ list is created or removed.
+
+<p>
+</li>
+<li>Look at the <span class="file">Defaults.py</span> file for the variables
+ <var>POSTFIX_ALIAS_CMD</var> and <var>POSTFIX_MAP_CMD</var> command. Make sure
+ these point to your <b class="program">postalias</b> and <b class="program">postmap</b> programs
+ respectively. Remember that if you need to make changes, do it in
+ <span class="file">mm_cfg.py</span>.
+
+<p>
+</li>
+<li>Run the <b class="program">bin/genaliases</b> script to initialize your
+ <span class="file">aliases</span> file.
+
+<p>
+<div class="verbatim"><pre>
+ % cd /usr/local/mailman
+ % bin/genaliases
+ </pre></div>
+
+<p>
+Make sure that the owner of the <span class="file">data/aliases</span> and
+ <span class="file">data/aliases.db</span> file is <code>mailman</code>, that the group owner
+ for those files is <code>mailman</code>, or whatever user and group you used
+ in the configure command, and that both files are group writable:
+
+<p>
+<div class="verbatim"><pre>
+ % su
+ % chown mailman:mailman data/aliases*
+ % chmod g+w data/aliases*
+ </pre></div>
+
+<p>
+</li>
+<li>Hack your Postfix's <span class="file">main.cf</span> file to include the following path in
+ your <var>alias_maps</var> variable:
+
+<p>
+<div class="verbatim"><pre>
+ /usr/local/mailman/data/aliases
+</pre></div>
+
+<p>
+Note that there should be no trailing <code>.db</code>. Do not include this
+ in your <var>alias_database</var> variable. This is because you do not want
+ Postfix's <b class="program">newaliases</b> command to modify Mailman's
+ <span class="file">aliases.db</span> file, but you do want Postfix to consult
+ <span class="file">aliases.db</span> when looking for local addresses.
+
+<p>
+You probably want to use a <code>hash:</code> style database for this entry.
+ Here's an example:
+
+<p>
+<div class="verbatim"><pre>
+ alias_maps = hash:/etc/postfix/aliases,
+ hash:/usr/local/mailman/data/aliases
+</pre></div>
+
+<p>
+</li>
+<li>When you configure Mailman, use the
+ <b class="programopt">--with-mail-gid=mailman</b> switch; this will be the default
+ if you configured Mailman after adding the <code>mailman</code> owner.
+ Because the owner of the <span class="file">aliases.db</span> file is <code>mailman</code>,
+ Postfix will execute Mailman's wrapper program as uid and gid
+ <code>mailman</code>.
+
+<p>
+</li>
+</ul>
+
+<p>
+That's it! One caveat: when you add or remove a list, the <span class="file">aliases.db</span>
+file will updated, but it will not automatically run <b class="program">postfix reload</b>.
+This is because you need to be root to run this and suid-root scripts are not
+secure. The only effect of this is that it will take about a minute for
+Postfix to notice the change to the <span class="file">aliases.db</span> file and update its
+tables.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1 using the Postfix"
+ href="node12.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.2 virtual domains"
+ href="postfix-virtual.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="postfix-virtual.html">6.1.2 Virtual domains</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node15.html b/doc/mailman-install/node15.html
new file mode 100644
index 00000000..e5f597f4
--- /dev/null
+++ b/doc/mailman-install/node15.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="postfix-virtual.html" />
+<link rel="parent" href="node12.html" />
+<link rel="next" href="node16.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.1.3 An alternative approach</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.2 virtual domains"
+ href="postfix-virtual.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2 using the Exim"
+ href="node16.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="postfix-virtual.html">6.1.2 Virtual domains</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node16.html">6.2 Using the Exim</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001613000000000000000">
+6.1.3 An alternative approach</a>
+</h3>
+
+<p>
+Fil <span class="email">fil@rezo.net</span> has an alternative approach based on virtual maps and
+regular expressions, as described at:
+
+<p>
+
+<ul>
+<li>(French) <a class="url" href="http://listes.rezo.net/comment.php">http://listes.rezo.net/comment.php</a>
+</li>
+<li>(English) <a class="url" href="http://listes.rezo.net/how.php">http://listes.rezo.net/how.php</a>
+</li>
+</ul>
+
+<p>
+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</code>
+instead of <code>mylist@dom.ain</code>.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.2 virtual domains"
+ href="postfix-virtual.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2 using the Exim"
+ href="node16.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="postfix-virtual.html">6.1.2 Virtual domains</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node16.html">6.2 Using the Exim</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node16.html b/doc/mailman-install/node16.html
new file mode 100644
index 00000000..2349f89d
--- /dev/null
+++ b/doc/mailman-install/node16.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node31.html" />
+<link rel="prev" href="node12.html" />
+<link rel="parent" href="mail-server.html" />
+<link rel="next" href="node17.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2 Using the Exim mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.3 an alternative approach"
+ href="node15.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.1 exim configuration"
+ href="node17.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node15.html">6.1.3 An alternative approach</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node17.html">6.2.1 Exim configuration</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001620000000000000000">
+6.2 Using the Exim mail server</a>
+</h2>
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+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:
+<a class="url" href="http://www.exim.org/howto/mailman.html">http://www.exim.org/howto/mailman.html</a>.
+</div>
+
+<p>
+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.
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node17.html">6.2.1 Exim configuration</a>
+<li><a href="node18.html">6.2.2 Main configuration settings</a>
+<li><a href="exim3-transport.html">6.2.3 Transport for Exim 3</a>
+<li><a href="node20.html">6.2.4 Director for Exim 3</a>
+<li><a href="node21.html">6.2.5 Router for Exim 4</a>
+<li><a href="node22.html">6.2.6 Transports for Exim 4</a>
+<li><a href="node23.html">6.2.7 Additional notes</a>
+<li><a href="node24.html">6.2.8 Problems</a>
+<li><a href="node25.html">6.2.9 Receiver Verification</a>
+<li><a href="node26.html">6.2.10 SMTP Callback</a>
+<li><a href="node27.html">6.2.11 Doing VERP with Exim and Mailman</a>
+<li><a href="node28.html">6.2.12 Virtual Domains</a>
+<li><a href="node29.html">6.2.13 List Verification</a>
+<li><a href="node30.html">6.2.14 Document History</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.3 an alternative approach"
+ href="node15.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.1 exim configuration"
+ href="node17.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node15.html">6.1.3 An alternative approach</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node17.html">6.2.1 Exim configuration</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node17.html b/doc/mailman-install/node17.html
new file mode 100644
index 00000000..a133470b
--- /dev/null
+++ b/doc/mailman-install/node17.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node18.html" />
+<link rel="prev" href="node16.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node18.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.1 Exim configuration</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2 using the Exim"
+ href="node16.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.2 main configuration settings"
+ href="node18.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node18.html">6.2.2 Main configuration settings</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001621000000000000000">
+6.2.1 Exim configuration</a>
+</h3>
+
+<p>
+The Exim configuration is built so that a list created within Mailman
+automatically appears to Exim without the need for defining any additional
+aliases.
+
+<p>
+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.)
+
+<p>
+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:
+
+<p>
+
+<ul>
+<li>add the list domain, ``my.list.domain'' to <var>local_domains</var>
+
+<p>
+</li>
+<li>add a ``domains=my.list.domain'' option to the director (router) for the
+ list
+
+<p>
+</li>
+<li>(optional) exclude that domain from your other directors (routers)
+</li>
+</ul>
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+The instructions in this document should work with either Exim 3 or Exim 4.
+In Exim 3, you must have a <var>local_domains</var> configuration setting; in Exim
+4, you most likely have a <var>local_domains</var> 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''.
+</div>
+
+<p>
+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.
+
+<p>
+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</code> in place of <code>mailman</code> - e.g., <var>MM21_HOME</var>,
+<var>mm21_transport</var>, etc.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2 using the Exim"
+ href="node16.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.2 main configuration settings"
+ href="node18.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node18.html">6.2.2 Main configuration settings</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node18.html b/doc/mailman-install/node18.html
new file mode 100644
index 00000000..191dea51
--- /dev/null
+++ b/doc/mailman-install/node18.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="exim3-transport.html" />
+<link rel="prev" href="node17.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="exim3-transport.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.2 Main configuration settings</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.1 exim configuration"
+ href="node17.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.3 transport for Exim"
+ href="exim3-transport.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node17.html">6.2.1 Exim configuration</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="exim3-transport.html">6.2.3 Transport for Exim</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001622000000000000000">
+6.2.2 Main configuration settings</a>
+</h3>
+
+<p>
+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.
+
+<p>
+<div class="verbatim"><pre>
+ # 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.1 exim configuration"
+ href="node17.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.3 transport for Exim"
+ href="exim3-transport.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node17.html">6.2.1 Exim configuration</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="exim3-transport.html">6.2.3 Transport for Exim</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node2.html b/doc/mailman-install/node2.html
new file mode 100644
index 00000000..64be98be
--- /dev/null
+++ b/doc/mailman-install/node2.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node3.html" />
+<link rel="prev" href="front.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node3.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>1 Installation Requirements</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="Front Matter"
+ href="front.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2 set up your"
+ href="node3.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="front.html">Front Matter</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node3.html">2 Set up your</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001100000000000000000">
+1 Installation Requirements</a>
+</h1>
+
+<p>
+<em>Please note that the information on this page may be out of date.</em>
+Check for the
+<a class="ulink" href="http://wiki.list.org/x/bAM"
+ >latest installation information</a> on the
+<a class="ulink" href="http://wiki.list.org"
+ >Mailman wiki</a>.
+
+<p>
+GNU Mailman works on most POSIX-based systems such as <span class="Unix">Unix</span>, MacOSX, or
+GNU/Linux. It does not currently work on Windows. You must have a mail
+server that you can send messages to, and a web server that supports the
+CGI/1.1 API. <a class="ulink" href="http://httpd.apache.org"
+ >Apache</a> makes a fine choice for
+web server, and mail servers such as
+<a class="ulink" href="http://www.postfix.org"
+ >Postfix</a>,
+<a class="ulink" href="http://www.exim.org"
+ >Exim</a>,
+<a class="ulink" href="http://www.sendmail.org"
+ >Sendmail</a>, and
+<a class="ulink" href="http://cr.yp.to/qmail.html"
+ >qmail</a> should
+work just fine.
+
+<p>
+To install Mailman from source, you will need an ANSI C compiler to build
+Mailman's security wrappers. The
+<a class="ulink" href="http://gcc.gnu.org"
+ >GNU C compiler gcc</a> works well.
+
+<p>
+You must have the <a class="ulink" href="http://www.python.org"
+ >Python</a> interpreter installed
+somewhere on your system. As of this writing, Python 2.4.4 is recommended,
+but see the wiki page above for the latest information.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="Front Matter"
+ href="front.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2 set up your"
+ href="node3.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="front.html">Front Matter</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node3.html">2 Set up your</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node20.html b/doc/mailman-install/node20.html
new file mode 100644
index 00000000..b024c716
--- /dev/null
+++ b/doc/mailman-install/node20.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node21.html" />
+<link rel="prev" href="exim3-transport.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node21.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.4 Director for Exim 3</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.3 transport for Exim"
+ href="exim3-transport.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.5 router for Exim"
+ href="node21.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="exim3-transport.html">6.2.3 Transport for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node21.html">6.2.5 Router for Exim</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001624000000000000000">
+6.2.4 Director for Exim 3</a>
+</h3>
+
+<p>
+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.
+
+<p>
+<div class="verbatim"><pre>
+ # 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.3 transport for Exim"
+ href="exim3-transport.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.5 router for Exim"
+ href="node21.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="exim3-transport.html">6.2.3 Transport for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node21.html">6.2.5 Router for Exim</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node21.html b/doc/mailman-install/node21.html
new file mode 100644
index 00000000..63bd2949
--- /dev/null
+++ b/doc/mailman-install/node21.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node22.html" />
+<link rel="prev" href="node20.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node22.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.5 Router for Exim 4</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.4 director for Exim"
+ href="node20.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.6 transports for Exim"
+ href="node22.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node20.html">6.2.4 Director for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node22.html">6.2.6 Transports for Exim</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001625000000000000000">
+6.2.5 Router for Exim 4</a>
+</h3>
+
+<p>
+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.
+
+<p>
+<div class="verbatim"><pre>
+ 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.4 director for Exim"
+ href="node20.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.6 transports for Exim"
+ href="node22.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node20.html">6.2.4 Director for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node22.html">6.2.6 Transports for Exim</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node22.html b/doc/mailman-install/node22.html
new file mode 100644
index 00000000..2c4549b5
--- /dev/null
+++ b/doc/mailman-install/node22.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node23.html" />
+<link rel="prev" href="node21.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node23.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.6 Transports for Exim 4</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.5 router for Exim"
+ href="node21.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.7 additional notes"
+ href="node23.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node21.html">6.2.5 Router for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node23.html">6.2.7 Additional notes</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001626000000000000000">
+6.2.6 Transports for Exim 4</a>
+</h3>
+
+<p>
+The transport for Exim 4 is the same as for Exim 3 (see <a href="exim3-transport.html#exim3-transport">6.2</a>;
+just copy the transport given above to somewhere under the ``begin
+transports'' line of your Exim config file.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.5 router for Exim"
+ href="node21.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.7 additional notes"
+ href="node23.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node21.html">6.2.5 Router for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node23.html">6.2.7 Additional notes</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node23.html b/doc/mailman-install/node23.html
new file mode 100644
index 00000000..582b11cf
--- /dev/null
+++ b/doc/mailman-install/node23.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node24.html" />
+<link rel="prev" href="node22.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node24.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.7 Additional notes</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.6 transports for Exim"
+ href="node22.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.8 Problems"
+ href="node24.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node22.html">6.2.6 Transports for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node24.html">6.2.8 Problems</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001627000000000000000">
+6.2.7 Additional notes</a>
+</h3>
+
+<p>
+Exim should be configured to allow reasonable volume - e.g. don't set
+<var>max_recipients</var> 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.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.6 transports for Exim"
+ href="node22.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.8 Problems"
+ href="node24.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node22.html">6.2.6 Transports for Exim</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node24.html">6.2.8 Problems</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node24.html b/doc/mailman-install/node24.html
new file mode 100644
index 00000000..fa81b346
--- /dev/null
+++ b/doc/mailman-install/node24.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node25.html" />
+<link rel="prev" href="node23.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node25.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.8 Problems</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.7 additional notes"
+ href="node23.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.9 receiver Verification"
+ href="node25.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node23.html">6.2.7 Additional notes</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node25.html">6.2.9 Receiver Verification</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001628000000000000000">
+6.2.8 Problems</a>
+</h3>
+
+<p>
+
+<ul>
+<li>Mailman will send as many <code>MAIL FROM</code>/<code>RCPT TO</code> 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</var> 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</var> (in
+ <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>) to a smaller value than Exim's
+ <var>smtp_accept_queue_per_connection</var>.
+
+<p>
+</li>
+<li>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.
+
+<p>
+</li>
+<li>List existence is determined by the existence of a <span class="file">config.pck</span>
+ file for a list. If you delete lists by foul means, be aware of this.
+
+<p>
+</li>
+<li>If you are getting Exim or Mailman complaining about user ids when you
+ send mail to a list, check that the <var>MAILMAN_USER</var> and
+ <var>MAILMAN_GROUP</var> match those of Mailman itself (i.e. what were used
+ in the <b class="program">configure</b> script). Also make sure you do not have
+ aliases in the main alias file for the list.
+</li>
+</ul>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.7 additional notes"
+ href="node23.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.9 receiver Verification"
+ href="node25.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node23.html">6.2.7 Additional notes</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node25.html">6.2.9 Receiver Verification</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node25.html b/doc/mailman-install/node25.html
new file mode 100644
index 00000000..ec01107d
--- /dev/null
+++ b/doc/mailman-install/node25.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node26.html" />
+<link rel="prev" href="node24.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node26.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.9 Receiver Verification</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.8 Problems"
+ href="node24.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.10 smtp Callback"
+ href="node26.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node24.html">6.2.8 Problems</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node26.html">6.2.10 SMTP Callback</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001629000000000000000">
+6.2.9 Receiver Verification</a>
+</h3>
+
+<p>
+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</var>.
+
+<p>
+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.
+
+<p>
+Under Exim 3, put this in your main configuration section:
+
+<p>
+<div class="verbatim"><pre>
+ receiver_verify_hosts = !127.0.0.1
+</pre></div>
+
+<p>
+Under Exim 4, this is probably already taken care of for you by the default
+recipient verification ACL statement (in the <code>RCPT TO</code> ACL):
+
+<p>
+<div class="verbatim"><pre>
+ accept domains = +local_domains
+ endpass
+ message = unknown user
+ verify = recipient
+</pre></div>
+
+<p>
+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.)
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.8 Problems"
+ href="node24.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.10 smtp Callback"
+ href="node26.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node24.html">6.2.8 Problems</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node26.html">6.2.10 SMTP Callback</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node26.html b/doc/mailman-install/node26.html
new file mode 100644
index 00000000..5f960845
--- /dev/null
+++ b/doc/mailman-install/node26.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node27.html" />
+<link rel="prev" href="node25.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node27.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.10 SMTP Callback</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.9 receiver Verification"
+ href="node25.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.11 doing VERP with"
+ href="node27.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node25.html">6.2.9 Receiver Verification</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node27.html">6.2.11 Doing VERP with</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION0016210000000000000000">
+6.2.10 SMTP Callback</a>
+</h3>
+
+<p>
+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).
+
+<p>
+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.
+
+<p>
+With Exim 4, you can accomplish this using something like the following in
+your <code>RCPT TO</code> ACL:
+
+<p>
+<div class="verbatim"><pre>
+ # 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
+</pre></div>
+
+<p>
+If you also do SMTP callbacks on header addresses, you'll want something like
+this in your <code>DATA</code> ACL:
+
+<p>
+<div class="verbatim"><pre>
+ deny !condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
+ !verify = header_sender/callout=90s
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.9 receiver Verification"
+ href="node25.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.11 doing VERP with"
+ href="node27.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node25.html">6.2.9 Receiver Verification</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node27.html">6.2.11 Doing VERP with</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node27.html b/doc/mailman-install/node27.html
new file mode 100644
index 00000000..fa2cb7fa
--- /dev/null
+++ b/doc/mailman-install/node27.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node28.html" />
+<link rel="prev" href="node26.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node28.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.11 Doing VERP with Exim and Mailman</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.10 smtp Callback"
+ href="node26.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.12 virtual Domains"
+ href="node28.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node26.html">6.2.10 SMTP Callback</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node28.html">6.2.12 Virtual Domains</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION0016211000000000000000">
+6.2.11 Doing VERP with Exim and Mailman</a>
+</h3>
+
+<p>
+VERP will send one email, with a separate envelope sender (return path), for
+each of your subscribers - read the information in
+<span class="file"><var>$prefix</var>/Mailman/Defaults.py</span> 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 <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>:
+
+<p>
+<div class="verbatim"><pre>
+ VERP_PASSWORD_REMINDERS = Yes
+ VERP_PERSONALIZED_DELIVERIES = Yes
+ VERP_DELIVERY_INTERVAL = Yes
+ VERP_CONFIRMATIONS = Yes
+</pre></div>
+
+<p>
+(The director (router) above is smart enough to deal with VERP bounces.)
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.10 smtp Callback"
+ href="node26.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.12 virtual Domains"
+ href="node28.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node26.html">6.2.10 SMTP Callback</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node28.html">6.2.12 Virtual Domains</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node28.html b/doc/mailman-install/node28.html
new file mode 100644
index 00000000..6e408a2c
--- /dev/null
+++ b/doc/mailman-install/node28.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node29.html" />
+<link rel="prev" href="node27.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node29.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.12 Virtual Domains</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.11 doing VERP with"
+ href="node27.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.13 list Verification"
+ href="node29.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node27.html">6.2.11 Doing VERP with</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node29.html">6.2.13 List Verification</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION0016212000000000000000">
+6.2.12 Virtual Domains</a>
+</h3>
+
+<p>
+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.
+
+<p>
+In this case, the <var>MAILMAN_HOME</var> and <var>MAILMAN_WRAP</var> macros are useless
+- you can remove them. Change your director (router) to something like this:
+
+<p>
+<div class="verbatim"><pre>
+ require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck
+</pre></div>
+
+<p>
+and change your transport like this:
+
+<p>
+<div class="verbatim"><pre>
+ 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.11 doing VERP with"
+ href="node27.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.13 list Verification"
+ href="node29.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node27.html">6.2.11 Doing VERP with</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node29.html">6.2.13 List Verification</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node29.html b/doc/mailman-install/node29.html
new file mode 100644
index 00000000..d90d55aa
--- /dev/null
+++ b/doc/mailman-install/node29.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node30.html" />
+<link rel="prev" href="node28.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node30.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.13 List Verification</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.12 virtual Domains"
+ href="node28.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.14 document History"
+ href="node30.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node28.html">6.2.12 Virtual Domains</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node30.html">6.2.14 Document History</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION0016213000000000000000">
+6.2.13 List Verification</a>
+</h3>
+
+<p>
+This is how a set of address tests for the Exim lists look on a working
+system. The list in question is <span class="email">quixote-users@mems-exchange.org</span>, and
+these commands were run on the <code>mems-exchange.org</code> mail server ("% "
+indicates the Unix shell prompt):
+
+<p>
+<div class="verbatim"><pre>
+ % 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
+</pre></div>
+
+<p>
+If your <b class="program">exim -bt</b> 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!
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.12 virtual Domains"
+ href="node28.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.2.14 document History"
+ href="node30.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node28.html">6.2.12 Virtual Domains</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node30.html">6.2.14 Document History</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node3.html b/doc/mailman-install/node3.html
new file mode 100644
index 00000000..80a6e488
--- /dev/null
+++ b/doc/mailman-install/node3.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node6.html" />
+<link rel="prev" href="node2.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node4.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>2 Set up your system</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="1 installation Requirements"
+ href="node2.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2.1 add the group"
+ href="node4.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node2.html">1 Installation Requirements</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node4.html">2.1 Add the group</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001200000000000000000">
+2 Set up your system</a>
+</h1>
+
+<p>
+Before installing Mailman, you need to prepare your system by adding certain
+users and groups. You will need to have root privileges to perform the steps
+in this section.
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node4.html">2.1 Add the group and user</a>
+<li><a href="create-install-dir.html">2.2 Create the installation directory</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="1 installation Requirements"
+ href="node2.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2.1 add the group"
+ href="node4.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node2.html">1 Installation Requirements</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node4.html">2.1 Add the group</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node30.html b/doc/mailman-install/node30.html
new file mode 100644
index 00000000..d9f17f63
--- /dev/null
+++ b/doc/mailman-install/node30.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node29.html" />
+<link rel="parent" href="node16.html" />
+<link rel="next" href="node31.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.2.14 Document History</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.13 list Verification"
+ href="node29.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3 using the Sendmail"
+ href="node31.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node29.html">6.2.13 List Verification</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node31.html">6.3 Using the Sendmail</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION0016214000000000000000">
+6.2.14 Document History</a>
+</h3>
+
+<p>
+Originally written by Nigel Metheringham <span class="email">postmaster@exim.org</span>. Updated
+by Marc Merlin <span class="email">marc_soft@merlins.org</span> for Mailman 2.1, Exim 4.
+Overhauled/reformatted/clarified/simplified by Greg Ward
+<span class="email">gward@python.net</span>.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.13 list Verification"
+ href="node29.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.2 using the Exim"
+ href="node16.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3 using the Sendmail"
+ href="node31.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node29.html">6.2.13 List Verification</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node16.html">6.2 Using the Exim</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node31.html">6.3 Using the Sendmail</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node31.html b/doc/mailman-install/node31.html
new file mode 100644
index 00000000..91efe99c
--- /dev/null
+++ b/doc/mailman-install/node31.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="qmail-issues.html" />
+<link rel="prev" href="node16.html" />
+<link rel="parent" href="mail-server.html" />
+<link rel="next" href="node32.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.3 Using the Sendmail mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.14 document History"
+ href="node30.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.1 sendmail ``smrsh'' compatibility"
+ href="node32.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node30.html">6.2.14 Document History</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001630000000000000000">
+6.3 Using the Sendmail mail server</a>
+</h2>
+
+<p>
+<div class="warning"><b class="label">Warning:</b>
+
+You may be tempted to set the <var>DELIVERY_MODULE</var> configuration variable in
+<span class="file">mm_cfg.py</span> to <code>'Sendmail'</code> when using the Sendmail mail server.
+<strong>Don't</strong>. The <span class="file">Sendmail.py</span> module is misnamed - it's really a
+command line based message handoff scheme as opposed to the SMTP scheme used
+in <span class="file">SMTPDirect.py</span> (the default). <span class="file">Sendmail.py</span> has known security
+holes and is provided as a proof-of-concept only<a name="tex2html4"
+ href="#foot402"><sup>4</sup></a>. If you are having problems
+using <span class="file">SMTPDirect.py</span> fix those instead of using <span class="file">Sendmail.py</span>, or
+you may open your system up to security exploits.
+</div>
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot402">... only</a><A
+ HREF="node31.html#tex2html4"><sup>4</sup></a></dt>
+<dd>In fact, in later
+versions of Mailman, this module is explicitly sabotaged. You have to know
+what you're doing in order to re-enable it.
+
+</dd>
+</dl>
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+<li><a href="node33.html">6.3.2 Integrating Sendmail and Mailman</a>
+<li><a href="node34.html">6.3.3 Performance notes</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.2.14 document History"
+ href="node30.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.1 sendmail ``smrsh'' compatibility"
+ href="node32.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node30.html">6.2.14 Document History</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node32.html b/doc/mailman-install/node32.html
new file mode 100644
index 00000000..87298699
--- /dev/null
+++ b/doc/mailman-install/node32.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node33.html" />
+<link rel="prev" href="node31.html" />
+<link rel="parent" href="node31.html" />
+<link rel="next" href="node33.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.3.1 Sendmail ``smrsh'' compatibility</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3 using the Sendmail"
+ href="node31.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.2 integrating Sendmail and"
+ href="node33.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node33.html">6.3.2 Integrating Sendmail and</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001631000000000000000">
+6.3.1 Sendmail ``smrsh'' compatibility</a>
+</h3>
+
+<p>
+Many newer versions of Sendmail come with a restricted execution utility
+called ``smrsh'', which limits the executables that Sendmail will allow to be
+used as mail programs. You need to explicitly allow Mailman's wrapper program
+to be used with smrsh or Mailman will not work. If mail is not getting
+delivered to Mailman's wrapper program and you're getting an ``operating
+system error'' in your mail syslog, this could be your problem.
+
+<p>
+One good way of enabling this is:
+
+<p>
+
+<ul>
+<li>Find out where your Sendmail executes its smrsh wrapper
+
+<p>
+<div class="verbatim"><pre>
+ % grep smrsh /etc/mail/sendmail.cf
+ </pre></div>
+
+<p>
+</li>
+<li>Figure out where smrsh expects symlinks for allowable mail
+ programs. At the very beginning of the following output you will
+ see a full path to some directory, e.g. <span class="file">/var/adm/sm.bin</span> or
+ similar:
+
+<p>
+<div class="verbatim"><pre>
+ % strings $path_to_smrsh | less
+ </pre></div>
+
+<p>
+</li>
+<li>cd into <span class="file">/var/adm/sm.bin</span>, or where ever it happens to reside
+ on your system - alternatives include <span class="file">/etc/smrsh</span>,
+ <span class="file">/var/smrsh</span> and <span class="file">/usr/local/smrsh</span>.
+
+<p>
+<div class="verbatim"><pre>
+ % cd /var/adm/sm.bin
+ </pre></div>
+
+<p>
+</li>
+<li>Create a symbolic link to Mailman's wrapper program:
+
+<p>
+<div class="verbatim"><pre>
+ % ln -s /usr/local/mailman/mail/mailman mailman
+ </pre></div>
+</li>
+</ul>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3 using the Sendmail"
+ href="node31.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.2 integrating Sendmail and"
+ href="node33.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node33.html">6.3.2 Integrating Sendmail and</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node33.html b/doc/mailman-install/node33.html
new file mode 100644
index 00000000..bfc3de5a
--- /dev/null
+++ b/doc/mailman-install/node33.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node34.html" />
+<link rel="prev" href="node32.html" />
+<link rel="parent" href="node31.html" />
+<link rel="next" href="node34.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.3.2 Integrating Sendmail and Mailman</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.1 sendmail ``smrsh'' compatibility"
+ href="node32.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.3 performance notes"
+ href="node34.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node34.html">6.3.3 Performance notes</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001632000000000000000">
+6.3.2 Integrating Sendmail and Mailman</a>
+</h3>
+
+<p>
+David Champion has contributed a recipe for more closely integrating Sendmail
+and Mailman, such that Sendmail will automatically recognize and deliver to
+new mailing lists as they are created, without having to manually edit alias
+tables.
+
+<p>
+In the <span class="file">contrib</span> directory of Mailman's source distribution, you will
+find four files:
+
+<p>
+
+<ul>
+<li><span class="file">mm-handler.readme</span> - an explanation of how to set everything up
+</li>
+<li><span class="file">mm-handler</span> - the mail delivery agent (MDA)
+</li>
+<li><span class="file">mailman.mc</span> - a toy configuration file sample
+</li>
+<li><span class="file">virtusertable</span> - a sample for RFC 2142 address exceptions
+</li>
+</ul>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.1 sendmail ``smrsh'' compatibility"
+ href="node32.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.3.3 performance notes"
+ href="node34.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node32.html">6.3.1 Sendmail ``smrsh'' compatibility</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node34.html">6.3.3 Performance notes</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node34.html b/doc/mailman-install/node34.html
new file mode 100644
index 00000000..84b3b2cd
--- /dev/null
+++ b/doc/mailman-install/node34.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node33.html" />
+<link rel="parent" href="node31.html" />
+<link rel="next" href="qmail-issues.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.3.3 Performance notes</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.2 integrating Sendmail and"
+ href="node33.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node33.html">6.3.2 Integrating Sendmail and</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="qmail-issues.html">6.4 Using the Qmail</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001633000000000000000">
+6.3.3 Performance notes</a>
+</h3>
+
+<p>
+One of the surest performance killers for Sendmail users is when Sendmail is
+configured to synchronously verify the recipient's host via DNS. If it does
+this for messages posted to it from Mailman, you will get horrible
+performance. Since Mailman usually connects via <code>localhost</code>
+(i.e. 127.0.0.1) to the SMTP port of Sendmail, you should be sure to configure
+Sendmail to <strong>not</strong> do DNS verification synchronously for localhost
+connections.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.2 integrating Sendmail and"
+ href="node33.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.3 using the Sendmail"
+ href="node31.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node33.html">6.3.2 Integrating Sendmail and</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node31.html">6.3 Using the Sendmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="qmail-issues.html">6.4 Using the Qmail</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node36.html b/doc/mailman-install/node36.html
new file mode 100644
index 00000000..36cdafc6
--- /dev/null
+++ b/doc/mailman-install/node36.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node37.html" />
+<link rel="prev" href="qmail-issues.html" />
+<link rel="parent" href="qmail-issues.html" />
+<link rel="next" href="node37.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.4.1 Information on VERP</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.2 virtual mail server"
+ href="node37.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node37.html">6.4.2 Virtual mail server</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001641000000000000000">
+6.4.1 Information on VERP</a>
+</h3>
+
+<p>
+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
+<span class="file">mm_cfg.py</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ VERP_FORMAT = '%(bounces)s-+%(mailbox)s=%(host)s'
+ VERP_REGEXP = r'^(?P&lt;bounces&gt;.*?)-\+(?P&lt;mailbox&gt;[^=]+)=(?P&lt;host&gt;[^@]+)@.*$'
+</pre></div>
+
+<p>
+The second option is a patch on SourceForge located at:
+
+<p>
+<a class="url" href="http://sourceforge.net/tracker/?func=detail&amp;atid=300103&amp;aid=645513&amp;group_id=103">http://sourceforge.net/tracker/?func=detail&amp;atid=300103&amp;aid=645513&amp;group_id=103</a>
+<p>
+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.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.2 virtual mail server"
+ href="node37.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node37.html">6.4.2 Virtual mail server</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node37.html b/doc/mailman-install/node37.html
new file mode 100644
index 00000000..ce29c2db
--- /dev/null
+++ b/doc/mailman-install/node37.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node38.html" />
+<link rel="prev" href="node36.html" />
+<link rel="parent" href="qmail-issues.html" />
+<link rel="next" href="node38.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.4.2 Virtual mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.1 information on VERP"
+ href="node36.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.3 more information"
+ href="node38.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node36.html">6.4.1 Information on VERP</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node38.html">6.4.3 More information</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001642000000000000000">
+6.4.2 Virtual mail server</a>
+</h3>
+
+<p>
+As mentioned in the <a href="qmail-issues.html#qmail-issues">6.4</a> section for a virtual mail server, a
+patch under testing is located at:
+
+<p>
+<a class="url" href="http://sf.net/tracker/index.php?func=detail&amp;aid=621257&amp;group_id=103&amp;atid=300103">http://sf.net/tracker/index.php?func=detail&amp;aid=621257&amp;group_id=103&amp;atid=300103</a>
+<p>
+Again, this patch is for people familiar with their qmail installation.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.1 information on VERP"
+ href="node36.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.3 more information"
+ href="node38.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node36.html">6.4.1 Information on VERP</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node38.html">6.4.3 More information</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node38.html b/doc/mailman-install/node38.html
new file mode 100644
index 00000000..6df2f96c
--- /dev/null
+++ b/doc/mailman-install/node38.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node37.html" />
+<link rel="parent" href="qmail-issues.html" />
+<link rel="next" href="customizing.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.4.3 More information</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.2 virtual mail server"
+ href="node37.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="7 review your site"
+ href="customizing.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node37.html">6.4.2 Virtual mail server</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="customizing.html">7 Review your site</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001643000000000000000">
+6.4.3 More information</a>
+</h3>
+
+<p>
+You might be interested in some information on modifying footers that Norbert
+Bollow has written about Mailman and qmail, available here:
+
+<p>
+<a class="url" href="http://mailman.cis.to/qmail-verh/">http://mailman.cis.to/qmail-verh/</a>
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.4.2 virtual mail server"
+ href="node37.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.4 using the Qmail"
+ href="qmail-issues.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="7 review your site"
+ href="customizing.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node37.html">6.4.2 Virtual mail server</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="qmail-issues.html">6.4 Using the Qmail</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="customizing.html">7 Review your site</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node4.html b/doc/mailman-install/node4.html
new file mode 100644
index 00000000..a764dca8
--- /dev/null
+++ b/doc/mailman-install/node4.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="create-install-dir.html" />
+<link rel="prev" href="node3.html" />
+<link rel="parent" href="node3.html" />
+<link rel="next" href="create-install-dir.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>2.1 Add the group and user</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2 set up your"
+ href="node3.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="2 set up your"
+ href="node3.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2.2 create the installation"
+ href="create-install-dir.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node3.html">2 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node3.html">2 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="create-install-dir.html">2.2 Create the installation</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001210000000000000000">
+2.1 Add the group and user</a>
+</h2>
+
+<p>
+Mailman requires a unique user and group name which will own its files, and
+under which its processes will run. Mailman's basic security is based on
+group ownership permissions, so it's important to get this step
+right<a name="tex2html1"
+ href="#foot38"><sup>1</sup></a>. Typically, you will add a new user and a new
+group, both called <code>mailman</code>. The <code>mailman</code> user must be a member
+of the <code>mailman</code> group. Mailman will be installed under the
+<code>mailman</code> user and group, with the set-group-id (setgid) bit enabled.
+
+<p>
+If these names are already in use, you can choose different user and group
+names, as long as you remember these when you run <b class="program">configure</b>. If you
+choose a different unique user name, you will have to specify this with
+<b class="program">configure</b>'s <b class="programopt">--with-username</b> option, and if you choose
+a different group name, you will have to specify this with
+<b class="program">configure</b>'s <b class="programopt">--with-groupname</b> option.
+
+<p>
+On Linux systems, you can use the following commands to create these
+accounts. Check your system's manual pages for details:
+
+<p>
+<div class="verbatim"><pre>
+ % groupadd mailman
+ % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman
+</pre></div>
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot38">...
+right</a><A
+ HREF="node4.html#tex2html1"><sup>1</sup></a></dt>
+<dd>You will be able to check and repair your permissions after
+installation is complete.
+
+</dd>
+</dl>
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2 set up your"
+ href="node3.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="2 set up your"
+ href="node3.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="2.2 create the installation"
+ href="create-install-dir.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node3.html">2 Set up your</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node3.html">2 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="create-install-dir.html">2.2 Create the installation</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node40.html b/doc/mailman-install/node40.html
new file mode 100644
index 00000000..de4883e2
--- /dev/null
+++ b/doc/mailman-install/node40.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node41.html" />
+<link rel="prev" href="customizing.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node41.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>8 Create a site-wide mailing list</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="7 review your site"
+ href="customizing.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="9 set up cron"
+ href="node41.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="customizing.html">7 Review your site</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node41.html">9 Set up cron</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001800000000000000000">
+8 Create a site-wide mailing list</a>
+</h1>
+
+<p>
+After you have completed the integration of Mailman and your mail server, you
+need to create a ``site-wide'' mailing list. This is the one that password
+reminders will appear to come from, and it is required for proper Mailman
+operation. Usually this should be a list called <code>mailman</code>, but if you
+need to change this, be sure to change the <var>MAILMAN_SITE_LIST</var> variable in
+<span class="file">mm_cfg.py</span>. You can create the site list with this command, following
+the prompts:
+
+<p>
+<div class="verbatim"><pre>
+ % bin/newlist mailman
+</pre></div>
+
+<p>
+Now configure your site list. There is a convenient template for a generic
+site list in the installation directory, under <span class="file">data/sitelist.cfg</span> which
+can help you with this. You should review the configuration options in the
+template, but note that any options not named in the <span class="file">sitelist.cfg</span> file
+won't be changed.
+
+<p>
+The template can be applied to your site list by
+running:
+
+<p>
+<div class="verbatim"><pre>
+ % bin/config_list -i data/sitelist.cfg mailman
+</pre></div>
+
+<p>
+After applying the <span class="file">sitelist.cfg</span> options, be sure you review the
+site list's configuration via the admin pages.
+
+<p>
+You should also subscribe yourself to the site list.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="7 review your site"
+ href="customizing.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="9 set up cron"
+ href="node41.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="customizing.html">7 Review your site</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node41.html">9 Set up cron</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node41.html b/doc/mailman-install/node41.html
new file mode 100644
index 00000000..7ffbb5e8
--- /dev/null
+++ b/doc/mailman-install/node41.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node42.html" />
+<link rel="prev" href="node40.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node42.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>9 Set up cron</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="8 create a site-wide"
+ href="node40.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="10 start the Mailman"
+ href="node42.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node40.html">8 Create a site-wide</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node42.html">10 Start the Mailman</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001900000000000000000">
+9 Set up cron</a>
+</h1>
+
+<p>
+Several Mailman features occur on a regular schedule, so you must set up
+<b class="program">cron</b> to run the right programs at the right time<a name="tex2html6"
+ href="#foot551"><sup>6</sup></a>.
+
+<p>
+If your version of crontab supports the <b class="programopt">-u</b> option, you must be
+root to do this next step. Add <span class="file"><var>$prefix</var>/cron/crontab.in</span> as a
+crontab entry by executing these commands:
+
+<p>
+<div class="verbatim"><pre>
+ % cd $prefix/cron
+ % crontab -u mailman crontab.in
+</pre></div>
+
+<p>
+If you used the <b class="programopt">--with-username</b> option, use that user name
+instead of <code>mailman</code> for the <b class="programopt">-u</b> argument value. If your
+crontab does not support the <b class="programopt">-u</b> option, try these commands:
+
+<p>
+<div class="verbatim"><pre>
+ % cd $prefix/cron
+ % su - mailman
+ % crontab crontab.in
+</pre></div>
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot551">... time</a><A
+ HREF="node41.html#tex2html6"><sup>6</sup></a></dt>
+<dd>Note that
+if you're upgrading from a previous version of Mailman, you'll want to install
+the new crontab, but be careful if you're running multiple Mailman
+installations on your site! Changing the crontab could mess with other
+parallel Mailman installations.
+
+</dd>
+</dl>
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="8 create a site-wide"
+ href="node40.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="10 start the Mailman"
+ href="node42.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node40.html">8 Create a site-wide</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node42.html">10 Start the Mailman</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node42.html b/doc/mailman-install/node42.html
new file mode 100644
index 00000000..db06e877
--- /dev/null
+++ b/doc/mailman-install/node42.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node43.html" />
+<link rel="prev" href="node41.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node43.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>10 Start the Mailman qrunner</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="9 set up cron"
+ href="node41.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="11 check the hostname"
+ href="node43.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node41.html">9 Set up cron</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node43.html">11 Check the hostname</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011000000000000000000">
+10 Start the Mailman qrunner</a>
+</h1>
+
+<p>
+Mailman depends on a process called the ``qrunner'' to delivery all
+email messages it sees. You must start the qrunner by executing the following
+command from the <var>$prefix</var> directory:
+
+<p>
+<div class="verbatim"><pre>
+ % bin/mailmanctl start
+</pre></div>
+
+<p>
+You probably want to start Mailman every time you reboot your system. Exactly
+how to do this depends on your operating system. If your OS supports the
+<b class="program">chkconfig</b> command (e.g. RedHat and Mandrake Linuxes) you can
+do the following (as root, from the Mailman install directory):
+
+<p>
+<div class="verbatim"><pre>
+ % cp scripts/mailman /etc/init.d/mailman
+ % chkconfig --add mailman
+</pre></div>
+
+<p>
+Note that <span class="file">/etc/init.d</span> may be <span class="file">/etc/rc.d/init.d</span> on some systems.
+
+<p>
+On Gentoo Linux, you can do the following:
+
+<p>
+<div class="verbatim"><pre>
+ % cp scripts/mailman /etc/init.d/mailman
+ % rc-update add mailman default
+</pre></div>
+
+<p>
+On Debian, you probably want to use:
+
+<p>
+<div class="verbatim"><pre>
+ % update-rc.d mailman defaults
+</pre></div>
+
+<p>
+For <span class="Unix">Unix</span>es that don't support <b class="program">chkconfig</b>, you might try the
+following set of commands:
+
+<p>
+<div class="verbatim"><pre>
+ % 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
+</pre></div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="9 set up cron"
+ href="node41.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="11 check the hostname"
+ href="node43.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node41.html">9 Set up cron</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node43.html">11 Check the hostname</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node43.html b/doc/mailman-install/node43.html
new file mode 100644
index 00000000..972475c9
--- /dev/null
+++ b/doc/mailman-install/node43.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node44.html" />
+<link rel="prev" href="node42.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node44.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>11 Check the hostname settings</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="10 start the Mailman"
+ href="node42.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="12 create the site"
+ href="node44.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node42.html">10 Start the Mailman</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node44.html">12 Create the site</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011100000000000000000">
+11 Check the hostname settings</a>
+</h1>
+
+<p>
+You should check the values for <var>DEFAULT_EMAIL_HOST</var> and
+<var>DEFAULT_URL_HOST</var> in <span class="file">Defaults.py</span>. Make any necessary changes in
+the <span class="file">mm_cfg.py</span> file, <strong>not</strong> in the <span class="file">Defaults.py</span> file. If you
+change either of these two values, you'll want to add the following afterwards
+in the <span class="file">mm_cfg.py</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
+</pre></div>
+
+<p>
+You will want to run the <b class="program">bin/fix_url.py</b> to change the domain of any
+existing lists.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="10 start the Mailman"
+ href="node42.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="12 create the site"
+ href="node44.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node42.html">10 Start the Mailman</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node44.html">12 Create the site</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node44.html b/doc/mailman-install/node44.html
new file mode 100644
index 00000000..2e7793fd
--- /dev/null
+++ b/doc/mailman-install/node44.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node45.html" />
+<link rel="prev" href="node43.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node45.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>12 Create the site password</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="11 check the hostname"
+ href="node43.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="13 create your first"
+ href="node45.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node43.html">11 Check the hostname</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node45.html">13 Create your first</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011200000000000000000">
+12 Create the site password</a>
+</h1>
+
+<p>
+There are two site-wide passwords that you can create from the command line,
+using the <b class="program">bin/mmsitepass</b> script. The first is the ``site password''
+which can be used anywhere a password is required in the system. The site
+password will get you into the administration page for any list, and it can be
+used to log in as any user. Think <code>root</code> for a Unix system, so pick this
+password wisely!
+
+<p>
+The second password is a site-wide ``list creator'' password. You can use
+this to delegate the ability to create new mailing lists without providing all
+the privileges of the site password. Of course, the owner of the site
+password can also create new mailing lists, but the list creator password is
+limited to just that special role.
+
+<p>
+To set the site password, use this command:
+
+<p>
+<div class="verbatim"><pre>
+ % $prefix/bin/mmsitepass &lt;your-site-password&gt;
+</pre></div>
+
+<p>
+To set the list creator password, use this command:
+
+<p>
+<div class="verbatim"><pre>
+ % $prefix/bin/mmsitepass -c &lt;list-creator-password&gt;
+</pre></div>
+
+<p>
+It is okay not to set a list creator password, but you probably do want a site
+password.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="11 check the hostname"
+ href="node43.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="13 create your first"
+ href="node45.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node43.html">11 Check the hostname</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node45.html">13 Create your first</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node45.html b/doc/mailman-install/node45.html
new file mode 100644
index 00000000..c8a8f8c5
--- /dev/null
+++ b/doc/mailman-install/node45.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="troubleshooting.html" />
+<link rel="prev" href="node44.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="troubleshooting.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>13 Create your first mailing list</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="12 create the site"
+ href="node44.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="14 Troubleshooting"
+ href="troubleshooting.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node44.html">12 Create the site</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="troubleshooting.html">14 Troubleshooting</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011300000000000000000">
+13 Create your first mailing list</a>
+</h1>
+
+<p>
+For more detailed information about using Mailman, including creating and
+configuring mailing lists, see the Mailman List Adminstration Manual. These
+instructions provide a quick guide to creating your first mailing list via the
+web interface:
+
+<p>
+
+<ul>
+<li>Start by visiting the url <code>http://my.dom.ain/mailman/create</code>.
+
+<p>
+</li>
+<li>Fill out the form as described in the on-screen instructions, and in the
+ ``List creator's password'' field, type the password you entered in
+ section <a href="customizing.html#customizing">7</a>. Type your own email address for the
+ ``Initial list owner address'', and select ``Yes'' to notify the list
+ administrator.
+
+<p>
+</li>
+<li>Click on the ``Create List'' button.
+
+<p>
+</li>
+<li>Check your email for a message from Mailman informing you that your new
+ mailing list was created.
+
+<p>
+</li>
+<li>Now visit the list's administration page, either by following the link
+ on the confirmation web page or clicking on the link from the email
+ Mailman just sent you. Typically the url will be something like
+ <code>http://my.dom.ain/mailman/admin/mylist</code>.
+
+<p>
+</li>
+<li>Type in the list's password and click on ``Let me in...''
+
+<p>
+</li>
+<li>Click on ``Membership Management'' and then on ``Mass Subscription''.
+
+<p>
+</li>
+<li>Enter your email address in the big text field, and click on ``Submit
+ Your Changes''.
+
+<p>
+</li>
+<li>Now go to your email and send a message to <code>mylist@my.dom.ain</code>.
+ Within a minute or two you should see your message reflected back to you
+ via Mailman.
+</li>
+</ul>
+
+<p>
+Congratulations! You've just set up and tested your first Mailman mailing
+list. If you had any problems along the way, please see the
+<a href="troubleshooting.html#troubleshooting">14</a> section.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="12 create the site"
+ href="node44.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="14 Troubleshooting"
+ href="troubleshooting.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node44.html">12 Create the site</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="troubleshooting.html">14 Troubleshooting</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node47.html b/doc/mailman-install/node47.html
new file mode 100644
index 00000000..f99bb93b
--- /dev/null
+++ b/doc/mailman-install/node47.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="troubleshooting.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node48.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>15 Platform and operating system notes</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="14 Troubleshooting"
+ href="troubleshooting.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.1 GNU/Linux issues"
+ href="node48.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="troubleshooting.html">14 Troubleshooting</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node48.html">15.1 GNU/Linux issues</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011500000000000000000">
+15 Platform and operating system notes</a>
+</h1>
+
+<p>
+Generally, Mailman runs on any POSIX-based system, such as Solaris, the
+various BSD variants, Linux systems, MacOSX, and other generic <span class="Unix">Unix</span>
+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.
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node48.html">15.1 GNU/Linux issues</a>
+<li><a href="bsd-issues.html">15.2 BSD issues</a>
+<li><a href="node50.html">15.3 MacOSX issues</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="14 Troubleshooting"
+ href="troubleshooting.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.1 GNU/Linux issues"
+ href="node48.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="troubleshooting.html">14 Troubleshooting</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node48.html">15.1 GNU/Linux issues</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node48.html b/doc/mailman-install/node48.html
new file mode 100644
index 00000000..1412727c
--- /dev/null
+++ b/doc/mailman-install/node48.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="bsd-issues.html" />
+<link rel="prev" href="node47.html" />
+<link rel="parent" href="node47.html" />
+<link rel="next" href="bsd-issues.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>15.1 GNU/Linux issues</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15 platform and operating"
+ href="node47.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.2 bsd issues"
+ href="bsd-issues.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="bsd-issues.html">15.2 BSD issues</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION0011510000000000000000">
+15.1 GNU/Linux issues</a>
+</h2>
+
+<p>
+Linux seems to be the most popular platform for running Mailman. Here are
+some hints on getting Mailman to run on Linux:
+
+<p>
+
+<ul>
+<li>If you are getting errors with hard link creations and/or you are using
+ a special secure kernel (securelinux/openwall/grsecurity), see the file
+ <span class="file">contrib/README.check_perms_grsecurity</span> in the Mailman source
+ distribution.
+
+<p>
+Note that if you are using Linux Mandrake in secure mode, you are
+ probably concerned by this.
+
+<p>
+</li>
+<li>Apparently Mandrake 9.0 changed the permissions on gcc, so if you build
+ as the <code>mailman</code> user, you need to be sure <code>mailman</code> is in the
+ <code>cctools</code> group.
+
+<p>
+</li>
+<li>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.
+
+<p>
+For example, using Python 2.2 on Debian, you will need to install the
+ <code>python2.2-dev</code> package. On Redhat, you probably need the
+ <code>python2-devel</code> package.
+
+<p>
+If you install Python from source, you should be fine.
+
+<p>
+One symptom of this problem, although for unknown reasons, is that you
+ might get an error such as this during your install:
+
+<p>
+<div class="verbatim"><pre>
+ Traceback (most recent call last):
+ File "bin/update", line 44, in ?
+ import paths
+ ImportError: No module named paths
+ make: *** [update] Error 1
+</pre></div>
+
+<p>
+If this happens, install the Python development package and try
+ <b class="program">configure</b> and <b class="program">make install</b> again. Or install the
+ latest version of Python from source, available from
+ <a class="url" href="http://www.python.org">http://www.python.org</a>.
+
+<p>
+This problem can manifest itself in other Linux distributions in
+ different ways, although usually it appears as <code>ImportErrors</code>.
+</li>
+</ul>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15 platform and operating"
+ href="node47.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15.2 bsd issues"
+ href="bsd-issues.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="bsd-issues.html">15.2 BSD issues</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node50.html b/doc/mailman-install/node50.html
new file mode 100644
index 00000000..e977fa3e
--- /dev/null
+++ b/doc/mailman-install/node50.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="bsd-issues.html" />
+<link rel="parent" href="node47.html" />
+<link rel="next" href="about.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>15.3 MacOSX issues</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.2 bsd issues"
+ href="bsd-issues.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="About this document ..."
+ href="about.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="bsd-issues.html">15.2 BSD issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="about.html">About this document ...</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION0011530000000000000000">
+15.3 MacOSX issues</a>
+</h2>
+
+<p>
+Many people run Mailman on MacOSX. Here are some pointers that have been
+collected on getting Mailman to run on MacOSX.
+
+<p>
+
+<ul>
+<li>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.
+
+<p>
+</li>
+<li>David B. O'Donnell has a web page describing his configuration of
+ Mailman 2.0.13 and Postfix on MacOSX Server.
+
+<p>
+<a class="url" href="http://www.afp548.com/Articles/mail/python-mailman.html">http://www.afp548.com/Articles/mail/python-mailman.html</a>
+<p>
+</li>
+<li>Kathleen Webb posted her experiences in getting Mailman running on
+ Jaguar using Sendmail.
+
+<p>
+<a class="url" href="http://mail.python.org/pipermail/mailman-users/2002-October/022944.html">http://mail.python.org/pipermail/mailman-users/2002-October/022944.html</a>
+<p>
+</li>
+<li>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:
+
+<p>
+<a class="url" href="http://docs.info.apple.com/article.html?artnum=107889">http://docs.info.apple.com/article.html?artnum=107889</a>
+</li>
+</ul>
+
+<p>
+Terry Allen provides the following detailed instructions on running Mailman on
+the 'client' version of OSX, or in earlier versions of OSX:
+
+<p>
+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.
+
+<p>
+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 <a class="url" href="http://www.postfix.org">http://www.postfix.org</a> 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
+<a class="url" href="http://www.roadstead.com/weblog/Tutorials/PostfixEnabler.html">http://www.roadstead.com/weblog/Tutorials/PostfixEnabler.html</a>.
+
+<p>
+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
+<a class="url" href="http://www.webmin.com">http://www.webmin.com</a>.
+
+<p>
+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.
+
+<p>
+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
+<a class="url" href="http://connect.apple.com">http://connect.apple.com</a>. 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.
+
+<p>
+As a minimum, the Python version should be 2.2, but 2.3 is recommended.
+
+<p>
+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
+"<tt class="samp">#</tt>" since they are just notes:
+
+<p>
+<div class="verbatim"><pre>
+sudo tcsh
+niutil -create / /users/mailman
+niutil -createprop / /users/mailman name mailman
+# Note that xxx is a free user 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
+</pre></div>
+
+<p>
+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 <span class="file">/etc/httpd/httpd.conf</span>.
+
+<p>
+The <a class="ulink" href="http://www.afp548.com"
+ >AFP548.com</a> site has a time-saving automated startup item creator for
+Mailman, which can be found at
+<a class="url" href="http://www.afp548.com/Software/MailmanStartup.tar.gz">http://www.afp548.com/Software/MailmanStartup.tar.gz</a>
+<p>
+To install it, copy it into your <span class="file">/Library/StartupItems</span> directory. As
+the root or superuser, from the terminal, enter the following:
+
+<p>
+<div class="verbatim"><pre>
+gunzip MailmanStartup.tar.gz
+tar xvf MailmanStartup.tar
+</pre></div>
+
+<p>
+It will create the startup item for you so that when you reboot, Mailman will
+start up.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="15.2 bsd issues"
+ href="bsd-issues.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="15 platform and operating"
+ href="node47.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="About this document ..."
+ href="about.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="bsd-issues.html">15.2 BSD issues</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node47.html">15 Platform and operating</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="about.html">About this document ...</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node6.html b/doc/mailman-install/node6.html
new file mode 100644
index 00000000..286eacf7
--- /dev/null
+++ b/doc/mailman-install/node6.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node9.html" />
+<link rel="prev" href="node3.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node7.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>3 Build and install Mailman</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2.2 create the installation"
+ href="create-install-dir.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3.1 run configure"
+ href="node7.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="create-install-dir.html">2.2 Create the installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node7.html">3.1 Run configure</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001300000000000000000"></a><a name="building"></a>
+<br>
+3 Build and install Mailman
+</h1>
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node7.html">3.1 Run <b class="program">configure</b></a>
+<li><a href="node8.html">3.2 Make and install</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="2.2 create the installation"
+ href="create-install-dir.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3.1 run configure"
+ href="node7.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="create-install-dir.html">2.2 Create the installation</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node7.html">3.1 Run configure</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node7.html b/doc/mailman-install/node7.html
new file mode 100644
index 00000000..e4d08890
--- /dev/null
+++ b/doc/mailman-install/node7.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node8.html" />
+<link rel="prev" href="node6.html" />
+<link rel="parent" href="node6.html" />
+<link rel="next" href="node8.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>3.1 Run configure</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3 build and install"
+ href="node6.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="3 build and install"
+ href="node6.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3.2 make and install"
+ href="node8.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node6.html">3 Build and install</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node6.html">3 Build and install</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node8.html">3.2 Make and install</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001310000000000000000">
+3.1 Run <b class="program">configure</b></a>
+</h2>
+
+<p>
+Before you can install Mailman, you must run <b class="program">configure</b> to set
+various installation options your system might need.
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+Take special note of the <b class="programopt">--with-mail-gid</b> and
+<b class="programopt">--with-cgi-gid</b> options below. You will probably need to use
+these.
+</div>
+
+<p>
+You should <strong>not</strong> be root while performing the steps in this section.
+Do them under your own login, or whatever account you typically use to install
+software. You do not need to do these steps as user <code>mailman</code>, but you
+could. However, make sure that the login used is a member of the
+<code>mailman</code> group as that that group has write permissions to the
+<var>$prefix</var> directory made in the previous step. You must also have
+permission to create a setgid file in the file system where it resides (NFS
+and other mounts can be configured to inhibit setgid settings).
+
+<p>
+If you've installed other GNU software, you should be familiar with the
+<b class="program">configure</b> script. Usually you can just <b class="program">cd</b> to the
+directory you unpacked the Mailman source tarball into, and run
+<b class="program">configure</b> with no arguments:
+
+<p>
+<div class="verbatim"><pre>
+ % cd mailman-&lt;version&gt;
+ % ./configure
+ % make install
+</pre></div>
+
+<p>
+The following options allow you to customize your Mailman
+installation.
+
+<p>
+<dl>
+<dt><strong><b class="programopt">--prefix</b>=<var>dir</var></strong></dt>
+<dd>Standard GNU configure option which changes the base directory that
+ Mailman is installed into. By default <var>$prefix</var> is
+ <span class="file">/usr/local/mailman</span>. This directory must already exist, and be set
+ up as described in <a href="create-install-dir.html#create-install-dir">2.2</a>.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--exec-prefix</b>=<var>dir</var></strong></dt>
+<dd>Standard GNU configure option which lets you specify a different
+ installation directory for architecture dependent binaries.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-var-prefix</b>=<var>dir</var></strong></dt>
+<dd>Store mutable data under <var>dir</var> instead of under the <var>$prefix</var> or
+ <var>$exec_prefix</var>. Examples of such data include the list archives and
+ list settings database.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-python</b>=<span class="file">/path/to/python</span></strong></dt>
+<dd>Specify an alternative Python interpreter to use for the wrapper programs.
+ The default is to use the interpreter found first on your shell's
+ <var>$PATH</var>.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-username</b>=<var>username-or-uid</var></strong></dt>
+<dd>Specify a different username than <code>mailman</code>. The value of this
+ option can be an integer user id or a user name. Be sure your
+ <var>$prefix</var> directory is owned by this user.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-groupname</b>=<var>groupname-or-gid</var></strong></dt>
+<dd>Specify a different groupname than <code>mailman</code>. The value of this
+ option can be an integer group id or a group name. Be sure your
+ <var>$prefix</var> directory is group-owned by this group.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-mail-gid</b>=<var>group-or-groups</var></strong></dt>
+<dd>Specify an alternative group for running scripts via the mail wrapper.
+ <var>group-or-groups</var> can be a list of one or more integer group ids or
+ symbolic group names. The first value in the list that resolves to an
+ existing group is used. By default, the value is the list <code>mailman</code>,
+ <code>other</code>, <code>mail</code>, and <code>daemon</code>.
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+ This is highly system dependent and you must get this right, because the
+ group id is compiled into the mail wrapper program for added security. On
+ systems using <b class="program">sendmail</b>, the <span class="file">sendmail.cf</span> configuration
+ file designates the group id of <b class="program">sendmail</b> processes using the
+ <var>DefaultUser</var> option. (If commented out, it still may be indicating
+ the default...)
+ </div>
+
+<p>
+Check your mail server's documentation and configuration files to find the
+ right value for this switch.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-cgi-gid</b>=<var>group-or-groups</var></strong></dt>
+<dd>Specify an alternative group for running scripts via the CGI wrapper.
+ <var>group-or-groups</var> can be a list of one or more integer group ids or
+ symbolic group names. The first value in the list that resolves to an
+ existing group is used. By default, the value is the the list
+ <code>www</code>, <code>www-data</code>, and <code>nobody</code>.
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+ The proper value for this is dependent on your web server configuration.
+ You must get this right, because the group id is compiled into the CGI
+ wrapper program for added security, and no Mailman CGI scripts will run if
+ this is incorrect.
+ </div>
+
+<p>
+If you're using Apache, check the values for the <var>Group</var> option in
+ your <span class="file">httpd.conf</span> file.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-cgi-ext</b>=<var>extension</var></strong></dt>
+<dd>Specify an extension for cgi-bin programs. The CGI wrappers placed in
+ <span class="file"><var>$prefix</var>/cgi-bin</span> will have this extension (some web servers
+ require an extension). <var>extension</var> must include the leading dot.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-mailhost</b>=<var>hostname</var></strong></dt>
+<dd>Specify the fully qualified host name part for outgoing email. After the
+ installation is complete, this value can be overriden in
+ <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-urlhost</b>=<var>hostname</var></strong></dt>
+<dd>Specify the fully qualified host name part of urls. After the
+ installation is complete, this value can be overriden in
+ <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>.
+
+<p>
+</dd>
+<dt><strong><b class="programopt">--with-gcc</b>=no</strong></dt>
+<dd>Don't use gcc, even if it is found. In this case, <b class="program">cc</b> must be
+ found on your <var>$PATH</var>.
+
+<p>
+</dd>
+</dl>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3 build and install"
+ href="node6.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="3 build and install"
+ href="node6.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="3.2 make and install"
+ href="node8.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node6.html">3 Build and install</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node6.html">3 Build and install</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node8.html">3.2 Make and install</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node8.html b/doc/mailman-install/node8.html
new file mode 100644
index 00000000..1ff3838b
--- /dev/null
+++ b/doc/mailman-install/node8.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node7.html" />
+<link rel="parent" href="node6.html" />
+<link rel="next" href="node9.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>3.2 Make and install</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3.1 run configure"
+ href="node7.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="3 build and install"
+ href="node6.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="4 check your installation"
+ href="node9.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node7.html">3.1 Run configure</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node6.html">3 Build and install</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node9.html">4 Check your installation</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001320000000000000000">
+3.2 Make and install</a>
+</h2>
+
+<p>
+Once you've run <b class="program">configure</b>, you can simply run <b class="program">make</b>, then
+<b class="program">make install</b> to build and install Mailman.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3.1 run configure"
+ href="node7.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="3 build and install"
+ href="node6.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="4 check your installation"
+ href="node9.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node7.html">3.1 Run configure</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node6.html">3 Build and install</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node9.html">4 Check your installation</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/node9.html b/doc/mailman-install/node9.html
new file mode 100644
index 00000000..e08e4f38
--- /dev/null
+++ b/doc/mailman-install/node9.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node10.html" />
+<link rel="prev" href="node6.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node10.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>4 Check your installation</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3.2 make and install"
+ href="node8.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="5 set up your"
+ href="node10.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node8.html">3.2 Make and install</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node10.html">5 Set up your</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION001400000000000000000">
+4 Check your installation</a>
+</h1>
+
+<p>
+After you've run <b class="program">make install</b>, you should check that your
+installation has all the correct permissions and group ownerships by running
+the <b class="program">check_perms</b> script. First change to the installation
+(i.e. <var>$prefix</var>) directory, then run the <b class="program">bin/check_perms</b>
+program. Don't try to run bin/check_perms from the source directory; it will
+only run from the installation directory.
+
+<p>
+If this reports no problems, then it's very likely &lt;wink&gt; that your
+installation is set up correctly. If it reports problems, then you can either
+fix them manually, re-run the installation, or use <b class="program">bin/check_perms</b>
+to fix the problems (probably the easiest solution):
+
+<p>
+
+<ul>
+<li>You need to become the user that did the installation, and that owns all
+ the files in <var>$prefix</var>, or root.
+
+<p>
+</li>
+<li>Run <b class="program">bin/check_perms -f</b>
+
+<p>
+</li>
+<li>Repeat previous step until no more errors are reported!
+</li>
+</ul>
+
+<p>
+<div class="warning"><b class="label">Warning:</b>
+
+If you're running Mailman on a shared multiuser system, and you have mailing
+lists with private archives, you may want to hide the private archive
+directory from other users on your system. In that case, you should drop the
+other execute permission (o-x) from the <span class="file">archives/private</span> directory.
+However, the web server process must be able to follow the symbolic link in
+public directory, otherwise your public Pipermail archives will not work. To
+set this up, become root and run the following commands:
+
+<p>
+<div class="verbatim"><pre>
+# cd &lt;prefix&gt;/archives
+# chown &lt;web-server-user&gt; private
+# chmod o-x private
+</pre></div>
+
+<p>
+You need to know what user your web server runs as. It may be <code>www</code>,
+<code>apache</code>, <code>httpd</code> or <code>nobody</code>, depending on your server's
+configuration.
+</div>
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="3.2 make and install"
+ href="node8.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="5 set up your"
+ href="node10.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node8.html">3.2 Make and install</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node10.html">5 Set up your</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/postfix-virtual.html b/doc/mailman-install/postfix-virtual.html
new file mode 100644
index 00000000..4191fe11
--- /dev/null
+++ b/doc/mailman-install/postfix-virtual.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node15.html" />
+<link rel="prev" href="node13.html" />
+<link rel="parent" href="node12.html" />
+<link rel="next" href="node15.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.1.2 Virtual domains</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.1 integrating Postfix and"
+ href="node13.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.3 an alternative approach"
+ href="node15.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node13.html">6.1.1 Integrating Postfix and</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node15.html">6.1.3 An alternative approach</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h3><a name="SECTION001612000000000000000"></a><a name="postfix-virtual"></a>
+<br>
+6.1.2 Virtual domains
+</h3>
+
+<p>
+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, <span class="file">/usr/local/mailman/data/virtual-mailman</span>. It will
+also use <b class="program">postmap</b> to create the <b class="program">virtual-mailman.db</b> file
+that Postfix will actually use.
+
+<p>
+First, you need to set up the Postfix virtual alias domains as described in
+the Postfix documentation (see Postfix's <code>virtual(5)</code> manpage). Note
+that it's your responsibility to include the <code>virtual-alias.domain
+anything</code> line as described manpage; Mailman will not include this line in
+<span class="file">virtual-mailman</span>. You are highly encouraged to make sure your virtual
+alias domains are working properly before integrating with Mailman.
+
+<p>
+Next, add a path to Postfix's <var>virtual_alias_maps</var> variable, pointing to
+the virtual-mailman file, e.g.:
+
+<p>
+<div class="verbatim"><pre>
+ virtual_alias_maps = &lt;your normal virtual alias files&gt;,
+ hash:/usr/local/mailman/data/virtual-mailman
+</pre></div>
+
+<p>
+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</var>
+variable, use the <var>virtual_maps</var> variable instead.
+
+<p>
+Next, in your <span class="file">mm_cfg.py</span> file, you will want to set the variable
+<var>POSTFIX_STYLE_VIRTUAL_DOMAINS</var> 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</var> attribute of mailing lists objects, and must be an
+exact match.
+
+<p>
+Here's an example. Say that Postfix is configured to handle the virtual
+domains <code>dom1.ain</code>, <code>dom2.ain</code>, and <code>dom3.ain</code>, and further
+that in your <span class="file">main.cf</span> file you've got the following settings:
+
+<p>
+<div class="verbatim"><pre>
+ 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
+</pre></div>
+
+<p>
+If in your <span class="file">virtual-dom1</span> file, you've got the following lines:
+
+<p>
+<div class="verbatim"><pre>
+ dom1.ain IGNORE
+ @dom1.ain @mail.dom1.ain
+</pre></div>
+
+<p>
+this tells Postfix to deliver anything addressed to <code>dom1.ain</code> to the
+same mailbox at <code>mail.dom1.com</code>, its default destination.
+
+<p>
+In this case you would not include <code>dom1.ain</code> in
+<var>POSTFIX_STYLE_VIRTUAL_DOMAINS</var> because otherwise Mailman will write
+entries for mailing lists in the dom1.ain domain as
+
+<p>
+<div class="verbatim"><pre>
+ mylist@dom1.ain mylist
+ mylist-request@dom1.ain mylist-request
+ # and so on...
+</pre></div>
+
+<p>
+The more specific entries trump your more general entries, thus breaking the
+delivery of any <code>dom1.ain</code> mailing list.
+
+<p>
+However, you would include <code>dom2.ain</code> and <code>dom3.ain</code> in
+<span class="file">mm_cfg.py</span>:
+
+<p>
+<div class="verbatim"><pre>
+ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain']
+</pre></div>
+
+<p>
+Now, any list that Mailman creates in either of those two domains, will have
+the correct entries written to <span class="file">/usr/local/mailman/data/virtual-mailman</span>.
+
+<p>
+As above with the <span class="file">data/aliases*</span> files, you want to make sure that both
+<span class="file">data/virtual-mailman</span> and <span class="file">data/virtual-mailman.db</span> are user and
+group owned by <code>mailman</code>.
+
+<p>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.1.1 integrating Postfix and"
+ href="node13.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6.1 using the Postfix"
+ href="node12.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.1.3 an alternative approach"
+ href="node15.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node13.html">6.1.1 Integrating Postfix and</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node12.html">6.1 Using the Postfix</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node15.html">6.1.3 An alternative approach</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/previous.png b/doc/mailman-install/previous.png
new file mode 100644
index 00000000..497def42
--- /dev/null
+++ b/doc/mailman-install/previous.png
Binary files differ
diff --git a/doc/mailman-install/pyfav.png b/doc/mailman-install/pyfav.png
new file mode 100644
index 00000000..d2d8669d
--- /dev/null
+++ b/doc/mailman-install/pyfav.png
Binary files differ
diff --git a/doc/mailman-install/qmail-issues.html b/doc/mailman-install/qmail-issues.html
new file mode 100644
index 00000000..25948d95
--- /dev/null
+++ b/doc/mailman-install/qmail-issues.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="prev" href="node31.html" />
+<link rel="parent" href="mail-server.html" />
+<link rel="next" href="node36.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>6.4 Using the Qmail mail server</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.3 performance notes"
+ href="node34.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.1 information on VERP"
+ href="node36.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node34.html">6.3.3 Performance notes</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node36.html">6.4.1 Information on VERP</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h2><a name="SECTION001640000000000000000"></a><a name="qmail-issues"></a>
+<br>
+6.4 Using the Qmail mail server
+</h2>
+
+<p>
+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).
+
+<p>
+
+<ul>
+<li>You might need to set the mail-gid user to either <code>qmail</code>,
+ <code>mailman</code>, or <code>nofiles</code> by using the
+ <b class="programopt">--with-mail-gid</b> <b class="program">configure</b> option.
+
+<p>
+<em>BN:</em> it highly depends on your mail storing policy. For example
+ if you use the simple <span class="file">~alias/.qmail-*</span> files, you can use
+ <b class="program">`id -g alias`</b>. But if you use <span class="file">/var/qmail/users</span>, the
+ specified mail gid can be used.
+
+<p>
+If you are going to be directing virtual domains directly to the
+ <code>mailman</code> user (using ``virtualdomains'' on a list-only domain, for
+ example), you will have to use <b class="programopt">--with-mail-gid</b>=<var>gid
+ of mailman user's group</var>. This is incompatible with having list aliases
+ in <span class="file">~alias</span>, unless that alias simply forwards to
+ <code>mailman-listname*</code>.
+
+<p>
+</li>
+<li>If there is a user <code>mailman</code> on your system, the alias
+ <code>mailman-owner</code> will work only in <span class="file">~mailman</span>. You have to do
+ a <b class="program">touch .qmail-owner</b> in <span class="file">~mailman</span> directory to create
+ this alias.
+
+<p>
+<em>NB:</em> An alternative, IMHO better solution is to <b class="program">chown
+ root ~mailman</b>, that will stop qmail from considering <code>mailman</code> to
+ be a user to whom mail can be delivered. (See ``man 8 qmail-getpw''.)
+
+<p>
+</li>
+<li>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
+ "<tt class="samp">-</tt>" in them. Putting <span class="file">.qmail</span> 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 <span class="file">/var/qmail/users/assign</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ +zope-:alias:112:11:/var/qmail/alias:-:zope-:
+ .
+</pre></div>
+
+<p>
+where in this case the listname is e.g. <code>zope-users</code>.
+
+<p>
+<em>NB:</em> Alternatively, you could host the lists on a virtual domain,
+ and use the <span class="file">/var/qmail/control/virtualdomains</span> file to put the
+ <code>mailman</code> user in charge of this virtual domain.
+
+<p>
+</li>
+<li><em>BN:</em>If inbound messages are delivered by another user than
+ <code>mailman</code>, it's necessary to allow it to access <span class="file">~mailman</span>.
+ Be sure that <span class="file">~mailman</span> has group writing access and setgid bit is
+ set. Then put the delivering user to <code>mailman</code> group, and you can
+ deny access to <span class="file">~mailman</span> to others. Be sure that you can do the
+ same with the WWW service.
+
+<p>
+By the way the best thing is to make a virtual mail server to handle all
+ of the mail. <em>NB:</em> 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</code> to <span class="file">/var/qmail/control/virtualdomains</span>
+ and a <code>lists.kva.hu</code> line to <span class="file">/var/qmail/control/rcpthosts</span>
+ 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.
+
+<p>
+Then make your aliases:
+
+<p>
+<div class="verbatim"><pre>
+ .qmail =&gt; mailman@...'s letters
+ .qmail-owner =&gt; mailman-owner's letters
+</pre></div>
+
+<p>
+For list aliases, you can either create them manually:
+
+<p>
+<div class="verbatim"><pre>
+ .qmail-list =&gt; posts to the 'list' list
+ .qmail-list-admin =&gt; posts to the 'list's owner
+ .qmail-list-request =&gt; requests to 'list'
+ etc
+</pre></div>
+
+<p>
+or for automatic list alias handling (when using the lists.kva.hu
+ virtual as above), see <span class="file">contrib/qmail-to-mailman.py</span> in the Mailman
+ source distribution. Modify the <span class="file">~mailman/.qmail-default</span> to
+ include:
+
+<p>
+<div class="verbatim"><pre>
+ |preline /path/to/python /path/to/qmail-to-mailman.py
+</pre></div>
+
+<p>
+and new lists will automatically be picked up.
+
+<p>
+</li>
+<li>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
+ <span class="file">/etc/hosts.allow</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ tcp-env: 127. 10.205.200. : setenv RELAYCLIENT
+</pre></div>
+
+<p>
+where 10.205.200. is your IP address block. If you use tcpserver, then
+ you need something like the following in your <span class="file">/etc/tcp.smtp</span> file:
+
+<p>
+<div class="verbatim"><pre>
+ 10.205.200.:allow,RELAYCLIENT=""
+ 127.:allow,RELAYCLIENT=""
+</pre></div>
+
+<p>
+</li>
+<li><em>BN:</em> Bigger <span class="file">/var/qmail/control/concurrencyremote</span> 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.
+
+<p>
+</li>
+<li>More information about setting up qmail and relaying can be found in the
+ qmail documentation.
+</li>
+</ul>
+
+<p>
+<em>BN:</em> 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 <span class="file">contrib/qmail-to-mailman.py</span>):
+
+<p>
+This script is for the Mailman 2.0 series:
+
+<p>
+<div class="verbatim"><pre>
+#!/bin/sh
+if [ $# = 1 ]; then
+ i=$1
+ echo Making links to $i in the current directory...
+ echo "|preline /home/mailman/mail/mailman post $i" &gt; .qmail-$i
+ echo "|preline /home/mailman/mail/mailman mailowner $i" &gt; .qmail-$i-admin
+ echo "|preline /home/mailman/mail/mailman mailowner $i" &gt; .qmail-$i-owner
+ echo "|preline /home/mailman/mail/mailman mailowner $i" &gt; .qmail-owner-$i
+ echo "|preline /home/mailman/mail/mailman mailcmd $i" &gt; .qmail-$i-request
+fi
+</pre></div>
+
+<p>
+<div class="note"><b class="label">Note:</b>
+
+This is for a new Mailman 2.1 installation. Users upgrading from
+Mailman 2.0 would most likely change <span class="file">/usr/local/mailman</span> to
+<span class="file">/home/mailman</span>. If in doubt, refer to the <b class="programopt">--prefix</b>
+option passed to <b class="program">configure</b> during compile time.
+</div>
+
+<p>
+<div class="verbatim"><pre>
+#!/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" &gt; .qmail-$i
+ echo "|preline /usr/local/mailman/mail/mailman admin $i" &gt; .qmail-$i-admin
+ echo "|preline /usr/local/mailman/mail/mailman bounces $i" &gt; .qmail-$i-bounces
+ # The following line is for VERP
+ # echo "|preline /usr/local/mailman/mail/mailman bounces $i" &gt; .qmail-$i-bounces-default
+ echo "|preline /usr/local/mailman/mail/mailman confirm $i" &gt; .qmail-$i-confirm
+ echo "|preline /usr/local/mailman/mail/mailman join $i" &gt; .qmail-$i-join
+ echo "|preline /usr/local/mailman/mail/mailman leave $i" &gt; .qmail-$i-leave
+ echo "|preline /usr/local/mailman/mail/mailman owner $i" &gt; .qmail-$i-owner
+ echo "|preline /usr/local/mailman/mail/mailman request $i" &gt; .qmail-$i-request
+ echo "|preline /usr/local/mailman/mail/mailman subscribe $i" &gt; .qmail-$i-subscribe
+ echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" &gt; .qmail-$i-unsubscribe
+fi
+</pre></div>
+
+<p>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<a name="CHILD_LINKS"><strong>Subsections</strong></a>
+
+<ul class="ChildLinks">
+<li><a href="node36.html">6.4.1 Information on VERP</a>
+<li><a href="node37.html">6.4.2 Virtual mail server</a>
+<li><a href="node38.html">6.4.3 More information</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="6.3.3 performance notes"
+ href="node34.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="6 set up your"
+ href="mail-server.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="6.4.1 information on VERP"
+ href="node36.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node34.html">6.3.3 Performance notes</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node36.html">6.4.1 Information on VERP</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/troubleshooting.html b/doc/mailman-install/troubleshooting.html
new file mode 100644
index 00000000..6b994ed1
--- /dev/null
+++ b/doc/mailman-install/troubleshooting.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="mailman-install.css" type='text/css' />
+<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="node47.html" />
+<link rel="prev" href="node45.html" />
+<link rel="parent" href="front.html" />
+<link rel="next" href="node47.html" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name='aesop' content='information' />
+<title>14 Troubleshooting</title>
+</head>
+<body>
+<div class="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="13 create your first"
+ href="node45.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15 platform and operating"
+ href="node47.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node45.html">13 Create your first</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node47.html">15 Platform and operating</a>
+</div>
+<hr /></div>
+</div>
+<!--End of Navigation Panel-->
+
+<h1><a name="SECTION0011400000000000000000"></a><a name="troubleshooting"></a>
+<br>
+14 Troubleshooting
+</h1>
+
+<p>
+If you encounter problems with running Mailman, first check the question and
+answer section below. If your problem is not covered there, check the
+<a class="ulink" href="http://www.list.org/help.html"
+ >online help</a>, including the
+<a class="ulink" href="http://www.list.org/faq.html"
+ >FAQ</a> and the
+<a class="ulink" href="http://www.python.org/cgi-bin/faqw-mm.py"
+ >interactive FAQ wizard</a>.
+
+<p>
+Also check for errors in your syslog files, your mail and web server log files
+and in Mailman's <span class="file"><var>$prefix</var>/logs/error</span> file. If you're still
+having problems, you should send a message to the
+<span class="email">mailman-users@python.org</span> mailing list<a name="tex2html7"
+ href="#foot614"><sup>7</sup></a>; see
+<a class="url" href="http://mail.python.org/mailman/listinfo/mailman-users">http://mail.python.org/mailman/listinfo/mailman-users</a> for more
+information.
+
+<p>
+Be sure to including information on your operating system, which version of
+Python you're using, and which version of Mailman you're installing.
+
+<p>
+Here is a list of some common questions and answers:
+
+<p>
+
+<ul>
+<li><strong>Problem:</strong> All Mailman web pages give a 404 File not found
+ error.
+
+<p>
+<strong>Solution:</strong> Your web server has not been set up properly for
+ handling Mailman's CGI programs. Make sure you have:
+
+<p>
+
+<ol>
+<li>configured the web server to give permissions to
+ <span class="file"><var>$prefix</var>/cgi-bin</span>
+
+<p>
+</li>
+<li>restarted the web server properly.
+
+</li>
+</ol>
+
+<p>
+Consult your web server's documentation for instructions on how to do
+ check these issues.
+
+<p>
+</li>
+<li><strong>Problem:</strong> All Mailman web pages give an "Internal Server
+ Error".
+
+<p>
+<strong>Solution:</strong> The likely problem is that you are using the wrong
+ user or group for the CGI scripts. Check your web server's log files.
+ If you see a line like
+
+<p>
+<div class="verbatim"><pre>
+ Attempt to exec script with invalid gid 51, expected 99
+</pre></div>
+
+<p>
+you will need to reinstall Mailman, specifying the proper CGI group id,
+ as described in the <a name="building"></a> section.
+
+<p>
+</li>
+<li><strong>Problem:</strong> I send mail to the list, and get back mail saying the
+ list is not found!
+
+<p>
+<strong>Solution:</strong> You probably didn't add the necessary aliases to the
+ system alias database, or you didn't properly integrate Mailman with
+ your mail server. Perhaps you didn't update the alias database, or your
+ system requires you to run <b class="program">newaliases</b> explicitly. Refer to
+ your server specific instructions in the <a href="mail-server.html#mail-server">6</a> section.
+
+<p>
+</li>
+<li><strong>Problem:</strong> I send mail to the list, and get back mail saying,
+ ``unknown mailer error''.
+
+<p>
+<strong>Solution:</strong> The likely problem is that you are using the wrong
+ user or group id for the mail wrappers. Check your mail server's log
+ files; if you see a line like
+
+<p>
+<div class="verbatim"><pre>
+ Attempt to exec script with invalid gid 51, expected 99
+</pre></div>
+
+<p>
+you will need to reinstall Mailman, specifying the proper mail group id
+ as described in the <a name="building"></a> section.
+
+<p>
+</li>
+<li><strong>Problem:</strong> I use Postfix as my mail server and the mail wrapper
+ programs are logging complaints about the wrong GID.
+
+<p>
+<strong>Solution:</strong> Make sure the <span class="file"><var>$prefix</var>/data/aliases.db</span>
+ file is user owned by <code>mailman</code> (or whatever user name you used
+ in the <b class="program">configure</b> command). If this file is not user owned by
+ <code>mailman</code>, Postfix will not run the mail programs as the correct
+ user.
+
+<p>
+</li>
+<li><strong>Problem:</strong> I use Sendmail as my mail server, and when I send mail
+ to the list, I get back mail saying, ``sh: mailman not available for
+ sendmail programs''.
+
+<p>
+<strong>Solution:</strong> Your system uses the Sendmail restricted shell
+ (smrsh). You need to configure smrsh by creating a symbolic link from
+ the mail wrapper (<span class="file"><var>$prefix</var>/mail/mailman</span>) to the directory
+ identifying executables allowed to run under smrsh.
+
+<p>
+Some common names for this directory are <span class="file">/var/admin/sm.bin</span>,
+ <span class="file">/usr/admin/sm.bin</span> or <span class="file">/etc/smrsh</span>.
+
+<p>
+Note that on Debian Linux, the system makes <span class="file">/usr/lib/sm.bin</span>,
+ which is wrong, you will need to create the directory
+ <span class="file">/usr/admin/sm.bin</span> and add the link there. Note further any
+ aliases <b class="program">newaliases</b> spits out will need to be adjusted to point
+ to the secure link to the wrapper.
+
+<p>
+</li>
+<li><strong>Problem:</strong> I messed up when I called <b class="program">configure</b>. How
+ do I clean things up and re-install?
+
+<p>
+<strong>Solution:</strong>
+
+<p>
+<div class="verbatim"><pre>
+ % make clean
+ % ./configure --with-the-right-options
+ % make install
+ </pre></div>
+
+<p>
+</li>
+</ul>
+
+<p>
+<br><hr><h4>Footnotes</h4>
+<dl>
+<dt><a name="foot614">... list</a><A
+ href="troubleshooting.html#tex2html7"><sup>7</sup></a></dt>
+<dd>You must subscribe to
+this mailing list in order to post to it, but the mailing list's archives are
+publicly visible.
+
+</dd>
+</dl>
+<div class="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="13 create your first"
+ href="node45.html"><img src='previous.png'
+ border='0' height='32' alt='Previous Page' width='32' /></a></td>
+<td class='online-navigation'><a rel="parent" title="Front Matter"
+ href="front.html"><img src='up.png'
+ border='0' height='32' alt='Up one Level' width='32' /></a></td>
+<td class='online-navigation'><a rel="next" title="15 platform and operating"
+ href="node47.html"><img src='next.png'
+ border='0' height='32' alt='Next Page' width='32' /></a></td>
+<td align="center" width="100%">GNU Mailman - Installation Manual</td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+ border='0' height='32' alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="node45.html">13 Create your first</a>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="front.html">Front Matter</a>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node47.html">15 Platform and operating</a>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span>
+</div>
+<!--End of Navigation Panel-->
+
+</body>
+</html>
diff --git a/doc/mailman-install/up.png b/doc/mailman-install/up.png
new file mode 100644
index 00000000..a90e0284
--- /dev/null
+++ b/doc/mailman-install/up.png
Binary files differ