diff options
Diffstat (limited to '')
63 files changed, 10933 insertions, 0 deletions
diff --git a/admin/www/mailman-install.pdf b/admin/www/mailman-install.pdf Binary files differnew file mode 100644 index 00000000..7579d266 --- /dev/null +++ b/admin/www/mailman-install.pdf diff --git a/admin/www/mailman-install.ps b/admin/www/mailman-install.ps new file mode 100644 index 00000000..2410dd57 --- /dev/null +++ b/admin/www/mailman-install.ps @@ -0,0 +1,2147 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software +%%Title: mailman-install.dvi +%%Pages: 26 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: Helvetica Helvetica-Oblique Times-Roman Times-Bold +%%+ Courier Times-Italic Times-BoldItalic Helvetica-Bold CMSY10 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -N0 -o mailman-install.ps mailman-install +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2004.12.13:2251 +%%BeginProcSet: texc.pro +%! +/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/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 +% File 8r.enc as of 2002-03-12 for PSNFSS 9 +% +% 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 +% +% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt +% +% 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 + extra characters from Lucida + Euro. +% +% 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. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (6) /Euro is assigned to 128, as in Windows ANSI +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there down to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /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 % rubout; ASCII ends +% 0x80 + /Euro /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /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: bbad153f.enc +% Thomas Esser, Dec 2002. public domain +% +% Encoding for: +% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 +% +/TeXbbad153fEncoding [ +/minus /periodcentered /multiply /asteriskmath /divide /diamondmath +/plusminus /minusplus /circleplus /circleminus /circlemultiply +/circledivide /circledot /circlecopyrt /openbullet /bullet +/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal +/greaterequal /precedesequal /followsequal /similar /approxequal +/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows +/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast +/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup +/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional +/prime /infinity /element /owner /triangle /triangleinv /negationslash +/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur +/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K +/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection +/unionmulti /logicaland /logicalor /turnstileleft /turnstileright +/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright +/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv +/backslash /wreathproduct /radical /coproduct /nabla /integral +/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section +/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/minus /periodcentered /multiply /asteriskmath /divide /diamondmath +/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef +/circlemultiply /circledivide /circledot /circlecopyrt /openbullet +/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset +/lessequal /greaterequal /precedesequal /followsequal /similar +/approxequal /propersubset /propersuperset /lessmuch /greatermuch +/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +] def + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +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 0 /.notdef put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +/UniqueID 5000820 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 39158280 55380996 1000 600 600 (mailman-install.dvi) +@start /Fa 158[25 97[{ TeXBase1Encoding ReEncodeFont }1 +49.8132 /Times-Italic rf /Fb 158[29 97[{ TeXBase1Encoding ReEncodeFont } +1 58.1154 /Times-Italic rf /Fc 240[42 15[{ + TeXbbad153fEncoding ReEncodeFont }1 83.022 /CMSY10 rf +/Fd 134[42 4[25 3[46 46 46 5[46 6[42 49[21 47[{ + TeXBase1Encoding ReEncodeFont }8 74.7198 /Helvetica-Bold +rf /Fe 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 /Ff 138[55 2[44 2[50 55 6[50 +1[44 1[44 96[55 2[{ TeXBase1Encoding ReEncodeFont }8 +99.6264 /Times-Bold rf /Fg 144[32 32 48 13 2[13 32 2[32 +3[32 49[16 47[{ TeXBase1Encoding ReEncodeFont }9 58.1154 +/Helvetica rf /Fh 202[25 25 25 25 25 49[{ + TeXBase1Encoding ReEncodeFont }5 49.8132 /Times-Roman +rf /Fi 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 1[23 21 28 5[28 36[42 2[{ TeXBase1Encoding ReEncodeFont }55 +83.022 /Times-Italic 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 12[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 39[{ + TeXBase1Encoding ReEncodeFont }52 83.022 /Courier rf +/Fm 202[29 29 29 29 29 49[{ TeXBase1Encoding ReEncodeFont }5 +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 +1[55 55 55 55 1[28 28 43[50 2[{ TeXBase1Encoding ReEncodeFont }44 +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 10[55 60 51 55 60 65 55 2[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 }56 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 13[33 1[33 33 2[17 22 17 4[22 5[22 +33[{ TeXBase1Encoding ReEncodeFont }43 66.4176 /Times-Roman +rf /Fq 133[37 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 /Fr 167[43 9[43 4[20 73[{ TeXBase1Encoding ReEncodeFont }3 +59.7758 /Times-Roman rf /Fs 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 /Ft 139[25 29 33 14[33 42 37 31[54 65[{ + TeXBase1Encoding ReEncodeFont }7 74.7198 /Times-Bold +rf /Fu 133[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 5[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 }58 74.7198 /Helvetica +rf /Fv 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 5[28 +29[46 46 2[{ TeXBase1Encoding ReEncodeFont }81 83.022 +/Times-Roman rf /Fw 133[60 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 }45 +119.552 /Helvetica rf /Fx 140[50 6[22 6[55 3[55 14[72 +31[55 55 2[28 46[{ TeXBase1Encoding ReEncodeFont }8 99.6264 +/Helvetica-Oblique rf /Fy 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 Fy(GNU)57 +b(Mailman)g(-)g(Installation)h(Man)n(ual)3368 504 y Fx(Release)30 +b(2.1)3153 859 y Fw(Barr)t(y)i(W)-5 b(arsa)n(w)3248 1213 +y Fv(December)18 b(13,)i(2004)3265 1360 y Fu(barr)r(y\(at\)p)n +(ython.org)1811 1581 y Ft(Abstract)208 1732 y Fs(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 Fr(N)t(I)t(X)r +Fs(,)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 Fu(http://www)l(.list.org)0 +2287 y Fw(Contents)0 2472 y Fq(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(2)125 2754 y Fv(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 Fq(3)83 b(Build)21 b(and)g(install)f(Mailman) +2804 b(4)125 3136 y Fv(3.1)85 b(Run)21 b Fq(con\002gur)o(e)i +Fv(.)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 Fq(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(5)0 3784 y(6)83 b(Set)20 b(up)h(y)n(our)f(mail)g(ser)o(v)o(er)2907 +b(6)125 3884 y Fv(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(8)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(12)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 Fv(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(14)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(15)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(16)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(16)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 Fq(7)83 b(Cr)o(eate)18 b(a)j(site-wide)f(mailing)g(list)2643 +b(20)0 1445 y(8)83 b(Set)20 b(up)h(cr)o(on)3287 b(20)0 +1627 y(9)83 b(Start)19 b(the)i(Mailman)f(qrunner)2722 +b(20)0 1810 y(10)41 b(Check)20 b(the)h(hostname)f(settings)2684 +b(21)0 1993 y(11)41 b(Customize)20 b(Mailman)2975 b(22)0 +2175 y(12)41 b(Cr)o(eate)18 b(y)n(our)i(\002rst)h(mailing)f(list)2691 +b(22)0 2358 y(13)41 b(T)-6 b(r)o(oubleshooting)3112 b(23)0 +2540 y(14)41 b(Platf)n(orm)18 b(and)j(operating)e(system)i(notes)2393 +b(24)125 2640 y Fv(14.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(24)125 2740 +y(14.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 2839 y(14.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(25)p 0 2986 3901 9 v 0 3413 a Fw(1)120 b(Installation)35 +b(Requirements)0 3646 y Fv(GNU)23 b(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 +Fv(,)e(MacOSX,)f(or)f(GNU/Linux.)31 b(It)23 b(does)g(not)f(currently)0 +3746 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 +3845 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 3945 +y(should)h(w)o(ork)h(just)g(\002ne.)0 4092 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 4191 y(C)h(compiler)e(gcc)h(2.8.1)f(or)h +(later)g(is)h(kno)n(wn)e(to)h(w)o(ork)g(well.)0 4338 +y(Y)-9 b(ou)18 b(must)g(ha)n(v)o(e)g(the)g(Python)f(interpreter)g +(installed)h(some)n(where)f(on)h(your)f(system.)24 b(Mailman)18 +b(2.1)g(requires)f(Python)g(2.1)h(or)g(ne)n(wer)m(,)0 +4438 y(although)g(Python)h(2.3)h(or)g(ne)n(wer)f(is)i(recommended.)0 +4765 y Fw(2)120 b(Set)34 b(up)g(y)n(our)f(system)0 4998 +y Fv(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 5098 y(root)i(pri)n(vile)o +(ges)e(to)j(perform)d(the)i(steps)h(in)f(this)h(section.)p +0 5549 3901 4 v 0 5649 a Fo(2)3016 b(2)83 b(Set)24 b(up)f(y)n(our)g +(system)p eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 0 83 a Fn(2.1)100 b(Add)29 b(the)f(g)o(roup)i +(and)f(user)0 286 y Fv(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 386 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 355 y Fm(1)3524 386 y Fv(.)28 b(T)-7 +b(ypically)i(,)0 485 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 Fv(.)52 +b(The)29 b Fl(mailman)g Fv(user)g(must)h(be)f(a)h(member)e(of)i(the)0 +585 y Fl(mailman)25 b Fv(group.)40 b(Mailman)25 b(will)i(be)f +(installed)g(under)e(the)i Fl(mailman)f Fv(user)h(and)f(group,)g(with)h +(the)g(set-group-id)d(\(setgid\))i(bit)0 684 y(enabled.)0 +831 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 931 y(when)e(you)g(run)g Fq(con\002gur)o(e)p +Fv(.)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 +Fq(con\002gur)o(e)p Fv(')-5 b(s)0 1031 y Fq(--with-user)o(name)26 +b Fv(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 +Fq(con\002gur)o(e)p Fv(')-5 b(s)0 1130 y Fq(--with-gr)o(oupname)18 +b Fv(option.)0 1277 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 1377 y(for)h(details:)416 +1615 y Fk(\045)44 b(groupadd)g(mailman)416 1706 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 2131 y Fn(2.2)100 b(Create)29 b(the)f(installation)h +(director)s(y)0 2334 y Fv(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 2433 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 2533 y(separate)20 b(directories.)k(This)c(section)g(will) +h(describe)e(the)h(a)n(v)n(ailable)g(options.)0 2680 +y(The)15 b(def)o(ault)g(is)h(to)g(install)g(all)g(of)f(Mailman)g(to)g +(`)p Fu(/usr/local/mailman)p Fv(')2004 2650 y Fm(2)2033 +2680 y Fv(.)23 b(Y)-9 b(ou)15 b(can)g(change)g(this)h(base)f +(installation)g(directory)f(\(referred)0 2780 y(to)20 +b(here)g(as)h Fj($)p Fi(pr)m(e\002x)p Fv(\))e(by)g(specifying)g(the)h +(directory)f(with)h(the)g Fq(--pr)o(e\002x)f(con\002gur)o(e)g +Fv(option.)24 b(If)c(you')l(re)e(upgrading)g(from)h(a)h(pre)n(vious)0 +2879 y(v)o(ersion)f(of)h(Mailman,)f(you)g(may)h(w)o(ant)g(to)h(use)f +(the)g Fq(--pr)o(e\002x)g Fv(option)f(unless)h(you)f(mo)o(v)o(e)g(your) +g(mailing)g(lists.)p 0 2969 3901 17 v 0 3360 17 391 v +75 3085 a Fq(W)-5 b(ar)o(ning:)88 b Fv(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 Fv(option.)52 b(This)30 b(will)75 3184 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 3284 y(Mailman)h(in)i(a)f(location)f +(that)i(allo)n(ws)f(setgid)g(programs.)p 3883 3360 V +0 3377 3901 17 v 0 3532 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 Fv(\(or)h(whate)n(v)o +(er)f(you')l(re)f(going)h(to)h(specify)g(with)g Fq(--with-)0 +3631 y(gr)o(oupname)p Fv(\))d(and)i(has)g(the)g(setgid)g(bit)g(set)1331 +3601 y Fm(3)1364 3631 y Fv(.)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 +3731 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 +3969 y Fk(\045)44 b(cd)h($prefix)416 4061 y(\045)f(chgrp)g(mailman)g(.) +416 4152 y(\045)g(chmod)g(a+rx,g+ws)g(.)0 4438 y Fv(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 4510 1560 4 v 90 4565 +a Fh(1)120 4588 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 4646 y Fh(2)120 4670 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 Fg(/home/mailman)p +Fp(')i(by)d(def)o(ault.)90 4727 y Fh(3)120 4751 y Fp(BSD)f(users)h +(should)h(see)g(the)f(14.2)g(section)i(for)e(additional)j(information.) +p 0 5549 3901 4 v 0 5649 a Fo(2.1)83 b(Add)24 b(the)g(g)o(roup)f(and)h +(user)2788 b(3)p eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 0 86 a Fw(3)120 b(Build)33 b(and)i(install)d +(Mailman)0 336 y Fn(3.1)100 b(Run)29 b Ff(con\002gur)n(e)0 +539 y Fv(Before)20 b(you)f(can)h(install)h(Mailman,)e(you)g(must)h(run) +g Fq(con\002gur)o(e)f Fv(to)i(set)g(v)n(arious)e(installation)g +(options)h(your)f(system)h(might)g(need.)0 686 y Fq(Note:)79 +b Fv(T)-7 b(ak)o(e)27 b(special)h(note)f(of)g(the)g Fq(--with-mail-gid) +f Fv(and)h Fq(--with-cgi-gid)e Fv(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 Fq(not)h +Fv(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 Fv(,)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 Fv(group)f(as)j +(that)f(that)g(group)f(has)h(write)g(permissions)f(to)i(the)0 +1231 y Fj($)p Fi(pr)m(e\002x)c Fv(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 +Fq(con\002gur)o(e)f Fv(script.)32 b(Usually)22 b(you)f(can)i(just)f +Fq(cd)h Fv(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 Fq(con\002gur)o(e)f +Fv(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 Fv(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 Fq(--pr)o(e\002x=)p Fe(dir)40 +b Fv(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 Fi(pr)m(e\002x)h +Fv(is)h(`)p Fu(/usr/local/mailman)p Fv('.)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 Fq(--exec-pr)o(e\002x=)p Fe(dir)39 b Fv(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 Fq(--with-v)o(ar)m(-pr) +o(e\002x=)p Fe(dir)38 b Fv(Store)25 b(mutable)f(data)h(under)e +Fi(dir)k Fv(instead)e(of)g(under)e(the)i Fj($)p Fi(pr)m(e\002x)f +Fv(or)h Fj($)p Fi(e)n(xec)p 3009 3046 46 4 v 50 w(pr)m(e\002x)p +Fv(.)38 b(Examples)24 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 Fq(--with-python=`)p Fd(/path/to/p)o(ython)o +Fq(')36 b Fv(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 +Fi(P)-7 b(A)m(TH)t Fv(.)0 3577 y Fq(--with-user)o(name=)p +Fe(username-or-uid)40 b Fv(Specify)19 b(a)g(dif)n(ferent)f(username)g +(than)h Fl(mailman)p Fv(.)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 Fi(pr)m(e\002x)g Fv(directory)g(is)i +(o)n(wned)e(by)h(this)h(user)-5 b(.)0 3843 y Fq(--with-gr)o(oupname=)p +Fe(groupname-or-gid)37 b Fv(Specify)21 b(a)h(dif)n(ferent)e(groupname)f +(than)i Fl(mailman)p Fv(.)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 Fi(pr)m(e\002x)g +Fv(directory)g(is)i(group-o)n(wned)16 b(by)k(this)h(group.)0 +4108 y Fq(--with-mail-gid=)p Fe(group-or-groups)37 b +Fv(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 Fi(gr)l(oup-or)n(-) +208 4208 y(gr)l(oups)23 b Fv(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 Fv(,)f Fl(other)p Fv(,)f Fl(mail)p Fv(,)h(and)g +Fl(daemon)p Fv(.)208 4440 y Fq(Note:)85 b Fv(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 Fq(sendmail)p Fv(,)i(the)f(`)p +Fu(sendmail.cf)p Fv(')d(con\002guration)g(\002le)208 +4640 y(designates)f(the)g(group)f(id)i(of)f Fq(sendmail)h +Fv(processes)g(using)f(the)g Fi(DefaultUser)j Fv(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 Fq(--with-cgi-gid=)p Fe(group-or-groups)37 b Fv(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 Fi(gr)l(oup-or)n(-)208 5138 +y(gr)l(oups)23 b Fv(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 Fv(,)e Fl(www-data)p Fv(,)f(and)g Fl(nobody)p +Fv(.)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 Fq(Note:)47 b Fv(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 Fi(Gr)l(oup)g +Fv(option)e(in)j(your)e(`)p Fu(httpd.conf)p Fv(')e(\002le.)0 +581 y Fq(--with-cgi-ext=)p Fe(extension)38 b Fv(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 Fi(pr)m(e\002x)p +Fo(/cgi-bin)p Fv(')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 +Fi(e)n(xtension)d Fv(must)g(include)f(the)h(leading)f(dot.)0 +847 y Fq(--with-mailhost=)p Fe(hostname)39 b Fv(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 Fi(pr)m(e\002x)p Fo(/Mailman/mm)p 2308 946 46 +4 v 51 w(cfg.p)n(y)p Fv('.)0 1112 y Fq(--with-urlhost=)p +Fe(hostname)39 b Fv(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 Fi(pr)m(e\002x)p Fo(/Mailman/mm)p 1821 +1212 V 51 w(cfg.p)n(y)p Fv('.)0 1378 y Fq(--with-gcc=no)40 +b Fv(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 Fq(cc)f Fv(must)g(be)g(found)f(on)h(your)f +Fj($)p Fi(P)-7 b(A)m(TH)t Fv(.)0 1663 y Fn(3.2)100 b(Mak)n(e)28 +b(and)h(install)0 1866 y Fv(Once)20 b(you')l(v)o(e)e(run)h +Fq(con\002gur)o(e)p Fv(,)g(you)h(can)g(simply)f(run)h +Fq(mak)o(e)p Fv(,)g(then)g Fq(mak)o(e)h(install)f Fv(to)h(b)n(uild)e +(and)h(install)h(Mailman.)0 2193 y Fw(4)120 b(Chec)n(k)34 +b(y)n(our)f(installation)0 2426 y Fv(After)e(you')l(v)o(e)d(run)i +Fq(mak)o(e)i(install)p Fv(,)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)23 b(by)h(running)e(the)i Fq(check)p +1126 2526 V 51 w(perms)h Fv(script.)37 b(First)25 b(change)e(to)h(the)g +(installation)g(\(i.e.)37 b Fj($)p Fi(pr)m(e\002x)p Fv(\))23 +b(directory)-5 b(,)23 b(then)h(run)g(the)0 2625 y Fq(bin/check)p +346 2625 V 51 w(perms)j Fv(program.)41 b(Don')o(t)25 +b(try)h(to)h(run)e(bin/check)p 1883 2625 V 49 w(perms)h(from)f(the)h +(source)g(directory;)h(it)g(will)g(only)f(run)f(from)h(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)i(you)g(can)g(either)g(\002x)h(them)f(manually)-5 +b(,)20 b(re-run)g(the)i(installation,)f(or)h(use)f Fq(bin/check)p +2636 2972 V 51 w(perms)i Fv(to)f(\002x)f(the)h(problems)e(\(probably)0 +3071 y(the)g(easiest)h(solution\):)125 3301 y Fc(\017)41 +b Fv(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 Fi(pr)m(e\002x)p Fv(,)g(or)g(root.)125 3467 y +Fc(\017)41 b Fv(Run)20 b Fq(bin/check)p 713 3467 V 51 +w(perms)h(-f)125 3633 y Fc(\017)41 b Fv(Repeat)20 b(pre)n(vious)e(step) +j(until)f(no)g(more)f(errors)g(are)i(reported!)0 3961 +y Fw(5)120 b(Set)34 b(up)g(y)n(our)f(w)o(eb)i(ser)t(v)m(er)0 +4193 y Fv(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 4293 y(both)f(your)g(web)h(serv)o(er)g(and)f(your) +g(mail)i(system.)0 4440 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 +4540 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 Fu(Mailman/Loc)o(kFile)o(.p)n(y)p +Fv(';)0 4639 y(the)j(constant)g Fi(CLOCK)p 696 4639 V +52 w(SLOP)g Fv(helps)g(the)g(locking)f(mechanism)g(compensate)f(for)i +(clock)f(sk)o(e)n(w)i(in)f(this)h(type)f(of)g(en)m(vironment.)0 +4786 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 4886 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 4985 y(documentation)17 b(for)j(details.)0 +5132 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 Fi(pr)m(e\002x)p Fo(/cgi-bin)p Fv(')e(to)i(run)f(CGI)h(scripts.) +32 b(The)0 5232 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 Fi(pr)m(e\002x)p +Fv(,)0 5331 y(of)d(course:)p 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 416 174 a Fk(Exec)358 b(/mailman/*)267 +b($prefix/cgi-bin/*)0 442 y Fv(or:)416 680 y Fk(ScriptAlias)43 +b(/mailman/)312 b($prefix/cgi-bin/)p 0 927 3901 17 v +0 1218 17 292 v 75 1042 a Fq(W)-5 b(ar)o(ning:)65 b Fv(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 Fq(not)f +Fv(in)g(the)h Fl(mailman)75 1142 y Fv(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 1218 V 0 1234 3901 +17 v 0 1390 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 1489 +y(usually)20 b(got)f(an)i(`)p Fu(icons)p Fv(')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 +1727 y Fk(\045)44 b(cp)h($prefix/icons/*.{jpg,png})40 +b(/path/to/apache/icons)0 2018 y Fv(Y)-9 b(ou)24 b(then)g(w)o(ant)g(to) +h(add)f(a)g(line)h(to)g(your)e(`)p Fj($)p Fi(pr)m(e\002x)p +Fo(/Mailman/mm)p 1983 2018 46 4 v 51 w(cfg.p)n(y)p Fv(')g(\002le)i +(which)f(sets)i(the)e(base)h(URL)g(for)e(the)i(logos.)37 +b(F)o(or)0 2118 y(e)o(xample:)326 2356 y Fk(IMAGE_LOGOS)43 +b(=)i('/images/')0 2643 y Fv(The)20 b(def)o(ault)f(v)n(alue)h(for)f +Fi(IMA)m(GE)p 977 2643 V 50 w(LOGOS)i Fv(is)g(`)p Fu(/icons/)p +Fv('.)j(Read)c(the)h(comment)d(in)j(`)p Fu(Def)n(aults)o(.p)n(y)-7 +b(.in)p Fv(')15 b(for)20 b(details.)0 2790 y(Con\002gure)f(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 +3028 y Fk(Alias)133 b(/pipermail/)223 b($varprefix/archives/public/)0 +3318 y Fv(where)28 b Fj($)p Fi(varpr)m(e\002x)g Fv(is)i(usually)e +Fj($)p Fi(pr)m(e\002x)g Fv(unless)h(you')l(v)o(e)e(used)i(the)g +Fq(--with-v)o(ar)m(-pr)o(e\002x)d Fv(option)h(to)i Fq(con\002gur)o(e)p +Fv(.)51 b(Also)29 b(be)g(sure)f(to)0 3418 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 3518 y(accessible.)e(F)o(or)20 b(Apache)f(users,)h(consult)g +(the)g Fi(F)-9 b(ollowSymLinks)20 b Fv(option.)0 3664 +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 3764 +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 3864 y(e)o(xample)19 b(for)g(Apache,)g(based)h(on)g(the)g +(standard)f(installation)h(directories:)416 4102 y Fk(<Directory)43 +b("/usr/local/mailman/archives/public/")o(>)595 4193 +y(AddDefaultCharset)f(Off)416 4285 y(</Directory>)0 4571 +y Fv(No)n(w)20 b(restart)g(your)f(web)h(serv)o(er)-5 +b(.)0 4899 y Fw(6)120 b(Set)34 b(up)g(y)n(our)f(mail)g(ser)t(v)m(er)0 +5131 y Fv(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 5231 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 +5331 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)p 0 5549 3901 4 v 0 5649 +a Fo(6)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: 7 7 +TeXDict begin 7 6 bop 0 83 a Fv(de)n(v)o(elopers.)0 368 +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 571 y Fv(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 670 +y(Post\002x)d(v)o(ersions)g(up)f(to)i(and)e(including)g(Post\002x)h +(2.1.5.)0 817 y(By)k(def)o(ault,)e(Post\002x)i(treats)f +Fl(-owner)g Fv(and)g Fl(-request)f Fv(addresses)h(specially)-5 +b(.)33 b(Since)23 b(you)f(w)o(ant)h(Post\002x)h(to)f(deli)n(v)o(er)f +(such)h(mes-)0 917 y(sages)e(to)f(Mailman,)f(you)h(should)f(turn)g(of)n +(f)h(this)g(option)f(by)h(adding)f(this)i(to)f(your)f(`)p +Fu(main.cf)p Fv(')g(\002le:)416 1155 y Fk(owner_request_special)41 +b(=)k(no)0 1442 y Fv(In)27 b(order)f(to)i(support)e(Mailman')-5 +b(s)27 b(optional)f(VERP)i(deli)n(v)o(ery)-5 b(,)27 b(you)g(will)h(w)o +(ant)f(to)h(disable)f Fl(luser)p 3016 1442 46 4 v 50 +w(relay)g Fv(\(the)g(def)o(ault\))f(and)0 1541 y(you)32 +b(will)i(w)o(ant)f(to)g(set)h Fl(recipient)p 1194 1541 +V 49 w(delimiter)e Fv(for)g(e)o(xtended)f(address)i(semantics.)63 +b(Y)-9 b(ou)32 b(should)g(comment)g(out)g(an)o(y)0 1641 +y Fl(luser)p 255 1641 V 50 w(relay)20 b Fv(v)n(alue)f(in)h(your)f(`)p +Fu(main.cf)p Fv(')g(and)h(just)h(go)e(with)i(the)f(def)o(aults.)k +(Also,)d(add)e(this)i(to)f(your)f(`)p Fu(main.cf)p Fv(')g(\002le:)416 +1879 y Fk(recipient_delimiter)41 b(=)k(+)0 2166 y Fv(Using)e(`)p +Fl(+)p Fv(')g(as)i(the)e(delimiter)g(w)o(orks)g(well)h(with)f(the)h +(def)o(ault)e(v)n(alues)h(for)g Fi(VERP)p 2641 2166 V +50 w(FORMA)m(T)49 b Fv(and)43 b Fi(VERP)p 3433 2166 V +50 w(REGEXP)f Fv(in)0 2265 y(`)p Fu(Def)n(aults)o(.p)n(y)p +Fv('.)0 2412 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 +2512 y(is)j(a)g(transient)f(error)f(code,)h(Mailman)f(will)i(continue)e +(to)h(attempt)g(to)h(deli)n(v)o(er)e(the)h(message)g(for)g +Fi(DELIVER)o(Y)p 3263 2512 V 49 w(RETR)o(Y)p 3556 2512 +V 49 w(PERIOD)0 2611 y Fv(\226)h(5)g(days)g(by)g(def)o(ault.)35 +b(Y)-9 b(ou)24 b(might)f(w)o(ant)h(to)h(set)f(Post\002x)h(up)e(so)i +(that)f(it)h(returns)e(permanent)f(error)h(codes)g(for)h(non-e)o +(xistent)e(local)0 2711 y(users)e(by)g(adding)f(the)h(follo)n(wing)f +(to)h(your)f(`)p Fu(main.cf)p Fv(')g(\002le:)416 2949 +y Fk(unknown_local_recipient_reject_code)38 b(=)45 b(550)0 +3236 y Fv(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 3504 y Fo(Integ)o(r)o(ating)25 +b(P)l(ost\002x)d(and)h(Mailman)0 3707 y Fv(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 3807 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 +3953 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 Fu(/usr/local/mailman)p Fv('.)c(If)0 +4053 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 Fq(con\002gur)o(e)p +Fv(')-5 b(s)19 b Fq(--pr)o(e\002x)f Fv(and)h Fq(--with-v)o(ar)m(-pr)o +(e\002x)d Fv(options.)0 4200 y Fq(Note:)69 b Fv(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 4300 y(belo)n(w)c(\002rst!)125 4529 y Fc(\017)41 +b Fv(Add)19 b(this)i(to)f(the)h(bottom)e(of)g(the)i(`)p +Fj($)p Fi(pr)m(e\002x)p Fo(/Mailman/mm)p 1946 4529 V +51 w(cfg.p)n(y)p Fv(')e(\002le:)802 4754 y Fk(MTA)45 +b(=)f('Postfix')208 5117 y Fv(The)30 b(MT)-8 b(A)31 b(v)n(ariable)f +(names)h(a)g(module)f(in)h(the)g(`)p Fu(Mailman/MT)-9 +b(A)p Fv(')28 b(directory)h(which)i(contains)f(the)h(mail)g(serv)o(er)n +(-speci\002c)208 5217 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.)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(7)p eop end +%%Page: 8 8 +TeXDict begin 8 7 bop 125 83 a Fc(\017)41 b Fv(Look)20 +b(at)j(the)f(`)p Fu(Def)n(aults)o(.p)n(y)p Fv(')d(\002le)k(for)e(the)h +(v)n(ariables)f Fi(POSTFIX)p 2084 83 46 4 v 49 w(ALIAS)p +2351 83 V 50 w(CMD)i Fv(and)e Fi(POSTFIX)p 3079 83 V +49 w(MAP)p 3299 83 V 51 w(CMD)i Fv(command.)208 183 y(Mak)o(e)j(sure)h +(these)h(point)e(to)i(your)d Fq(postalias)i Fv(and)g +Fq(postmap)g Fv(programs)e(respecti)n(v)o(ely)-5 b(.)44 +b(Remember)26 b(that)h(if)h(you)e(need)g(to)208 282 y(mak)o(e)19 +b(changes,)g(do)h(it)h(in)f(`)p Fu(mm)p 1128 282 42 4 +v 46 w(cfg.p)n(y)p Fv('.)125 448 y Fc(\017)41 b Fv(Run)20 +b(the)g Fq(bin/genaliases)g Fv(script)h(to)f(initialize)g(your)f(`)p +Fu(aliases)p Fv(')g(\002le.)802 672 y Fk(\045)45 b(cd)g +(/usr/local/mailman)802 764 y(\045)g(bin/genaliases)208 +1128 y Fv(Mak)o(e)21 b(sure)h(that)f(the)h(o)n(wner)f(of)g(the)h(`)p +Fu(data/aliases)p Fv(')c(and)j(`)p Fu(data/aliases)o(.db)p +Fv(')c(\002le)22 b(is)h Fl(mailman)e Fv(and)g(that)h(the)g(group)e(o)n +(wner)208 1227 y(for)f(those)h(\002les)h(is)g Fl(mailman)p +Fv(,)f(or)g(whate)n(v)o(er)e(user)i(and)g(group)e(you)i(used)g(in)g +(the)g(con\002gure)e(command:)802 1360 y Fk(\045)45 b(su)802 +1451 y(\045)g(chown)f(mailman:mailman)e(data/aliases*)125 +1849 y Fc(\017)f Fv(Hack)19 b(your)g(Post\002x')-5 b(s)21 +b(`)p Fu(main.cf)p Fv(')e(\002le)i(to)f(include)g(the)g(follo)n(wing)e +(path)i(in)g(your)f Fi(alias)p 2730 1849 46 4 v 50 w(maps)h +Fv(v)n(ariable:)892 2073 y Fk(/usr/local/mailman/data/aliases)208 +2437 y Fv(Note)g(that)h(there)f(should)g(be)h(no)f(trailing)g +Fl(.db)p Fv(.)27 b(Do)20 b(not)h(include)e(this)j(in)f(your)e +Fi(alias)p 2712 2437 V 50 w(database)g Fv(v)n(ariable.)26 +b(This)21 b(is)g(because)208 2536 y(you)f(do)h(not)g(w)o(ant)g +(Post\002x')-5 b(s)22 b Fq(newaliases)g Fv(command)d(to)j(modify)e +(Mailman')-5 b(s)21 b(`)p Fu(aliases)o(.db)p Fv(')d(\002le,)k(b)n(ut)f +(you)g(do)g(w)o(ant)g(Post\002x)208 2636 y(to)f(consult)g(`)p +Fu(aliases)o(.db)p Fv(')d(when)i(looking)g(for)g(local)i(addresses.)208 +2769 y(Y)-9 b(ou)19 b(probably)f(w)o(ant)i(to)h(use)f(a)h +Fl(hash:)k Fv(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 2993 +y Fk(alias_maps)44 b(=)g(hash:/etc/postfix/aliases,)982 +3084 y(hash:/usr/local/mailman/data/aliases)125 3482 +y Fc(\017)d Fv(When)26 b(you)f(con\002gure)f(Mailman,)j(use)g(the)f +Fq(--with-mail-gid=mailman)e Fv(switch;)30 b(this)d(will)g(be)f(the)g +(def)o(ault)g(if)g(you)f(con-)208 3582 y(\002gured)g(Mailman)i(after)f +(adding)g(the)h Fl(mailman)f Fv(o)n(wner)-5 b(.)45 b(Because)27 +b(the)g(o)n(wner)f(of)h(the)g(`)p Fu(aliases)o(.db)p +Fv(')d(\002le)k(is)g Fl(mailman)p Fv(,)208 3681 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 Fv(.)0 3911 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 +Fu(aliases)o(.db)p Fv(')e(\002le)j(will)g(updated,)e(b)n(ut)i(it)g +(will)g(not)f(automatically)0 4011 y(run)c Fq(post\002x)g(r)o(eload)p +Fv(.)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 4110 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 Fu(aliases)o(.db)p Fv(')d(\002le)k(and)f +(update)f(its)i(tables.)0 4379 y Fo(Vir)s(tual)k(domains)0 +4582 y Fv(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 +4681 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 +4781 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 +Fu(/usr/local/mailman/data/vir)s(t)o(ual)o(-)0 4880 y(mailman)p +Fv('.)c(It)e(will)g(also)f(use)h Fq(postmap)f Fv(to)g(create)g(the)g +Fq(virtual-mailman.db)f Fv(\002le)i(that)g(Post\002x)f(will)h(actually) +f(use.)0 5027 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 +5127 y Fl(virtual\(5\))18 b Fv(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 5227 y Fv(line)18 +b(as)g(described)f(manpage;)f(Mailman)h(will)i(not)e(include)g(this)h +(line)g(in)g(`)p Fu(vir)s(tual-mailman)p Fv('.)i(Y)-9 +b(ou)17 b(are)h(highly)e(encouraged)f(to)j(mak)o(e)0 +5326 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.)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 Fv(Ne)o(xt,)20 b(add)f(a)i(path)f(to)g +(Post\002x')-5 b(s)21 b Fi(virtual)p 1183 83 46 4 v 50 +w(alias)p 1395 83 V 50 w(maps)f Fv(v)n(ariable,)f(pointing)f(to)j(the)f +(virtual-mailman)e(\002le,)i(e.g.:)416 321 y Fk(virtual_alias_maps)41 +b(=)k(<your)f(normal)g(virtual)f(alias)h(files>,)595 +413 y(hash:/usr/local/mailman/data/virtual-m)o(ailman)0 +699 y Fv(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 799 +y(ha)n(v)o(e)e(the)g Fi(virtual)p 524 799 V 50 w(alias)p +736 799 V 50 w(maps)g Fv(v)n(ariable,)f(use)h(the)g Fi(virtual)p +1764 799 V 51 w(maps)g Fv(v)n(ariable)f(instead.)0 946 +y(Ne)o(xt,)j(in)h(your)e(`)p Fu(mm)p 623 946 42 4 v 45 +w(cfg.p)n(y)p Fv(')h(\002le,)h(you)f(will)h(w)o(ant)f(to)h(set)g(the)f +(v)n(ariable)f Fi(POSTFIX)p 2494 946 46 4 v 49 w(STYLE)p +2774 946 V 51 w(VIRTU)m(AL)p 3155 946 V 49 w(DOMAINS)i +Fv(to)f(the)g(list)0 1045 y(of)27 b(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 +1145 y(installation)d(supports!)33 b(The)22 b(v)n(alues)h(in)h(this)f +(list)i(will)f(be)f(matched)f(against)g(the)i Fi(host)p +2569 1145 V 50 w(name)e Fv(attrib)n(ute)h(of)g(mailing)f(lists)j +(objects,)0 1244 y(and)20 b(must)g(be)g(an)g(e)o(xact)g(match.)0 +1391 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 Fv(,)j Fl(dom2.ain)p Fv(,)g(and)0 +1491 y Fl(dom3.ain)p Fv(,)19 b(and)h(further)e(that)j(in)f(your)f(`)p +Fu(main.cf)p Fv(')g(\002le)i(you')l(v)o(e)d(got)h(the)i(follo)n(wing)d +(settings:)416 1638 y Fk(myhostname)43 b(=)h(mail.dom1.ain)416 +1729 y(mydomain)f(=)i(dom1.ain)416 1820 y(mydestination)d(=)j +($myhostname,)e(localhost.$mydomain)416 1912 y(virtual_alias_maps)e(=) +595 2003 y(hash:/some/path/to/virtual-dom1,)595 2094 +y(hash:/some/path/to/virtual-dom2,)595 2186 y +(hash:/some/path/to/virtual-dom2)0 2472 y Fv(If)20 b(in)g(your)f(`)p +Fu(vir)s(tual-dom1)p Fv(')e(\002le,)k(you')l(v)o(e)d(got)i(the)g(follo) +n(wing)f(lines:)416 2619 y Fk(dom1.ain)88 b(IGNORE)416 +2710 y(@dom1.ain)43 b(@mail.dom1.ain)0 2997 y Fv(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 Fv(to)h(the)g(same)g(mailbox)f(at)h +Fl(mail.dom1.com)p Fv(,)f(its)i(def)o(ault)0 3097 y(destination.)0 +3243 y(In)20 b(this)h(case)f(you)g(w)o(ould)f(not)h(include)f +Fl(dom1.ain)g Fv(in)i Fi(POSTFIX)p 1998 3243 V 49 w(STYLE)p +2278 3243 V 50 w(VIRTU)m(AL)p 2658 3243 V 50 w(DOMAINS)f +Fv(because)g(otherwise)g(Mail-)0 3343 y(man)g(will)h(write)f(entries)g +(for)g(mailing)f(lists)j(in)e(the)g(dom1.ain)e(domain)h(as)416 +3581 y Fk(mylist@dom1.ain)401 b(mylist)416 3673 y +(mylist-request@dom1.ain)41 b(mylist-request)416 3764 +y(#)j(and)h(so)f(on...)0 4050 y Fv(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 Fv(mailing)f(list.) +0 4197 y(Ho)n(we)n(v)o(er)m(,)f(you)h(w)o(ould)h(include)f +Fl(dom2.ain)g Fv(and)h Fl(dom3.ain)f Fv(in)i(`)p Fu(mm)p +2196 4197 42 4 v 45 w(cfg.p)n(y)p Fv(':)416 4436 y Fk +(POSTFIX_STYLE_VIRTUAL_DOMAINS)40 b(=)k(['dom2.ain',)f('dom3.ain'])0 +4722 y Fv(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 4822 +y(`)p Fu(/usr/local/mailman/data/vir)r(tua)o(l-mai)o(lma)o(n)p +Fv('.)0 4969 y(As)34 b(abo)o(v)o(e)e(with)h(the)g(`)p +Fu(data/aliases*)p Fv(')d(\002les,)37 b(you)32 b(w)o(ant)i(to)f(mak)o +(e)g(sure)g(that)g(both)g(`)p Fu(data/vir)s(tual-mailman)p +Fv(')27 b(and)33 b(`)p Fu(data/vir)s(tual-)0 5068 y(mailman.db)p +Fv(')18 b(are)i(user)g(and)f(group)g(o)n(wned)g(by)h +Fl(mailman)p Fv(.)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 0 83 a Fo(An)24 b(alter)r(nativ)n(e)g(approach)0 +286 y Fv(Fil)d Fu(\002l@rez)o(o)m(.net)d Fv(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 516 y Fc(\017)41 +b Fv(\(French\))18 b Fu(http://listes)o(.rez)o(o)m(.net/comment.p)o(hp) +125 682 y Fc(\017)41 b Fv(\(English\))18 b Fu(http://listes)o(.rez)o(o) +m(.net/ho)o(w)-5 b(.p)o(hp)0 912 y Fv(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 +1011 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 Fv(instead)i(of)0 1111 y Fl(mylist@dom.ain)p +Fv(.)0 1396 y Fn(6.2)100 b(Using)28 b(the)h(Exim)f(mail)g(ser)s(v)n(er) +0 1599 y Fq(Note:)70 b Fv(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 1698 +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 +1798 y(here:)k Fu(http://www)l(.e)n(xim.org/ho)o(wt)o(o/mai)o(lman)o +(.h)o(tml)-6 b Fv(.)0 1945 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 +2045 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 2144 y(in)d(the)h(con\002g)e +(fragments)g(gi)n(v)o(en)g(belo)n(w)-5 b(.)0 2412 y Fo(Exim)24 +b(con\002gur)o(ation)0 2615 y Fv(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 +2715 y(for)f(de\002ning)e(an)o(y)i(additional)f(aliases.)0 +2862 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 2962 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 3061 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 +3161 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 3308 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 3407 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 +3507 y(then)e(you')o(ll)f(need)g(to:)125 3737 y Fc(\017)41 +b Fv(add)19 b(the)h(list)i(domain,)c(\223my)-5 b(.list.domain\224)18 +b(to)i Fi(local)p 1728 3737 46 4 v 50 w(domains)125 3903 +y Fc(\017)41 b Fv(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 +4069 y Fc(\017)41 b Fv(\(optional\))18 b(e)o(xclude)g(that)j(domain)e +(from)g(your)g(other)g(directors)g(\(routers\))0 4299 +y Fq(Note:)74 b Fv(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 4398 +y Fi(local)p 172 4398 V 50 w(domains)c Fv(con\002guration)e(setting;)k +(in)g(Exim)e(4,)i(you)e(most)h(lik)o(ely)g(ha)n(v)o(e)g(a)h +Fi(local)p 2581 4398 V 49 w(domains)e Fv(domainlist.)30 +b(If)22 b(you)g(don')o(t,)e(you)0 4498 y(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 4598 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 4697 y(\223router\224.)0 +4844 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 4944 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 5043 +y(ne)n(w)d(router)f(plays)h(the)g(same)h(role.)0 5190 +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 5290 y(that)d(you')o(ll)g(probably)d(w)o +(ant)k(to)f(use)h Fl(mm21)f Fv(in)g(place)g(of)g Fl(mailman)f +Fv(\226)h(e.g.,)g Fi(MM21)p 2489 5290 V 50 w(HOME)r Fv(,)g +Fi(mm21)p 3026 5290 V 50 w(tr)o(ansport)q Fv(,)f(etc.)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 Fo(Main)24 b(con\002gur)o(ation)g +(settings)0 286 y Fv(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 +386 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 624 y Fk(#)44 b(Home)g(dir)h(for)f(your)g(Mailman)g +(installation)f(--)h(aka)g(Mailman's)g(prefix)416 715 +y(#)g(directory.)416 806 y(MAILMAN_HOME=/usr/local/mailman)416 +898 y(MAILMAN_WRAP=MAILMAN_HOME/mail/mailm)o(an)416 1080 +y(#)g(User)g(and)h(group)f(for)g(Mailman,)g(should)f(match)h(your)g +(--with-mail-gid)416 1172 y(#)g(switch)g(to)h(Mailman's)e(configure)g +(script.)416 1263 y(MAILMAN_USER=mailman)416 1354 y +(MAILMAN_GROUP=mailman)0 1766 y Fo(T)-10 b(r)o(anspor)s(t)23 +b(f)n(or)f(Exim)i(3)0 1969 y Fv(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 +2207 y Fk(mailman_transport:)416 2299 y(driver)43 b(=)i(pipe)416 +2390 y(command)e(=)i(MAILMAN_WRAP)e(\\)864 2481 y('${if)h +(def:local_part_suffix)d(\\)1133 2573 y +({${sg{$local_part_suffix}{-\(\\\\w+\)\(\\\\+.)o(*\)?}{\\)o($1}}})d(\\) +1133 2664 y({post}}')43 b(\\)864 2755 y($local_part)416 +2847 y(current_directory)f(=)i(MAILMAN_HOME)416 2938 +y(home_directory)e(=)j(MAILMAN_HOME)416 3029 y(user)f(=)g(MAILMAN_USER) +416 3121 y(group)g(=)g(MAILMAN_GROUP)0 3533 y Fo(Director)23 +b(f)n(or)f(Exim)i(3)0 3736 y Fv(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 +3835 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 3935 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.)326 4173 y 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 4264 +y(#)h(Automatically)d(detects)i(list)g(existence)f(by)i(looking)326 +4356 y(#)g(for)f(lists/$local_part/config.pck)c(under)k(MAILMAN_HOME.) +326 4447 y(mailman_director:)416 4538 y(driver)f(=)i(smartuser)416 +4630 y(require_files)d(=)j(MAILMAN_HOME/lists/$local_part/config.)o +(pck)416 4721 y(suffix_optional)416 4812 y(suffix)e(=)i(-bounces)f(:)g +(-bounces+*)f(:)i(\\)819 4904 y(-confirm+*)e(:)i(-join)f(:)h(-leave)e +(:)i(\\)819 4995 y(-owner)f(:)h(-request)e(:)i(-admin)416 +5086 y(transport)e(=)i(mailman_transport)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 0 83 a Fo(Router)23 b(f)n(or)g(Exim)g(4)0 +286 y Fv(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 +386 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 485 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 723 y Fk(mailman_router:)416 815 y(driver)43 b(=)i(accept)416 +906 y(require_files)d(=)j(MAILMAN_HOME/lists/$local_part/config.)o(pck) +416 997 y(local_part_suffix_optional)416 1089 y(local_part_suffix)d(=)i +(-bounces)g(:)g(-bounces+*)f(:)i(\\)1312 1180 y(-confirm+*)e(:)i(-join) +f(:)h(-leave)e(:)i(\\)1312 1271 y(-owner)f(:)h(-request)e(:)i(-admin) +416 1363 y(transport)e(=)i(mailman_transport)0 1775 y +Fo(T)-10 b(r)o(anspor)s(ts)22 b(f)n(or)h(Exim)g(4)0 1978 +y Fv(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 2077 +y(the)f(\223be)o(gin)f(transports\224)g(line)h(of)g(your)f(Exim)h +(con\002g)f(\002le.)0 2345 y Fo(Additional)26 b(notes)0 +2548 y Fv(Exim)f(should)f(be)i(con\002gured)d(to)i(allo)n(w)h +(reasonable)e(v)n(olume)g(\226)i(e.g.)40 b(don')o(t)24 +b(set)i Fi(max)p 2583 2548 46 4 v 50 w(r)m(ecipients)f +Fv(do)n(wn)f(to)i(a)g(silly)g(v)n(alue)f(\226)g(and)0 +2648 y(with)c(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 +2748 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 2847 +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 2947 y(of)j(mail)g(when)g(some)g +(random)e(host)i(is)i(do)n(wn.)0 3215 y Fo(Prob)n(lems)125 +3404 y Fc(\017)41 b Fv(Mailman)18 b(will)j(send)e(as)h(man)o(y)f +Fl(MAIL)49 b(FROM)p Fv(/)p Fl(RCPT)f(TO)20 b Fv(as)g(it)g(needs.)25 +b(It)19 b(may)g(result)h(in)g(more)e(than)h(10)h(or)f(100)f(messages) +208 3504 y(sent)30 b(in)f(one)g(connection,)h(which)f(will)i(e)o(xceed) +d(the)i(def)o(ault)f(v)n(alue)g(of)g(Exim')-5 b(s)30 +b Fi(smtp)p 2813 3504 V 50 w(accept)p 3081 3504 V 49 +w(queue)p 3330 3504 V 49 w(per)p 3490 3504 V 51 w(connection)208 +3603 y Fv(v)n(alue.)67 b(This)34 b(is)i(bad)e(because)g(it)h(will)g +(cause)f(Exim)g(to)h(switch)g(into)f(queue)f(mode)h(and)g(se)n(v)o +(erely)f(delay)h(deli)n(v)o(ery)f(of)208 3703 y(your)28 +b(list)i(messages.)53 b(The)30 b(w)o(ay)f(to)h(\002x)f(this)h(is)h(to)f +(set)g(Mailman')-5 b(s)29 b Fi(SMTP)p 2499 3703 V 50 +w(MAX)p 2720 3703 V 51 w(SESSIONS)p 3133 3703 V 48 w(PER)p +3334 3703 V 50 w(CONNECTION)208 3803 y Fv(\(in)20 b(`)p +Fj($)p Fi(pr)m(e\002x)p Fo(/Mailman/mm)p 1079 3803 V +51 w(cfg.p)n(y)p Fv('\))f(to)h(a)h(smaller)f(v)n(alue)f(than)h(Exim')-5 +b(s)20 b Fi(smtp)p 2608 3803 V 51 w(accept)p 2877 3803 +V 49 w(queue)p 3126 3803 V 49 w(per)p 3286 3803 V 50 +w(connection)p Fv(.)125 3969 y Fc(\017)41 b Fv(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 4068 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 4168 y(rates.)125 +4334 y Fc(\017)41 b Fv(List)20 b(e)o(xistence)f(is)i(determined)d(by)i +(the)g(e)o(xistence)f(of)h(a)g(`)p Fu(con\002g.pc)o(k)p +Fv(')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 4433 y(a)o(w)o(are)f(of)h(this.)125 +4600 y Fc(\017)41 b Fv(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 4699 y Fi(MAILMAN)p +582 4699 V 50 w(USER)16 b Fv(and)f Fi(MAILMAN)p 1357 +4699 V 51 w(GR)m(OUP)g Fv(match)g(those)h(of)g(Mailman)f(itself)i +(\(i.e.)23 b(what)16 b(were)g(used)f(in)h(the)g Fq(con\002gur)o(e)208 +4799 y Fv(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 5067 y Fo(Receiv)n(er)j(V)-7 b(er)q(i\002cation)0 +5270 y Fv(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 5370 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)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 0 83 a Fv(list)19 b(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 183 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 +282 y(and)20 b(don')o(t)e(tweak)i Fi(SMTP)p 767 282 46 +4 v 50 w(MAX)p 988 282 V 51 w(RCPTS)q Fv(.)0 429 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 +529 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 628 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 728 y(for)f(Mailman)f(traf)n(\002c.)0 +875 y(Under)g(Exim)h(3,)g(put)g(this)g(in)h(your)e(main)h +(con\002guration)d(section:)416 1113 y Fk(receiver_verify_hosts)41 +b(=)k(!127.0.0.1)0 1400 y Fv(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 1499 y(the)c Fl(RCPT)49 b(TO)21 b Fv(A)m(CL\):)326 +1737 y Fk(accept)89 b(domains)312 b(=)45 b(+local_domains)685 +1829 y(endpass)685 1920 y(message)312 b(=)45 b(unknown)f(user)685 +2011 y(verify)357 b(=)45 b(recipient)0 2298 y Fv(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 2398 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 +2664 y Fo(SMTP)24 b(Callbac)n(k)0 2867 y Fv(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 2967 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 +3066 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 3166 y(sender)19 +b(for)h(bounces\).)0 3313 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 +3413 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 3512 y(on)g(bounce)e(messages.)0 +3659 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 Fv(A)m(CL:)326 3897 y 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 3989 y(warn)223 b(message)268 b(=)45 b +(X-WhitelistedRCPT-nohdrfromcallback:)39 b(Yes)729 4080 +y(condition)178 b(=)45 b(\\)729 4171 y(${if)g(and)f +({{match{$local_part}{\(.*\)-bounces\\+.*})o(})39 b(\\)1178 +4263 y({exists)k({MAILMAN_HOME/lists/$1/config.pck}}})c(\\)954 +4354 y({yes}{no}})954 4445 y({yes}{no}})326 4628 y(accept)133 +b(condition)178 b(=)45 b(\\)729 4719 y(${if)g(and)f +({{match{$local_part}{\(.*\)-bounces\\+.*})o(})39 b(\\)1178 +4811 y({exists)k({MAILMAN_HOME/lists/$1/config.pck}}})c(\\)954 +4902 y({yes}{no}})954 4993 y({yes}{no}})326 5176 y(#)45 +b(Now,)f(check)g(sender)g(address)f(with)h(SMTP)g(callback.)326 +5267 y(deny)134 b(!verify)43 b(=)i(sender/callout=90s)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 0 83 a Fv(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 Fv(A)m(CL:)326 +321 y Fk(deny)134 b(!condition)43 b(=)i +($header_X-WhitelistedRCPT-nohdrfromc)o(allbac)o(k:)640 +413 y(!verify)e(=)i(header_sender/callout=90s)0 824 y +Fo(Doing)24 b(VERP)g(with)g(Exim)f(and)h(Mailman)0 1027 +y Fv(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 1126 y(information)18 +b(in)j(`)p Fj($)p Fi(pr)m(e\002x)p Fo(/Mailman/Def)n(ault.p)n(y)p +Fv(')g(for)f(the)h(options)f(that)h(start)g(with)g(VERP)-9 +b(.)21 b(In)g(a)g(nutshell,)f(all)h(you)f(need)g(to)h(do)f(to)0 +1226 y(enable)f(VERP)i(with)g(Exim)e(is)j(to)e(add)g(these)g(lines)g +(to)h(`)p Fj($)p Fi(pr)m(e\002x)p Fo(/Mailman/mm)p 2354 +1226 46 4 v 51 w(cfg.p)n(y)p Fv(':)416 1464 y Fk +(VERP_PASSWORD_REMINDERS)41 b(=)j(Yes)416 1556 y +(VERP_PERSONALIZED_DELIVERIES)c(=)k(Yes)416 1647 y +(VERP_DELIVERY_INTERVAL)d(=)j(Yes)416 1738 y(VERP_CONFIRMATIONS)d(=)k +(Yes)0 2025 y Fv(\(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 +2293 y Fo(Vir)s(tual)k(Domains)0 2496 y Fv(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 2596 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 2742 +y(In)f(this)h(case,)g(the)g Fi(MAILMAN)p 909 2742 V 50 +w(HOME)i Fv(and)d Fi(MAILMAN)p 1730 2742 V 51 w(WRAP)g +Fv(macros)g(are)g(useless)i(\226)e(you)g(can)g(remo)o(v)o(e)f(them.)24 +b(Change)19 b(your)0 2842 y(director)g(\(router\))f(to)j(something)d +(lik)o(e)j(this:)326 3080 y Fk(require_files)43 b(=)h +(/virtual/${domain}/mailman/lists/${lc:$l)o(ocal_p)o(art}/c)o(onfig.)o +(pck)0 3367 y Fv(and)20 b(change)f(your)f(transport)h(lik)o(e)i(this:) +326 3605 y Fk(command)44 b(=)g(/virtual/${domain}/mailman/mail/mailman) +38 b(\\)774 3696 y(${if)44 b(def:local_part_suffix)e(\\)998 +3788 y({${sg{$local_part_suffix}{-\(\\\\w+\)\(\\\\+.*\)?)o(}{\\$1})o +(}})998 3879 y({post}})i(\\)864 3970 y($local_part)326 +4062 y(current_directory)e(=)j(/virtual/${domain}/mailman)326 +4153 y(home_directory)d(=)j(/virtual/${domain}/mailman)0 +4565 y Fo(List)23 b(V)-7 b(er)q(i\002cation)0 4768 y +Fv(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 Fu(quixote-)0 +4867 y(users@mems-e)n(xchange)o(.org)p Fv(,)22 b(and)j(these)g +(commands)e(were)i(run)f(on)g(the)h Fl(mems-exchange.org)d +Fv(mail)j(serv)o(er)f(\(\224indicates)0 4967 y(the)c(Unix)g(shell)h +(prompt\):)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(\045)45 b(exim)f(-bt)g +(quixote-users)326 266 y(quixote-users@mems-exchange.org)416 +357 y(router)f(=)i(mailman_main_router,)d(transport)h(=)h +(mailman_transport)326 540 y(\045)h(exim)f(-bt)g(quixote-users-request) +326 631 y(quixote-users-request@mems-exchange.or)o(g)416 +722 y(router)f(=)i(mailman_router,)d(transport)i(=)g(mailman_transport) +326 905 y(\045)h(exim)f(-bt)g(quixote-users-bounces)326 +996 y(quixote-users-bounces@mems-exchange.or)o(g)416 +1088 y(router)f(=)i(mailman_router,)d(transport)i(=)g +(mailman_transport)326 1270 y(\045)h(exim)f(-bt)g +(quixote-users-bounces+luser=example.com)326 1362 y +(quixote-users-bounces+luser=example.co)o(m@mems)o(-excha)o(nge.or)o(g) +416 1453 y(router)f(=)i(mailman_router,)d(transport)i(=)g +(mailman_transport)0 1740 y Fv(If)21 b(your)e Fq(exim)i(-bt)g +Fv(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 1840 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 1939 y(though!)0 2207 y Fo(Document)23 b(Histor)r(y)0 +2410 y Fv(Originally)h(written)h(by)g(Nigel)g(Metheringham)e +Fu(postmaster@e)n(xim.org)p Fv(.)38 b(Updated)24 b(by)h(Marc)g(Merlin)g +Fu(marc)p 3293 2410 42 4 v 45 w(soft@mer)q(lins)o(.org)0 +2509 y Fv(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 Fu(gw)o(ard@p)n(ython.net)p +Fv(.)0 2793 y Fn(6.3)100 b(Using)28 b(the)h(Sendmail)h(mail)e(ser)s(v)n +(er)p 0 2944 3901 17 v 0 3787 17 844 v 75 3059 a Fq(W)-5 +b(ar)o(ning:)97 b Fv(Y)-9 b(ou)32 b(may)f(be)h(tempted)f(to)i(set)f +(the)h Fi(DELIVER)o(Y)p 2011 3059 46 4 v 49 w(MODULE)h +Fv(con\002guration)29 b(v)n(ariable)i(in)i(`)p Fu(mm)p +3462 3059 42 4 v 45 w(cfg.p)n(y)p Fv(')f(to)75 3158 y +Fl('Sendmail')18 b Fv(when)i(using)f(the)h(Sendmail)f(mail)h(serv)o(er) +-5 b(.)25 b Fq(Don't)p Fv(.)f(The)19 b(`)p Fu(Sendmail.p)n(y)p +Fv(')e(module)i(is)h(misnamed)f(\226)h(it')-5 b(s)21 +b(really)75 3258 y(a)k(command)e(line)i(based)f(message)h(handof)n(f)e +(scheme)h(as)i(opposed)d(to)i(the)g(SMTP)g(scheme)g(used)f(in)h(`)p +Fu(SMTPDirect.p)n(y)p Fv(')e(\(the)75 3358 y(def)o(ault\).)31 +b(`)p Fu(Sendmail.p)n(y)p Fv(')19 b(has)k(kno)n(wn)e(security)h(holes)h +(and)f(is)h(pro)o(vided)d(as)k(a)f(proof-of-concept)18 +b(only)3165 3328 y Fb(a)3196 3358 y Fv(.)33 b(If)23 b(you)e(are)i(ha)n +(ving)75 3457 y(problems)i(using)i(`)p Fu(SMTPDirect.p)n(y)p +Fv(')e(\002x)j(those)f(instead)g(of)g(using)f(`)p Fu(Sendmail.p)n(y)p +Fv(',)g(or)g(you)h(may)f(open)h(your)f(system)h(up)g(to)75 +3557 y(security)19 b(e)o(xploits.)p 75 3628 1501 4 v +165 3681 a Fa(a)194 3705 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 +3787 17 844 v 0 3803 3901 17 v 0 4079 a Fo(Sendmail)25 +b(\223smrsh\224)c(compatibility)0 4282 y Fv(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 4382 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 4481 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 4581 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 4728 y(One)h(good)f(w)o(ay)h(of) +g(enabling)f(this)h(is:)125 4953 y Fc(\017)41 b Fv(Find)20 +b(out)f(where)h(your)f(Sendmail)g(e)o(x)o(ecutes)g(its)j(smrsh)e +(wrapper)982 5176 y Fk(\045)44 b(grep)h(smrsh)f(/etc/mail/sendmail.cf)p +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 125 83 a Fc(\017)41 b Fv(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 183 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 Fu(/v)n(ar/adm/sm.bin) +p Fv(')17 b(or)j(similar:)982 407 y Fk(\045)44 b(strings)g +($path_to_smrsh)f(|)h(less)125 804 y Fc(\017)d Fv(cd)20 +b(into)g(`)p Fu(/v)n(ar/adm/sm.bin)p Fv(',)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 Fu(/etc/smrsh)p Fv(',)208 903 +y(`)p Fu(/v)n(ar/smrsh)p Fv(')g(and)h(`)p Fu(/usr/local/smrsh)p +Fv('.)982 1128 y Fk(\045)44 b(cd)h(/var/adm/sm.bin)125 +1525 y Fc(\017)c Fv(Create)20 b(a)h(symbolic)e(link)h(to)g(Mailman')-5 +b(s)20 b(wrapper)f(program:)982 1749 y Fk(\045)44 b(ln)h(-s)f +(/usr/local/mailman/mail/mailman)c(mailman)0 2253 y Fo(Integ)o(r)o +(ating)25 b(Sendmail)g(and)e(Mailman)0 2456 y Fv(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 +2555 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 2655 y(tables.)0 +2802 y(In)g(the)g(`)p Fu(contr)q(ib)p Fv(')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 3032 y Fc(\017)41 b Fv(`)p Fu(mm-handler)l(.readme)p +Fv(')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 3198 y Fc(\017)41 b Fv(`)p Fu(mm-handler)p +Fv(')17 b(-)k(the)f(mail)g(deli)n(v)o(ery)f(agent)g(\(MD)m(A\))125 +3364 y Fc(\017)41 b Fv(`)p Fu(mailman.mc)p Fv(')18 b(-)j(a)f(to)o(y)g +(con\002guration)e(\002le)j(sample)125 3530 y Fc(\017)41 +b Fv(`)p Fu(vir)s(tuser)s(tab)o(le)p Fv(')16 b(-)k(a)h(sample)f(for)g +(RFC)h(2142)e(address)h(e)o(xceptions)0 3798 y Fo(P)l(erf)n(or)r(mance) +j(notes)0 4001 y Fv(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 4100 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 4200 y(Since)f(Mailman)f(usually)g(connects)f(via)i +Fl(localhost)e Fv(\(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 4300 y(to)e(con\002gure)f +(Sendmail)g(to)h Fq(not)g Fv(do)g(DNS)h(v)o(eri\002cation)e +(synchronously)e(for)i(localhost)h(connections.)0 4585 +y Fn(6.4)100 b(Using)28 b(the)h(Qmail)e(mail)i(ser)s(v)n(er)0 +4788 y Fv(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 4887 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 4987 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 +5217 y Fc(\017)41 b Fv(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 Fv(,)g Fl(mailman)p +Fv(,)g(or)g Fl(nofiles)f Fv(by)h(using)g(the)g Fq(--with-mail-gid)208 +5316 y(con\002gur)o(e)h Fv(option.)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 208 83 a Fi(BN:)21 b Fv(it)h(highly)e(depends)g +(on)h(your)f(mail)i(storing)e(polic)o(y)-5 b(.)27 b(F)o(or)21 +b(e)o(xample)f(if)i(you)e(use)i(the)f(simple)g(`)h Fu(alias/.qmail-*)p +Fv(')c(\002les,)k(you)208 183 y(can)e(use)g Fq(`id)h(-g)f(alias`)p +Fv(.)k(But)d(if)f(you)g(use)g(`)p Fu(/v)n(ar/qmail/users)p +Fv(',)d(the)j(speci\002ed)g(mail)h(gid)f(can)g(be)g(used.)208 +315 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 Fv(user)i(\(using)f +(\223virtualdomains\224)e(on)i(a)208 415 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 +Fq(--with-mail-gid)p Fv(=)p Fi(gid)e(of)i(mailman)g(user')m(s)g(gr)l +(oup)p Fv(.)52 b(This)30 b(is)208 515 y(incompatible)18 +b(with)i(ha)n(ving)f(list)j(aliases)f(in)f(`)g Fu(alias)p +Fv(',)f(unless)i(that)f(alias)h(simply)f(forw)o(ards)f(to)h +Fl(mailman-listname*)p Fv(.)125 681 y Fc(\017)41 b Fv(If)26 +b(there)f(is)j(a)e(user)g Fl(mailman)g Fv(on)g(your)f(system,)i(the)g +(alias)f Fl(mailman-owner)f Fv(will)i(w)o(ork)e(only)h(in)g(`)h +Fu(mailman)p Fv('.)41 b(Y)-9 b(ou)208 780 y(ha)n(v)o(e)19 +b(to)h(do)g(a)h Fq(touch)f(.qmail-o)o(wner)g Fv(in)g(`)g +Fu(mailman)p Fv(')f(directory)g(to)h(create)g(this)h(alias.)208 +913 y Fi(NB:)26 b Fv(An)g(alternati)n(v)o(e,)f(IMHO)h(better)f +(solution)g(is)i(to)f Fq(cho)o(wn)g(r)o(oot)51 b(mailman)p +Fv(,)27 b(that)f(will)h(stop)e(qmail)h(from)f(considering)208 +1013 y Fl(mailman)19 b Fv(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 +1179 y Fc(\017)41 b Fv(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 +1279 y(if)30 b(list)i(names)e(contain)f(`)p Fl(-)p Fv(')h(in)g(them.)55 +b(Putting)30 b(`)p Fu(.qmail)p Fv(')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 +1378 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 1478 y(lines)d(in)g(the)h(`)p +Fu(/v)n(ar/qmail/users/assign)p Fv(')16 b(\002le:)533 +1702 y Fk(+zope-:alias:112:11:/var/qmail/alias:-:zop)o(e-:)533 +1793 y(.)208 2066 y Fv(where)j(in)h(this)h(case)g(the)f(listname)g(is)h +(e.g.)k Fl(zope-users)p Fv(.)208 2199 y Fi(NB:)g Fv(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 Fu(/v)n(ar/qmail/control/vir)s(tualdo) +o(mai)o(ns)p Fv(')208 2298 y(\002le)20 b(to)h(put)f(the)g +Fl(mailman)f Fv(user)h(in)h(char)o(ge)d(of)i(this)h(virtual)e(domain.) +125 2464 y Fc(\017)41 b Fi(BN:)p Fv(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 +Fv(,)j(it')-5 b(s)34 b(necessary)e(to)g(allo)n(w)h(it)g(to)g(access)208 +2564 y(`)21 b Fu(mailman)p Fv('.)28 b(Be)23 b(sure)e(that)h(`)g +Fu(mailman)p Fv(')e(has)i(group)e(writing)h(access)i(and)e(setgid)g +(bit)h(is)h(set.)30 b(Then)21 b(put)g(the)h(deli)n(v)o(ering)e(user)208 +2664 y(to)f Fl(mailman)g Fv(group,)e(and)i(you)f(can)h(den)o(y)g +(access)g(to)h(`)g Fu(mailman)p Fv(')d(to)j(others.)k(Be)c(sure)f(that) +h(you)e(can)h(do)g(the)h(same)f(with)h(the)208 2763 y(WWW)h(service.) +208 2896 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 Fi(NB:)50 b Fv(E.g.)208 2996 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 +3095 y(line)54 b Fl(lists.kva.hu:mailman)c Fv(to)k(`)p +Fu(/v)n(ar/qmail/control/vir)s(tualdo)o(mai)o(ns)p Fv(')48 +b(and)54 b(a)g Fl(lists.kva.hu)e Fv(line)i(to)208 3195 +y(`)p Fu(/v)n(ar/qmail/control/rcpthosts)p Fv(')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 3294 +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 +3427 y(Then)19 b(mak)o(e)h(your)f(aliases:)892 3651 y +Fk(.qmail)627 b(=>)44 b(mailman@...'s)f(letters)892 3743 +y(.qmail-owner)357 b(=>)44 b(mailman-owner's)f(letters)208 +4015 y Fv(F)o(or)19 b(list)j(aliases,)f(you)e(can)h(either)g(create)g +(them)f(manually:)892 4239 y Fk(.qmail-list)402 b(=>)44 +b(posts)g(to)h(the)f('list')g(list)892 4331 y(.qmail-list-admin)132 +b(=>)44 b(posts)g(to)h(the)f('list's)g(owner)892 4422 +y(.qmail-list-request)e(=>)i(requests)g(to)g('list')892 +4513 y(etc)208 4786 y Fv(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 Fu(contr)q(ib/qmail-to-)208 +4886 y(mailman.p)n(y)p Fv(')18 b(in)i(the)g(Mailman)g(source)f(distrib) +n(ution.)24 b(Modify)19 b(the)h(`)g Fu(mailman/.qmail-def)n(ault)p +Fv(')14 b(to)20 b(include:)892 5110 y Fk(|/path/to/python)42 +b(/path/to/qmail-to-mailman.py)208 5382 y Fv(and)19 b(ne)n(w)h(lists)i +(will)f(automatically)d(be)j(pick)o(ed)e(up.)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 125 83 a Fc(\017)41 b Fv(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 +183 y(the)e(follo)n(wing)e(in)j(your)e(`)p Fu(/etc/hosts)o(.allo)o(w)p +Fv(')d(\002le:)713 407 y Fk(tcp-env:)43 b(127.)h(10.205.200)g(:)g +(setenv)g(RELAYCLIENT)208 679 y Fv(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 +779 y(your)h(`)p Fu(/etc/tcp)m(.smtp)p Fv(')i(\002le:)713 +1003 y Fk(10.205.200.:allow,RELAYCLIENT="")713 1094 y +(127.:allow,RELAYCLIENT="")125 1400 y Fc(\017)41 b Fi(BN:)23 +b Fv(Bigger)f(`)p Fu(/v)n(ar/qmail/control/concurrencyremo)o(te)p +Fv(')17 b(v)n(alues)22 b(w)o(ork)g(better)h(sending)e(outbound)f +(messages,)j(within)g(rea-)208 1500 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 1599 y(greater)19 b(than)g(120.)125 1765 y +Fc(\017)41 b Fv(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 1995 y Fi(BN:)24 b Fv(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 2095 y(them)d(automatically)f(pick)o(ed)g(up)h(using)f(`)p +Fu(contr)q(ib/qmail-to-mailman.p)m(y)p Fv('\):)0 2242 +y(This)h(script)h(is)g(for)e(the)h(Mailman)g(2.0)g(series:)236 +2480 y Fk(#!/bin/sh)236 2571 y(if)45 b([)f($#)h(=)g(1)f(];)h(then)416 +2663 y(i=$1)416 2754 y(echo)f(Making)g(links)g(to)g($i)h(in)f(the)g +(current)g(directory...)416 2845 y(echo)g("|preline)f +(/home/mailman/mail/mailman)d(post)45 b($i")f(>)h(.qmail-$i)416 +2937 y(echo)f("|preline)f(/home/mailman/mail/mailman)d(mailowner)k($i") +g(>)h(.qmail-$i-admin)416 3028 y(echo)f("|preline)f +(/home/mailman/mail/mailman)d(mailowner)k($i")g(>)h(.qmail-$i-owner)416 +3119 y(echo)f("|preline)f(/home/mailman/mail/mailman)d(mailowner)k($i") +g(>)h(.qmail-owner-$i)416 3211 y(echo)f("|preline)f +(/home/mailman/mail/mailman)d(mailcmd)k($i")g(>)h(.qmail-$i-request)236 +3302 y(fi)0 3588 y Fq(Note:)81 b Fv(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 +3688 y(`)p Fu(/usr/local/mailman)p Fv(')19 b(to)k(`)p +Fu(/home/mailman)p Fv('.)30 b(If)23 b(in)g(doubt,)f(refer)g(to)h(the)g +Fq(--pr)o(e\002x)f Fv(option)g(passed)h(to)g Fq(con\002gur)o(e)f +Fv(during)g(compile)0 3788 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 Fv(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 +Fu(mm)p 2477 2450 42 4 v 45 w(cfg.p)n(y)p Fv(')h(\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>.*?\)-\\+\(?P<mailbox>[\210=]+\))o(=\(?P<h)o +(ost>[\210)o(@]+\)@.)o(*$')0 3066 y Fv(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 Fu(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 39 w(id=103)0 3359 y Fv(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 Fv(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 Fu(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 39 w(id=103&atid=300103)0 4224 y Fv(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 Fv(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 Fu(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 88 a Fw(7)120 b(Create)35 b(a)f(site-wide)g +(mailing)e(list)0 321 y Fv(After)27 b(you)f(ha)n(v)o(e)g(completed)g +(the)h(inte)o(gration)e(of)i(Mailman)f(and)h(your)f(mail)h(serv)o(er)m +(,)g(you)f(need)h(to)g(create)g(a)g(\223site-wide\224)g(mail-)0 +421 y(ing)g(list.)49 b(This)28 b(is)h(the)f(one)f(that)h(passw)o(ord)f +(reminders)g(will)h(appear)f(to)h(come)f(from,)h(and)g(it)g(is)h +(required)d(for)h(proper)f(Mailman)0 520 y(operation.)g(Usually)21 +b(this)h(should)e(be)h(a)h(list)g(called)g Fl(mailman)p +Fv(,)e(b)n(ut)h(if)h(you)e(need)h(to)g(change)f(this,)i(be)f(sure)g(to) +g(change)f(the)i Fi(MAIL-)0 620 y(MAN)p 180 620 46 4 +v 51 w(SITE)p 398 620 V 50 w(LIST)k Fv(v)n(ariable)19 +b(in)i(`)p Fu(mm)p 1159 620 42 4 v 45 w(cfg.p)n(y)p Fv('.)k(Y)-9 +b(ou)19 b(can)h(create)g(the)g(site)h(list)h(with)e(this)h(command,)d +(follo)n(wing)g(the)i(prompts:)416 858 y Fk(\045)44 b(bin/newlist)f +(mailman)0 1144 y Fv(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 1244 y(`)p Fu(data/sitelist.cfg)p Fv(')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 1344 y(that)e(an)o(y)g(options)f(not)h(named)f(in)h(the)g(`)p +Fu(sitelist.cfg)p Fv(')e(\002le)j(w)o(on')o(t)e(be)i(changed.)0 +1491 y(The)f(template)g(can)g(be)g(applied)f(to)h(your)f(site)i(list)g +(by)f(running:)416 1729 y Fk(\045)44 b(bin/config_list)f(-i)h +(data/sitelist.cfg)e(mailman)0 2015 y Fv(After)20 b(applying)e(the)i(`) +p Fu(sitelist.cfg)p Fv(')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 2162 y(Y)-9 b(ou)20 b(should)f(also)h(subscribe)g(yourself)e +(to)j(the)f(site)h(list.)0 2490 y Fw(8)120 b(Set)34 b(up)g(cron)0 +2722 y Fv(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 Fq(cr)o(on)g +Fv(to)h(run)e(the)i(right)e(programs)g(at)i(the)f(right)0 +2822 y(time)148 2792 y Fm(4)181 2822 y Fv(.)0 2969 y(If)d(your)f(v)o +(ersion)h(of)g(crontab)f(supports)g(the)h Fq(-u)h Fv(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 Fi(pr)m(e\002x)p Fo(/cron/crontab)m(.in)p +Fv(')0 3069 y(as)i(a)g(crontab)d(entry)i(by)f(e)o(x)o(ecuting)f(these)j +(commands:)416 3307 y Fk(\045)44 b(cd)h($prefix/cron)416 +3398 y(\045)f(crontab)g(-u)g(mailman)g(crontab.in)0 3685 +y Fv(If)23 b(you)e(used)i(the)g Fq(--with-user)o(name)e +Fv(option,)h(use)h(that)g(user)f(name)g(instead)h(of)f +Fl(mailman)g Fv(for)g(the)h Fq(-u)g Fv(ar)o(gument)d(v)n(alue.)32 +b(If)23 b(your)0 3785 y(crontab)c(does)h(not)g(support)e(the)j +Fq(-u)f Fv(option,)f(try)h(these)g(commands:)416 4023 +y Fk(\045)44 b(cd)h($prefix/cron)416 4114 y(\045)f(su)h(-)f(mailman)416 +4206 y(\045)g(crontab)g(crontab.in)0 4654 y Fw(9)120 +b(Star)5 b(t)34 b(the)g(Mailman)f(qr)r(unner)0 4887 y +Fv(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 +4987 y(by)f(e)o(x)o(ecuting)e(the)i(follo)n(wing)f(command)f(from)h +(the)h Fj($)p Fi(pr)m(e\002x)g Fv(directory:)p 0 5058 +1560 4 v 90 5113 a Fh(4)120 5137 y Fp(Note)j(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 5216 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)2715 b(9)83 b(Star)s(t)23 +b(the)h(Mailman)h(qr)q(unner)p eop end +%%Page: 21 21 +TeXDict begin 21 20 bop 416 174 a Fk(\045)44 b(bin/mailmanctl)f(start)0 +461 y Fv(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 560 +y(operating)20 b(system.)30 b(If)21 b(your)g(OS)h(supports)f(the)g +Fq(chkcon\002g)h Fv(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 660 y(follo)n(wing)d(\(as)h +(root,)f(from)h(the)g(Mailman)f(install)i(directory\):)416 +898 y Fk(\045)44 b(cp)h(scripts/mailman)d(/etc/init.d/mailman)416 +990 y(\045)i(chkconfig)g(--add)g(mailman)0 1276 y Fv(Note)20 +b(that)g(`)p Fu(/etc/init.d)p Fv(')e(may)h(be)h(`)p Fu +(/etc/rc.d/init.d)p Fv(')d(on)j(some)g(systems.)0 1423 +y(On)g(Gentoo)f(Linux,)g(you)h(can)g(do)f(the)h(follo)n(wing:)416 +1661 y Fk(\045)44 b(cp)h(scripts/mailman)d(/etc/init.d/mailman)416 +1753 y(\045)i(rc-update)g(add)g(mailman)g(default)0 2039 +y Fv(On)20 b(Debian,)f(you)h(probably)e(w)o(ant)i(to)g(use:)416 +2277 y Fk(\045)44 b(update-rc.d)f(mailman)h(defaults)0 +2564 y Fv(F)o(or)22 b(U)t Fp(N)t(I)t(X)r Fv(es)f(that)f(don')o(t)f +(support)g Fq(chkcon\002g)p Fv(,)h(you)f(might)h(try)g(the)g(follo)n +(wing)e(set)j(of)f(commands:)416 2803 y Fk(\045)44 b(cp)h +(scripts/mailman)d(/etc/init.d/mailman)416 2894 y(\045)i(cp)h +(misc/mailman)e(/etc/init.d)416 2985 y(\045)h(cd)h(/etc/rc.d/rc0.d)416 +3077 y(\045)f(ln)h(-s)f(../init.d/mailman)e(K12mailman)416 +3168 y(\045)i(cd)h(../rc1.d)416 3259 y(\045)f(ln)h(-s)f +(../init.d/mailman)e(K12mailman)416 3350 y(\045)i(cd)h(../rc2.d)416 +3442 y(\045)f(ln)h(-s)f(../init.d/mailman)e(S98mailman)416 +3533 y(\045)i(cd)h(../rc3.d)416 3624 y(\045)f(ln)h(-s)f +(../init.d/mailman)e(S98mailman)416 3716 y(\045)i(cd)h(../rc4.d)416 +3807 y(\045)f(ln)h(-s)f(../init.d/mailman)e(S98mailman)416 +3898 y(\045)i(cd)h(../rc5.d)416 3990 y(\045)f(ln)h(-s)f +(../init.d/mailman)e(S98mailman)416 4081 y(\045)i(cd)h(../rc6.d)416 +4172 y(\045)f(ln)h(-s)f(../init.d/mailman)e(K12mailman)0 +4621 y Fw(10)120 b(Chec)n(k)34 b(the)h(hostname)g(settings)0 +4854 y Fv(Y)-9 b(ou)21 b(should)g(check)g(the)h(v)n(alues)g(for)f +Fi(DEF)-10 b(A)l(UL)n(T)p 1446 4854 46 4 v 50 w(EMAIL)p +1741 4854 V 50 w(HOST)29 b Fv(and)21 b Fi(DEF)-10 b(A)l(UL)n(T)p +2519 4854 V 51 w(URL)p 2727 4854 V 50 w(HOST)29 b Fv(in)22 +b(`)p Fu(Def)n(aults)o(.p)n(y)p Fv('.)27 b(Mak)o(e)21 +b(an)o(y)0 4954 y(necessary)d(changes)f(in)i(the)f(`)p +Fu(mm)p 988 4954 42 4 v 46 w(cfg.p)n(y)p Fv(')g(\002le,)h +Fq(not)f Fv(in)h(the)f(`)p Fu(mm)p 1914 4954 V 46 w(cfg.p)n(y)p +Fv(')g(\002le.)25 b(If)18 b(you)g(change)f(either)h(of)g(these)h(tw)o +(o)f(v)n(alues,)g(you')o(ll)0 5053 y(w)o(ant)i(to)h(add)e(the)i(follo)n +(wing)d(afterw)o(ards)h(in)i(the)f(`)p Fu(mm)p 1605 5053 +V 46 w(cfg.p)n(y)p Fv(')f(\002le:)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 +(add_virtualhost\(DEFAULT_URL_HOST,)39 b(DEFAULT_EMAIL_HOST\))0 +461 y Fv(Y)-9 b(ou)20 b(will)h(w)o(ant)f(to)g(run)g(the)g +Fq(bin/\002x)p 1056 461 46 4 v 51 w(url.py)g Fv(to)g(change)f(the)h +(domain)f(of)h(an)o(y)f(e)o(xisting)h(lists.)0 788 y +Fw(11)120 b(Customiz)n(e)35 b(Mailman)0 1021 y Fv(No)n(w)17 +b(that)g(Mailman)g(is)h(all)g(set)g(up,)f(there)g(are)g(a)h(fe)n(w)f +(site-wide)g(con\002gurations)e(you)h(can)h(mak)o(e)g(before)f(you)g +(start)i(creating)e(mailing)0 1120 y(lists.)26 b(Y)-9 +b(ou)20 b(should)f(do)h(these)g(steps)h(using)f(the)g(account)f(you)g +(installed)h(Mailman)g(under)f(in)h(the)g(13)g(section.)125 +1346 y Fc(\017)41 b Fv(The)24 b(\002le)i(`)p Fj($)p Fi(pr)m +(e\002x/Mailman/Defaults.py)p Fv(')20 b(contains)k(a)i(number)d(of)h +(def)o(aults)h(for)f(your)g(installation.)38 b(If)25 +b(an)o(y)f(of)h(these)g(are)208 1445 y(incorrect,)e(o)o(v)o(erride)f +(them)h(in)i(`)p Fj($)p Fi(pr)m(e\002x)p Fo(/Mailman/mm)p +1886 1445 V 51 w(cfg.p)n(y)p Fv(',)f Fq(not)g Fv(in)g(the)g(`)p +Fu(Def)n(aults)o(.p)n(y)p Fv(')d(\002le!)37 b(See)24 +b(the)h(comments)d(in)208 1545 y(`)p Fu(Def)n(aults)o(.p)n(y)p +Fv(')15 b(for)k(details.)24 b(Once)19 b(a)g(list)h(is)g(created,)e +(editing)g(man)o(y)g(of)h(these)g(v)n(ariables)f(will)h(ha)n(v)o(e)g +(no)f(ef)n(fect.)24 b(At)c(that)f(point,)208 1644 y(you')o(ll)e(need)h +(to)h(con\002gure)e(your)h(lists)i(through)c(the)j(web)g +(administration)e(interf)o(ace)h(or)g(through)f(the)i(command)d(line)j +(scripts)208 1744 y Fq(bin/withlist)i Fv(and)e Fq(bin/con\002g)p +1126 1744 V 51 w(list)p Fv(.)208 1876 y(The)f(install)i(process)e(will) +i(ne)n(v)o(er)e(o)o(v)o(erwrite)f(an)i(e)o(xisting)f(`)p +Fu(mm)p 2067 1876 42 4 v 46 w(cfg.p)n(y)p Fv(')g(\002le)i(so)f(you)f +(can)h(freely)f(mak)o(e)h(changes)e(to)j(this)f(\002le.)208 +2008 y Fq(Note:)95 b Fv(Do)32 b Fq(not)f Fv(change)g(the)g +Fi(HOME)p 1425 2008 46 4 v 51 w(DIR)g Fv(or)g Fi(MAILMAN)p +2116 2008 V 51 w(DIR)h Fv(v)n(ariables.)58 b(These)31 +b(are)h(set)g(automatically)e(by)i(the)208 2107 y Fq(con\002gur)o(e)19 +b Fv(script,)h(and)g(you)f(will)i(break)e(your)g(Mailman)g +(installation)h(by)g(if)g(you)g(change)f(these.)125 2272 +y Fc(\017)41 b Fv(Create)20 b(the)g(site)h(passw)o(ord.)k(Use)20 +b(this)h(command:)623 2495 y Fk(\045)45 b($prefix/bin/mmsitepass)c +(<your-site-password>)208 2766 y Fv(This)23 b(passw)o(ord)f(can)h(be)h +(used)e(an)o(ywhere)g(that)h(indi)n(vidual)e(user)i(or)g(mailing)g +(list)h(administrator)e(passw)o(ords)g(are)i(required,)208 +2866 y(gi)n(ving)18 b(the)j(mailman)e(site)i(administrator)e(the)h +(ability)g(to)g(adjust)g(these)h(things)e(when)h(necessary)-5 +b(.)208 2998 y(Y)c(ou)22 b(may)h(also)h(w)o(ant)g(to)g(create)f(a)h +(passw)o(ord)e(for)h(the)h(site-wide)f(\223list)i(creator\224)d(role.) +35 b(The)23 b(list)h(creator)f(is)h(someone)e(other)208 +3097 y(than)h(the)g(site)i(administrator)d(who)h(has)g(pri)n(vile)o +(ges)g(to)g(create)h(and)f(remo)o(v)o(e)e(lists)k(through)d(the)h(web)h +(interf)o(ace.)34 b(Use)24 b(the)f Fq(-c)208 3197 y Fv(option)c(to)h +Fq(mmsitepass)h Fv(to)f(set)h(this.)0 3524 y Fw(12)120 +b(Create)35 b(y)n(our)f(\002rst)f(mailing)g(list)0 3756 +y Fv(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 3856 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 +3956 y(interf)o(ace:)125 4181 y Fc(\017)41 b Fv(Start)20 +b(by)g(visiting)g(the)g(url)g Fl(http://my.dom.ain/mailman/create)p +Fv(.)125 4345 y Fc(\017)41 b Fv(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 4445 y(passw)o(ord)18 b(you)g(entered)g(in)i(section)f(11.)24 +b(T)-7 b(ype)18 b(your)g(o)n(wn)h(email)g(address)g(for)f(the)i +(\223Initial)e(list)j(o)n(wner)d(address\224,)g(and)h(select)208 +4544 y(\223Y)-8 b(es\224)20 b(to)g(notify)f(the)h(list)i(administrator) +-5 b(.)125 4708 y Fc(\017)41 b Fv(Click)20 b(on)g(the)g(\223Create)h +(List\224)f(b)n(utton.)125 4872 y Fc(\017)41 b Fv(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 +5037 y Fc(\017)41 b Fv(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 +5136 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 5236 y Fl(http://my.dom.ain/mailman/admin/m)o +(ylist)o Fv(.)125 5400 y Fc(\017)g Fv(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)p 0 5549 3901 4 v 0 5649 a Fo(22)2633 b(12)84 +b(Create)23 b(y)n(our)g(\002rst)f(mailing)j(list)p eop +end +%%Page: 23 23 +TeXDict begin 23 22 bop 125 83 a Fc(\017)41 b Fv(Click)20 +b(on)g(\223Membership)e(Management\224)g(and)i(then)g(on)f(\223Mass)i +(Subscription\224.)125 249 y Fc(\017)41 b Fv(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 +415 y Fc(\017)41 b Fv(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 Fv(.)i(W)m(ithin)e(a)g +(minute)e(or)i(tw)o(o)g(you)e(should)h(see)208 515 y(your)e(message)j +(re\003ected)e(back)h(to)g(you)f(via)h(Mailman.)0 745 +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 844 y(please)20 b(see)h(the)f(13)g(section.)0 1172 +y Fw(13)120 b(T)-14 b(roub)n(leshooting)0 1404 y Fv(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 1504 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 1651 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 Fi(pr)m(e\002x)p +Fo(/logs/error)p Fv(')0 1751 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 +Fu(mailman-users@p)n(ython.org)19 b Fv(mailing)24 b(list)3711 +1720 y Fm(5)3744 1751 y Fv(;)j(see)0 1850 y Fu(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 Fv(for)20 b(more)f(information.)0 1997 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 +2097 y(of)f(Mailman)f(you')l(re)g(installing.)0 2244 +y(Here)h(is)h(a)g(list)g(of)f(some)g(common)e(questions)i(and)f +(answers:)125 2474 y Fc(\017)41 b Fq(Pr)o(oblem:)24 b +Fv(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 2606 y Fq(Solution:)25 b Fv(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 2706 y(ha)n(v)o(e:)286 2889 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 Fi(pr)m(e\002x)p Fo(/cgi-bin)p Fv(')286 3021 y(2.)41 +b(restarted)20 b(the)g(web)g(serv)o(er)f(properly)-5 +b(.)208 3204 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.)125 3370 y Fc(\017)41 b Fq(Pr)o(oblem:)24 +b Fv(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 3503 y Fq(Solution:)j Fv(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 +3603 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 3827 y Fk(Attempt)43 +b(to)i(exec)f(script)g(with)g(invalid)g(gid)g(51,)g(expected)g(99)208 +4191 y Fv(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 4357 y Fc(\017)41 b Fq(Pr)o(oblem:)24 +b Fv(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 4489 y Fq(Solution:)37 +b Fv(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 4589 y(inte)o(gration)14 b(Mailman)i(with)h(your)f +(mail)g(serv)o(er)-5 b(.)24 b(Perhaps)16 b(you)g(didn')o(t)f(update)g +(the)i(alias)g(database,)g(or)f(your)g(system)h(requires)208 +4689 y(you)i(to)h(run)g Fq(newaliases)g Fv(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 4855 y Fc(\017)41 b Fq(Pr)o(oblem:)24 +b Fv(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 4988 +y Fq(Solution:)35 b Fv(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 5087 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)p +0 5158 1560 4 v 90 5214 a Fh(5)120 5237 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 982 174 a Fk(Attempt)43 b(to)i(exec)f(script)g +(with)g(invalid)g(gid)g(51,)g(expected)g(99)208 538 y +Fv(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 +704 y Fc(\017)41 b Fq(Pr)o(oblem:)g Fv(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 804 y(wrong)18 +b(GID.)208 937 y Fq(Solution:)40 b Fv(Mak)o(e)27 b(sure)h(the)g(`)p +Fj($)p Fi(pr)m(e\002x)p Fo(/data/aliases)o(.db)p Fv(')g(\002le)h(is)f +(user)g(o)n(wned)f(by)g Fl(mailman)h Fv(\(or)f(whate)n(v)o(er)f(user)i +(name)208 1036 y(you)21 b(used)h(in)g(the)g Fq(con\002gur)o(e)g +Fv(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 Fv(,)f(Post\002x)i(will)g(not)f(run)f(the)h(mail)208 +1136 y(programs)c(as)j(the)f(correct)f(user)-5 b(.)125 +1302 y Fc(\017)41 b Fq(Pr)o(oblem:)h Fv(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 +1402 y(mailman)19 b(not)h(a)n(v)n(ailable)f(for)h(sendmail)g +(programs\224.)208 1534 y Fq(Solution:)33 b Fv(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 1634 y(symbolic)c(link)h(from)f(the)h(mail)h(wrapper)e(\(`)p +Fj($)p Fi(pr)m(e\002x)p Fo(/mail/mailman)p Fv('\))i(to)f(the)h +(directory)d(identifying)h(e)o(x)o(ecutables)f(allo)n(wed)208 +1734 y(to)i(run)f(under)g(smrsh.)208 1866 y(Some)g(common)g(names)h +(for)f(this)i(directory)d(are)j(`)p Fu(/v)n(ar/admin/sm.bin)p +Fv(',)16 b(`)p Fu(/usr/admin/sm.bin)p Fv(')h(or)j(`)p +Fu(/etc/smrsh)p Fv('.)208 1999 y(Note)29 b(that)h(on)f(Debian)g(Linux,) +h(the)g(system)f(mak)o(es)h(`)p Fu(/usr/lib/sm.bin)p +Fv(',)e(which)h(is)i(wrong,)f(you)f(will)h(need)f(to)g(create)h(the)208 +2099 y(directory)20 b(`)p Fu(/usr/admin/sm.bin)p Fv(')g(and)i(add)g +(the)g(link)h(there.)32 b(Note)22 b(further)f(an)o(y)h(aliases)i +Fq(newaliases)e Fv(spits)i(out)e(will)h(need)f(to)208 +2199 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 2365 y Fc(\017)41 b Fq(Pr)o(oblem:)24 +b Fv(I)c(messed)g(up)g(when)g(I)g(called)g Fq(con\002gur)o(e)p +Fv(.)k(Ho)n(w)c(do)g(I)g(clean)g(things)g(up)g(and)g(re-install?)208 +2497 y Fq(Solution:)802 2630 y Fk(\045)45 b(make)f(clean)802 +2722 y(\045)h(./configure)e(--with-the-right-options)802 +2813 y(\045)i(make)f(install)0 3352 y Fw(14)120 b(Platf)l(or)s(m)34 +b(and)h(oper)o(ating)g(system)e(notes)0 3585 y Fv(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 3685 y(MacOSX,)d(and)g(other)f(generic)j(U)t +Fp(N)t(I)t(X)h Fv(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 3784 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 3884 +y(systems)21 b(ha)n(v)o(e)e(additional)g(recommended)e(installation)j +(or)g(con\002guration)d(instructions.)0 4169 y Fn(14.1)100 +b(GNU/Lin)o(ux)28 b(issues)0 4372 y Fv(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 +4471 y(Linux:)125 4701 y Fc(\017)41 b Fv(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 4801 +y(linux/openw)o(all/grsecurity\),)18 b(see)24 b(the)e(\002le)i(`)p +Fu(contr)q(ib/README.chec)o(k)p 2331 4801 42 4 v 42 w(per)r(ms)p +2583 4801 V 45 w(g)o(rsecur)q(ity)p Fv(')f(in)g(the)f(Mailman)g(source) +g(dis-)208 4901 y(trib)n(ution.)208 5033 y(Note)e(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 5199 y Fc(\017)41 +b Fv(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 +Fv(user)m(,)h(you)f(need)g(to)h(be)208 5299 y(sure)h +Fl(mailman)f Fv(is)i(in)g(the)f Fl(cctools)f Fv(group.)p +0 5549 3901 4 v 0 5649 a Fo(24)2282 b(14)83 b(Platf)n(or)r(m)24 +b(and)g(oper)o(ating)g(system)e(notes)p eop end +%%Page: 25 25 +TeXDict begin 25 24 bop 125 83 a Fc(\017)41 b Fv(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 183 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 +282 y(need.)208 415 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 Fv(package.)24 b(On)c(Redhat,)208 +515 y(you)f(probably)f(need)h(the)h Fl(python2-devel)f +Fv(package.)208 648 y(If)h(you)f(install)i(Python)e(from)g(source,)g +(you)g(should)g(be)i(\002ne.)208 780 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 +880 y(your)d(install:)892 1104 y Fk(Traceback)43 b(\(most)h(recent)g +(call)g(last\):)982 1196 y(File)g("bin/update",)f(line)h(44,)g(in)h(?) +1071 1287 y(import)f(paths)892 1378 y(ImportError:)f(No)h(module)g +(named)g(paths)892 1469 y(make:)g(***)g([update])g(Error)g(1)208 +1834 y Fv(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 Fq(con\002gur)o(e)h +Fv(and)f Fq(mak)o(e)h(install)h Fv(again.)38 b(Or)25 +b(install)208 1933 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 Fu(http://www)l(.p)n(ython.org)-6 +b Fv(.)208 2066 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 2166 y Fl(ImportErrors)p +Fv(.)0 2451 y Fn(14.2)100 b(BSD)29 b(issues)0 2654 y +Fv(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 2753 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 2853 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 Fv(es,)g(this)f(only)f +(happens)f(when)h(the)h(directory)e(has)i(the)0 2953 +y(setgid)f(bit)h(turned)d(on.)0 3100 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 Fi(DIRSETGID)f Fv(v)n(ariable)g(to)h +Fq(mak)o(e)p Fv(,)j(after)0 3199 y(you')l(v)o(e)18 b(run)h +Fq(con\002gur)o(e)p Fv(:)416 3437 y Fk(\045)44 b(make)g(DIRSETGID=:)f +(install)0 3724 y Fv(This)20 b(disables)h(the)f Fq(chmod)g(g+s)h +Fv(command)e(on)g(installed)h(directories.)0 4009 y Fn(14.3)100 +b(MacOSX)29 b(issues)0 4212 y Fv(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 +4311 y(on)d(MacOSX.)125 4541 y Fc(\017)41 b Fv(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 4641 y(to)g(be)g(suf)n +(\002cient)g(to)g(run)f(Mailman)h(2.1.)125 4807 y Fc(\017)41 +b Fv(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 4906 y(Serv)o(er)-5 b(.)208 5039 y Fu(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 5205 y Fc(\017)41 b Fv(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 5338 y +Fu(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)p +0 5549 3901 4 v 0 5649 a Fo(14.2)84 b(BSD)23 b(issues)3134 +b(25)p eop end +%%Page: 26 26 +TeXDict begin 26 25 bop 125 83 a Fc(\017)41 b Fv(P)o(anther)23 +b(serv)o(er)h(\(MacOSX)h(10.3\))e(comes)i(with)g(Mailman;)i(Apple)d +(has)h(a)g(tech)g(document)e(about)h(a)h(problem)e(you)h(might)208 +183 y(encounter)18 b(running)g(Mailman)h(on)h(Mac)g(OS)h(X)g(Serv)o(er) +e(10.3:)208 315 y Fu(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)p +0 5549 3901 4 v 0 5649 a Fo(26)2282 b(14)83 b(Platf)n(or)r(m)24 +b(and)g(oper)o(ating)g(system)e(notes)p eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/admin/www/mailman-install.txt b/admin/www/mailman-install.txt new file mode 100644 index 00000000..ae27aebe --- /dev/null +++ b/admin/www/mailman-install.txt @@ -0,0 +1,1433 @@ + #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)python.org + + Release 2.1 + December 13, 2004 + + 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 + + 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 2.8.1 or + later is known to work well. + + You must have the Python interpreter installed somewhere on your + system. Mailman 2.1 requires Python 2.1 or newer, although Python 2.3 + or newer is recommended. + + 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! + + 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. + + By default, Postfix treats -owner and -request addresses specially. + Since you want Postfix to deliver such messages to Mailman, you should + turn off this option by adding this to your main.cf file: + + owner_request_special = no + + 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 and that the group owner for those files is + mailman, or whatever user and group you used in the configure + command: + % su + % chown mailman:mailman 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/Default.py for the options that start with VERP. In a + nutshell, all you need to do to enable VERP with Exim is to add these + lines to $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: + |/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-boun +ces + # The following line is for VERP + # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bo +unces-default + echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-conf +irm + 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-requ +est + echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-su +bscribe + echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i- +unsubscribe +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&gro + up_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&at + id=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 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. + + 8 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^5. + + 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 + + 9 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 + + 10 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 mm_cfg.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. + + 11 Customize Mailman + + Now that Mailman is all set up, there are a few site-wide + configurations you can make before you start creating mailing lists. + You should do these steps using the account you installed Mailman + under in the 13 section. + + * The file $prefix/Mailman/Defaults.py contains a number of defaults + for your installation. If any of these are incorrect, override + them in $prefix/Mailman/mm_cfg.py, not in the Defaults.py file! + See the comments in Defaults.py for details. Once a list is + created, editing many of these variables will have no effect. At + that point, you'll need to configure your lists through the web + administration interface or through the command line scripts + bin/withlist and bin/config_list. + The install process will never overwrite an existing mm_cfg.py + file so you can freely make changes to this file. + 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. + * Create the site password. Use this command: + % $prefix/bin/mmsitepass <your-site-password> + This password can be used anywhere that individual user or mailing + list administrator passwords are required, giving the mailman site + administrator the ability to adjust these things when necessary. + You may also want to create a password for the site-wide ``list + creator'' role. The list creator is someone other than the site + administrator who has privileges to create and remove lists + through the web interface. Use the -c option to mmsitepass to set + this. + + 12 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 11. 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 13 + section. + + 13 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^6; 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 integration 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 + + 14 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. + +14.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. + +14.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. + +14.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; 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 + + About this document ... + + GNU Mailman - Installation Manual, December 13, 2004, 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 14.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. + + ... time^5 + 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^6 + 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 13, 2004. diff --git a/admin/www/mailman-install/about.html b/admin/www/mailman-install/about.html new file mode 100644 index 00000000..2d88ea62 --- /dev/null +++ b/admin/www/mailman-install/about.html @@ -0,0 +1,108 @@ +<!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 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="14.3 MacOSX issues" + href="node49.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="node49.html">14.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 13, 2004, 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 © + 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 © 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="14.3 MacOSX issues" + href="node49.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="node49.html">14.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/blank.png b/admin/www/mailman-install/blank.png Binary files differnew file mode 100644 index 00000000..2af5639b --- /dev/null +++ b/admin/www/mailman-install/blank.png diff --git a/admin/www/mailman-install/bsd-issues.html b/admin/www/mailman-install/bsd-issues.html new file mode 100644 index 00000000..88b899d3 --- /dev/null +++ b/admin/www/mailman-install/bsd-issues.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="node49.html" /> +<link rel="prev" href="node47.html" /> +<link rel="parent" href="node46.html" /> +<link rel="next" href="node49.html" /> +<meta name='aesop' content='information' /> +<title>14.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="14.1 GNU/Linux issues" + 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="14 Platform and operating" + href="node46.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.3 MacOSX issues" + href="node49.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">14.1 GNU/Linux issues</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 Platform and operating</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node49.html">14.3 MacOSX issues</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION0011420000000000000000"></A><A NAME="bsd-issues"></A> +<BR> +14.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="14.1 GNU/Linux issues" + 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="14 Platform and operating" + href="node46.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.3 MacOSX issues" + href="node49.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">14.1 GNU/Linux issues</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 Platform and operating</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node49.html">14.3 MacOSX issues</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/contents.png b/admin/www/mailman-install/contents.png Binary files differnew file mode 100644 index 00000000..3429be0c --- /dev/null +++ b/admin/www/mailman-install/contents.png diff --git a/admin/www/mailman-install/create-install-dir.html b/admin/www/mailman-install/create-install-dir.html new file mode 100644 index 00000000..026042db --- /dev/null +++ b/admin/www/mailman-install/create-install-dir.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="prev" href="node4.html" /> +<link rel="parent" href="node3.html" /> +<link rel="next" href="node6.html" /> +<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="#foot676"><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="#foot677"><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="foot676">.../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="foot677">... 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">14.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/customizing.html b/admin/www/mailman-install/customizing.html new file mode 100644 index 00000000..a8a39d79 --- /dev/null +++ b/admin/www/mailman-install/customizing.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="node44.html" /> +<link rel="prev" href="node42.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node44.html" /> +<meta name='aesop' content='information' /> +<title>11 Customize 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="10 Check the hostname" + 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 your first" + 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 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="node44.html">12 Create your first</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION0011100000000000000000"></A><A NAME="customizing"></A> +<BR> +11 Customize Mailman +</H1> + +<P> +Now that Mailman is all set up, there are a few site-wide configurations you +can make before you start creating mailing lists. You should do these steps +using the account you installed Mailman under in the <A href="troubleshooting.html#building">13</A> section. + +<P> + +<UL> +<LI>The file <span class="file"><var>$prefix/Mailman/Defaults.py</var></span> contains a number of + defaults for your installation. If any of these are incorrect, override + them in <span class="file"><var>$prefix</var>/Mailman/mm_cfg.py</span>, <strong>not</strong> in the + <span class="file">Defaults.py</span> file! See the comments in <span class="file">Defaults.py</span> for + details. Once a list is created, editing many of these variables will + have no effect. At that point, you'll need to configure your lists + through the web administration interface or through the command line + scripts <b class="program">bin/withlist</b> and <b class="program">bin/config_list</b>. + +<P> +The install process will never overwrite an existing <span class="file">mm_cfg.py</span> + file so you can freely make changes to this file. + +<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> +</LI> +<LI>Create the site password. Use this command: + +<P> +<div class="verbatim"><pre> + % $prefix/bin/mmsitepass <your-site-password> +</pre></div> + +<P> +This password can be used anywhere that individual user or mailing list + administrator passwords are required, giving the mailman site + administrator the ability to adjust these things when necessary. + +<P> +You may also want to create a password for the site-wide ``list creator'' + role. The list creator is someone other than the site administrator who + has privileges to create and remove lists through the web interface. Use + the <b class="programopt">-c</b> option to <b class="program">mmsitepass</b> to set this. + +<P> +</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="10 Check the hostname" + 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 your first" + 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 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="node44.html">12 Create your first</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/exim3-transport.html b/admin/www/mailman-install/exim3-transport.html new file mode 100644 index 00000000..2fcb6606 --- /dev/null +++ b/admin/www/mailman-install/exim3-transport.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="node20.html" /> +<link rel="prev" href="node18.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node20.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/front.html b/admin/www/mailman-install/front.html new file mode 100644 index 00000000..d3aeb5f4 --- /dev/null +++ b/admin/www/mailman-install/front.html @@ -0,0 +1,180 @@ +<!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 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="node39.html">7 Create a site-wide mailing list</a> +<LI><A href="node40.html">8 Set up cron</a> +<LI><A href="node41.html">9 Start the Mailman qrunner</a> +<LI><A href="node42.html">10 Check the hostname settings</a> +<LI><A href="customizing.html">11 Customize Mailman</a> +<LI><A href="node44.html">12 Create your first mailing list</a> +<LI><A href="troubleshooting.html">13 Troubleshooting</a> +<LI><A href="node46.html">14 Platform and operating system notes</a> +<UL> +<LI><A href="node47.html">14.1 GNU/Linux issues</a> +<LI><A href="bsd-issues.html">14.2 BSD issues</a> +<LI><A href="node49.html">14.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/index.html b/admin/www/mailman-install/index.html new file mode 100644 index 00000000..cb9e0ceb --- /dev/null +++ b/admin/www/mailman-install/index.html @@ -0,0 +1,133 @@ +<!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 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)python.org</span></p> +<p><strong>Release 2.1</strong><br /> +<strong>December 13, 2004</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="node39.html">7 Create a site-wide mailing list</a> +<LI><A href="node40.html">8 Set up cron</a> +<LI><A href="node41.html">9 Start the Mailman qrunner</a> +<LI><A href="node42.html">10 Check the hostname settings</a> +<LI><A href="customizing.html">11 Customize Mailman</a> +<LI><A href="node44.html">12 Create your first mailing list</a> +<LI><A href="troubleshooting.html">13 Troubleshooting</a> +<LI><A href="node46.html">14 Platform and operating system notes</a> +<UL> +<LI><A href="node47.html">14.1 GNU/Linux issues</a> +<LI><A href="bsd-issues.html">14.2 BSD issues</a> +<LI><A href="node49.html">14.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/index.png b/admin/www/mailman-install/index.png Binary files differnew file mode 100644 index 00000000..cd918afe --- /dev/null +++ b/admin/www/mailman-install/index.png diff --git a/admin/www/mailman-install/mail-server.html b/admin/www/mailman-install/mail-server.html new file mode 100644 index 00000000..4353f0b8 --- /dev/null +++ b/admin/www/mailman-install/mail-server.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="node39.html" /> +<link rel="prev" href="node10.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node12.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/mailman-install.css b/admin/www/mailman-install/mailman-install.css new file mode 100644 index 00000000..06a613c2 --- /dev/null +++ b/admin/www/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/admin/www/mailman-install/mailman-install.html b/admin/www/mailman-install/mailman-install.html new file mode 100644 index 00000000..cb9e0ceb --- /dev/null +++ b/admin/www/mailman-install/mailman-install.html @@ -0,0 +1,133 @@ +<!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 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)python.org</span></p> +<p><strong>Release 2.1</strong><br /> +<strong>December 13, 2004</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="node39.html">7 Create a site-wide mailing list</a> +<LI><A href="node40.html">8 Set up cron</a> +<LI><A href="node41.html">9 Start the Mailman qrunner</a> +<LI><A href="node42.html">10 Check the hostname settings</a> +<LI><A href="customizing.html">11 Customize Mailman</a> +<LI><A href="node44.html">12 Create your first mailing list</a> +<LI><A href="troubleshooting.html">13 Troubleshooting</a> +<LI><A href="node46.html">14 Platform and operating system notes</a> +<UL> +<LI><A href="node47.html">14.1 GNU/Linux issues</a> +<LI><A href="bsd-issues.html">14.2 BSD issues</a> +<LI><A href="node49.html">14.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/modules.png b/admin/www/mailman-install/modules.png Binary files differnew file mode 100644 index 00000000..8fa8b755 --- /dev/null +++ b/admin/www/mailman-install/modules.png diff --git a/admin/www/mailman-install/next.png b/admin/www/mailman-install/next.png Binary files differnew file mode 100644 index 00000000..cfe5e51c --- /dev/null +++ b/admin/www/mailman-install/next.png diff --git a/admin/www/mailman-install/node10.html b/admin/www/mailman-install/node10.html new file mode 100644 index 00000000..617b509e --- /dev/null +++ b/admin/www/mailman-install/node10.html @@ -0,0 +1,192 @@ +<!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 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> + <Directory "/usr/local/mailman/archives/public/"> + AddDefaultCharset Off + </Directory> +</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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node12.html b/admin/www/mailman-install/node12.html new file mode 100644 index 00000000..1584f476 --- /dev/null +++ b/admin/www/mailman-install/node12.html @@ -0,0 +1,153 @@ +<!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 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> +By default, Postfix treats <code>-owner</code> and <code>-request</code> addresses +specially. Since you want Postfix to deliver such messages to Mailman, you +should turn off this option by adding this to your <span class="file">main.cf</span> file: + +<P> +<div class="verbatim"><pre> + owner_request_special = no +</pre></div> + +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node13.html b/admin/www/mailman-install/node13.html new file mode 100644 index 00000000..e2fca7b5 --- /dev/null +++ b/admin/www/mailman-install/node13.html @@ -0,0 +1,205 @@ +<!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 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> and that the group owner + for those files is <code>mailman</code>, or whatever user and group you used + in the configure command: + +<P> +<div class="verbatim"><pre> + % su + % chown mailman:mailman 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node15.html b/admin/www/mailman-install/node15.html new file mode 100644 index 00000000..b7a7c8d8 --- /dev/null +++ b/admin/www/mailman-install/node15.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="prev" href="postfix-virtual.html" /> +<link rel="parent" href="node12.html" /> +<link rel="next" href="node16.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node16.html b/admin/www/mailman-install/node16.html new file mode 100644 index 00000000..92e82c8e --- /dev/null +++ b/admin/www/mailman-install/node16.html @@ -0,0 +1,131 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node17.html b/admin/www/mailman-install/node17.html new file mode 100644 index 00000000..f7cea2f0 --- /dev/null +++ b/admin/www/mailman-install/node17.html @@ -0,0 +1,151 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node18.html b/admin/www/mailman-install/node18.html new file mode 100644 index 00000000..eee3fde4 --- /dev/null +++ b/admin/www/mailman-install/node18.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="exim3-transport.html" /> +<link rel="prev" href="node17.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="exim3-transport.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node2.html b/admin/www/mailman-install/node2.html new file mode 100644 index 00000000..03cd22ae --- /dev/null +++ b/admin/www/mailman-install/node2.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="node3.html" /> +<link rel="prev" href="front.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node3.html" /> +<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> +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> 2.8.1 or later is known +to work well. + +<P> +You must have the <a class="ulink" href="http://www.python.org" + >Python</a> interpreter installed +somewhere on your system. Mailman 2.1 requires Python 2.1 or newer, although +Python 2.3 or newer is recommended. + +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node20.html b/admin/www/mailman-install/node20.html new file mode 100644 index 00000000..ebb49487 --- /dev/null +++ b/admin/www/mailman-install/node20.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="node21.html" /> +<link rel="prev" href="exim3-transport.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node21.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node21.html b/admin/www/mailman-install/node21.html new file mode 100644 index 00000000..435220f4 --- /dev/null +++ b/admin/www/mailman-install/node21.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="node22.html" /> +<link rel="prev" href="node20.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node22.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node22.html b/admin/www/mailman-install/node22.html new file mode 100644 index 00000000..e3a93a50 --- /dev/null +++ b/admin/www/mailman-install/node22.html @@ -0,0 +1,97 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node23.html b/admin/www/mailman-install/node23.html new file mode 100644 index 00000000..249408e0 --- /dev/null +++ b/admin/www/mailman-install/node23.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="next" href="node24.html" /> +<link rel="prev" href="node22.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node24.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node24.html b/admin/www/mailman-install/node24.html new file mode 100644 index 00000000..c12a58fb --- /dev/null +++ b/admin/www/mailman-install/node24.html @@ -0,0 +1,127 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node25.html b/admin/www/mailman-install/node25.html new file mode 100644 index 00000000..ad16c524 --- /dev/null +++ b/admin/www/mailman-install/node25.html @@ -0,0 +1,134 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node26.html b/admin/www/mailman-install/node26.html new file mode 100644 index 00000000..68ca1212 --- /dev/null +++ b/admin/www/mailman-install/node26.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="node27.html" /> +<link rel="prev" href="node25.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node27.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node27.html b/admin/www/mailman-install/node27.html new file mode 100644 index 00000000..a66dc0fe --- /dev/null +++ b/admin/www/mailman-install/node27.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="node28.html" /> +<link rel="prev" href="node26.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node28.html" /> +<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/Default.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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node28.html b/admin/www/mailman-install/node28.html new file mode 100644 index 00000000..3148a7b0 --- /dev/null +++ b/admin/www/mailman-install/node28.html @@ -0,0 +1,121 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node29.html b/admin/www/mailman-install/node29.html new file mode 100644 index 00000000..bcf4d814 --- /dev/null +++ b/admin/www/mailman-install/node29.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="node30.html" /> +<link rel="prev" href="node28.html" /> +<link rel="parent" href="node16.html" /> +<link rel="next" href="node30.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node3.html b/admin/www/mailman-install/node3.html new file mode 100644 index 00000000..1028abc5 --- /dev/null +++ b/admin/www/mailman-install/node3.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="node6.html" /> +<link rel="prev" href="node2.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node4.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node30.html b/admin/www/mailman-install/node30.html new file mode 100644 index 00000000..60c2d98b --- /dev/null +++ b/admin/www/mailman-install/node30.html @@ -0,0 +1,97 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node31.html b/admin/www/mailman-install/node31.html new file mode 100644 index 00000000..232e027b --- /dev/null +++ b/admin/www/mailman-install/node31.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="qmail-issues.html" /> +<link rel="prev" href="node16.html" /> +<link rel="parent" href="mail-server.html" /> +<link rel="next" href="node32.html" /> +<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="#foot393"><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="foot393">... 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node32.html b/admin/www/mailman-install/node32.html new file mode 100644 index 00000000..4645c551 --- /dev/null +++ b/admin/www/mailman-install/node32.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="node33.html" /> +<link rel="prev" href="node31.html" /> +<link rel="parent" href="node31.html" /> +<link rel="next" href="node33.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node33.html b/admin/www/mailman-install/node33.html new file mode 100644 index 00000000..7b5e8bf7 --- /dev/null +++ b/admin/www/mailman-install/node33.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="node34.html" /> +<link rel="prev" href="node32.html" /> +<link rel="parent" href="node31.html" /> +<link rel="next" href="node34.html" /> +<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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node34.html b/admin/www/mailman-install/node34.html new file mode 100644 index 00000000..a49632b5 --- /dev/null +++ b/admin/www/mailman-install/node34.html @@ -0,0 +1,100 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node36.html b/admin/www/mailman-install/node36.html new file mode 100644 index 00000000..b4ae4f9d --- /dev/null +++ b/admin/www/mailman-install/node36.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="node37.html" /> +<link rel="prev" href="qmail-issues.html" /> +<link rel="parent" href="qmail-issues.html" /> +<link rel="next" href="node37.html" /> +<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<bounces>.*?)-\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$' +</pre></div> + +<P> +The second option is a patch on SourceForge located at: + +<P> +<a class="url" href="http://sourceforge.net/tracker/?func=detail&atid=300103&aid=645513&group_id=103">http://sourceforge.net/tracker/?func=detail&atid=300103&aid=645513&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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node37.html b/admin/www/mailman-install/node37.html new file mode 100644 index 00000000..c90f58da --- /dev/null +++ b/admin/www/mailman-install/node37.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="next" href="node38.html" /> +<link rel="prev" href="node36.html" /> +<link rel="parent" href="qmail-issues.html" /> +<link rel="next" href="node38.html" /> +<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&aid=621257&group_id=103&atid=300103">http://sf.net/tracker/index.php?func=detail&aid=621257&group_id=103&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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node38.html b/admin/www/mailman-install/node38.html new file mode 100644 index 00000000..15fe4fad --- /dev/null +++ b/admin/www/mailman-install/node38.html @@ -0,0 +1,97 @@ +<!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="node39.html" /> +<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 Create a site-wide" + href="node39.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="node39.html">7 Create a site-wide</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 Create a site-wide" + href="node39.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="node39.html">7 Create a site-wide</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node39.html b/admin/www/mailman-install/node39.html new file mode 100644 index 00000000..f6b4338f --- /dev/null +++ b/admin/www/mailman-install/node39.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="node40.html" /> +<link rel="prev" href="mail-server.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node40.html" /> +<meta name='aesop' content='information' /> +<title>7 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="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 Set up cron" + 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 Set up cron</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION001700000000000000000"> +7 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="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 Set up cron" + 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 Set up cron</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node4.html b/admin/www/mailman-install/node4.html new file mode 100644 index 00000000..bae31de6 --- /dev/null +++ b/admin/www/mailman-install/node4.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="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 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="#foot33"><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="foot33">... +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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node40.html b/admin/www/mailman-install/node40.html new file mode 100644 index 00000000..54352cce --- /dev/null +++ b/admin/www/mailman-install/node40.html @@ -0,0 +1,131 @@ +<!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="node39.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node41.html" /> +<meta name='aesop' content='information' /> +<title>8 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="7 Create a site-wide" + href="node39.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 Start the Mailman" + 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="node39.html">7 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="node41.html">9 Start the Mailman</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION001800000000000000000"> +8 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="tex2html5" + HREF="#foot520"><SUP>5</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="foot520">... time</A><A + HREF="node40.html#tex2html5"><SUP>5</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="7 Create a site-wide" + href="node39.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 Start the Mailman" + 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="node39.html">7 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="node41.html">9 Start the Mailman</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node41.html b/admin/www/mailman-install/node41.html new file mode 100644 index 00000000..fceac309 --- /dev/null +++ b/admin/www/mailman-install/node41.html @@ -0,0 +1,158 @@ +<!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 name='aesop' content='information' /> +<title>9 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="8 Set up cron" + 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 Check the hostname" + 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 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="node42.html">10 Check the hostname</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION001900000000000000000"> +9 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="8 Set up cron" + 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 Check the hostname" + 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 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="node42.html">10 Check the hostname</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node42.html b/admin/www/mailman-install/node42.html new file mode 100644 index 00000000..69fb16ad --- /dev/null +++ b/admin/www/mailman-install/node42.html @@ -0,0 +1,108 @@ +<!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="node41.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="customizing.html" /> +<meta name='aesop' content='information' /> +<title>10 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="9 Start the Mailman" + 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 Customize Mailman" + 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="node41.html">9 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="customizing.html">11 Customize Mailman</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION0011000000000000000000"> +10 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">mm_cfg.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="9 Start the Mailman" + 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 Customize Mailman" + 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="node41.html">9 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="customizing.html">11 Customize Mailman</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node44.html b/admin/www/mailman-install/node44.html new file mode 100644 index 00000000..f9e164ba --- /dev/null +++ b/admin/www/mailman-install/node44.html @@ -0,0 +1,153 @@ +<!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="customizing.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="troubleshooting.html" /> +<meta name='aesop' content='information' /> +<title>12 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="11 Customize Mailman" + 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="13 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="customizing.html">11 Customize 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="troubleshooting.html">13 Troubleshooting</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION0011200000000000000000"> +12 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">11</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">13</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="11 Customize Mailman" + 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="13 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="customizing.html">11 Customize 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="troubleshooting.html">13 Troubleshooting</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node46.html b/admin/www/mailman-install/node46.html new file mode 100644 index 00000000..1ae12493 --- /dev/null +++ b/admin/www/mailman-install/node46.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="prev" href="troubleshooting.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node47.html" /> +<meta name='aesop' content='information' /> +<title>14 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="13 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="14.1 GNU/Linux issues" + 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="troubleshooting.html">13 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="node47.html">14.1 GNU/Linux issues</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION0011400000000000000000"> +14 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="node47.html">14.1 GNU/Linux issues</a> +<LI><A href="bsd-issues.html">14.2 BSD issues</a> +<LI><A href="node49.html">14.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="13 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="14.1 GNU/Linux issues" + 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="troubleshooting.html">13 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="node47.html">14.1 GNU/Linux issues</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node47.html b/admin/www/mailman-install/node47.html new file mode 100644 index 00000000..ad1ad67d --- /dev/null +++ b/admin/www/mailman-install/node47.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="bsd-issues.html" /> +<link rel="prev" href="node46.html" /> +<link rel="parent" href="node46.html" /> +<link rel="next" href="bsd-issues.html" /> +<meta name='aesop' content='information' /> +<title>14.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="14 Platform and operating" + href="node46.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="14 Platform and operating" + href="node46.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.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="node46.html">14 Platform and operating</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 Platform and operating</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="bsd-issues.html">14.2 BSD issues</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION0011410000000000000000"> +14.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="14 Platform and operating" + href="node46.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="14 Platform and operating" + href="node46.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.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="node46.html">14 Platform and operating</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 Platform and operating</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="bsd-issues.html">14.2 BSD issues</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node49.html b/admin/www/mailman-install/node49.html new file mode 100644 index 00000000..48878a14 --- /dev/null +++ b/admin/www/mailman-install/node49.html @@ -0,0 +1,127 @@ +<!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="node46.html" /> +<link rel="next" href="about.html" /> +<meta name='aesop' content='information' /> +<title>14.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="14.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="14 Platform and operating" + href="node46.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">14.2 BSD issues</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 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="SECTION0011430000000000000000"> +14.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; 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> + +<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.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="14 Platform and operating" + href="node46.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">14.2 BSD issues</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="node46.html">14 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node6.html b/admin/www/mailman-install/node6.html new file mode 100644 index 00000000..de202700 --- /dev/null +++ b/admin/www/mailman-install/node6.html @@ -0,0 +1,105 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node7.html b/admin/www/mailman-install/node7.html new file mode 100644 index 00000000..3406d5a5 --- /dev/null +++ b/admin/www/mailman-install/node7.html @@ -0,0 +1,250 @@ +<!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 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-<version> + % ./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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node8.html b/admin/www/mailman-install/node8.html new file mode 100644 index 00000000..914b7352 --- /dev/null +++ b/admin/www/mailman-install/node8.html @@ -0,0 +1,95 @@ +<!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 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/node9.html b/admin/www/mailman-install/node9.html new file mode 100644 index 00000000..793df48b --- /dev/null +++ b/admin/www/mailman-install/node9.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="node10.html" /> +<link rel="prev" href="node6.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node10.html" /> +<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 <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 <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="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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/postfix-virtual.html b/admin/www/mailman-install/postfix-virtual.html new file mode 100644 index 00000000..7d7a137e --- /dev/null +++ b/admin/www/mailman-install/postfix-virtual.html @@ -0,0 +1,196 @@ +<!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 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 = <your normal virtual alias files>, + 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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/previous.png b/admin/www/mailman-install/previous.png Binary files differnew file mode 100644 index 00000000..497def42 --- /dev/null +++ b/admin/www/mailman-install/previous.png diff --git a/admin/www/mailman-install/qmail-issues.html b/admin/www/mailman-install/qmail-issues.html new file mode 100644 index 00000000..7c3c7955 --- /dev/null +++ b/admin/www/mailman-install/qmail-issues.html @@ -0,0 +1,308 @@ +<!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 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 => mailman@...'s letters + .qmail-owner => mailman-owner's letters +</pre></div> + +<P> +For list aliases, you can either create them manually: + +<P> +<div class="verbatim"><pre> + .qmail-list => posts to the 'list' list + .qmail-list-admin => posts to the 'list's owner + .qmail-list-request => 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> + |/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" > .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 +</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" > .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 +</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 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/troubleshooting.html b/admin/www/mailman-install/troubleshooting.html new file mode 100644 index 00000000..20980a3f --- /dev/null +++ b/admin/www/mailman-install/troubleshooting.html @@ -0,0 +1,259 @@ +<!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="node46.html" /> +<link rel="prev" href="node44.html" /> +<link rel="parent" href="front.html" /> +<link rel="next" href="node46.html" /> +<meta name='aesop' content='information' /> +<title>13 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="12 Create your first" + 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 Platform and operating" + href="node46.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 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="node46.html">14 Platform and operating</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION0011300000000000000000"></A><A NAME="troubleshooting"></A> +<BR> +13 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="tex2html6" + HREF="#foot598"><SUP>6</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 integration 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="foot598">... list</A><A + href="troubleshooting.html#tex2html6"><SUP>6</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="12 Create your first" + 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 Platform and operating" + href="node46.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 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="node46.html">14 Platform and operating</A> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 13, 2004.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/admin/www/mailman-install/up.png b/admin/www/mailman-install/up.png Binary files differnew file mode 100644 index 00000000..a90e0284 --- /dev/null +++ b/admin/www/mailman-install/up.png |