File: price.html

package info (click to toggle)
lg-issue91 1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,084 kB
  • ctags: 266
  • sloc: ansic: 1,343; perl: 104; sh: 98; makefile: 34
file content (357 lines) | stat: -rw-r--r-- 12,731 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
<!--startcut  ==============================================-->
<!-- *** BEGIN HTML header *** -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD>
<title>Configuring Mailman on a Debian [Woody] system with Exim LG #91</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000">
<!-- *** END HTML header *** -->

<!-- *** BEGIN navbar *** -->
<A HREF="okopnik.html">&lt;&lt;&nbsp;Prev</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="index.html">TOC</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="../index.html">Front Page</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue91/price.html">Talkback</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="../faq/index.html">FAQ</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="shuveb.html">Next&nbsp;&gt;&gt;</A>
<!-- *** END navbar *** -->

<!--endcut ============================================================-->

<TABLE BORDER><TR><TD WIDTH="200">
<A HREF="http://www.linuxgazette.com/">
<IMG ALT="LINUX GAZETTE" SRC="../gx/2002/lglogo_200x41.png" 
	WIDTH="200" HEIGHT="41" border="0"></A> 
<BR CLEAR="all">
<SMALL>...<I>making Linux just a little more fun!</I></SMALL>
</TD><TD WIDTH="380">


<CENTER>
<BIG><BIG><STRONG><FONT COLOR="maroon">Configuring Mailman on a Debian [Woody] system with Exim</FONT></STRONG></BIG></BIG>
<BR>
<STRONG>By <A HREF="../authors/price.html">Rich Price</A></STRONG>
</CENTER>

</TD></TR>
</TABLE>
<P>

<!-- END header -->



<H2>INTRODUCTION</H2>
<P>
This mini HOWTO is a product of my attempt to configure Mailman on a 
Debian [Woody] system that uses Exim as its MTA.  I started taking 
notes when I realized that the information that I needed was scattered
over a large number of FAQs and README files.
<P>
Please note that most of this material appears in the documentation 
that comes with the Mailman package.  I have merely compiled it in a
more coherent and readable form.
<P>
I assume at the start that both Apache and Exim are up and running.
The Mailman package should be installed with "apt-get install mailman".
<P>
Debian mailman installs with the following directory structures:
<PRE>
/etc/mailman     is the location of the mailman config file [mm_cfg.py].
/var/lib/mailman is where the lists and archives will be created.
/usr/lib/mailman is where Mailman is installed.
/usr/doc/mailman is where the documentation can be found.
</PRE>
<P>
Note that for all installed files	User is "root" and Group is "list".

<H2>THE EXIM CONFIGURATION FILE</H2>
<P>
First you should make the following changes to exim configuration file.
<P>
Insert this at end of main configuration settings section 
(<A HREF="misc/price/exim1.txt">Text Version</A>):
<PRE>
# Mailman stuff
# home dir for mailman
MAILMAN_HOME=/var/lib/mailman
# wrapper script for mailman
MAILMAN_WRAP=MAILMAN_HOME/mail/wrapper
# user and group for mailman
MAILMAN_UID=list
MAILMAN_GID=daemon
</PRE>
<P>
Insert this at end of transports configuration  section
(<A HREF="misc/price/exim2.txt">Text Version</A>):
<PRE>
# Mailman stuff
##
## Three transports for list mail, request mail and admin mail
## respectively
## Mailman is installed in MAILMAN_HOME
## Mailman is configured to be invoked as user exim
list_transport:
        driver = pipe
        command = MAILMAN_WRAP post ${lc:$local_part}
        current_directory = MAILMAN_HOME
        home_directory = MAILMAN_HOME
        user = MAILMAN_UID
        group = MAILMAN_GID                                                                                           
list_request_transport:
        driver = pipe
        command = MAILMAN_WRAP mailcmd ${lc:$local_part}
        current_directory = MAILMAN_HOME
        home_directory = MAILMAN_HOME
        user = MAILMAN_UID
        group = MAILMAN_GID           
list_admin_transport:
        driver = pipe
        command = MAILMAN_WRAP mailowner ${lc:$local_part}
        current_directory = MAILMAN_HOME
        home_directory = MAILMAN_HOME
        user = MAILMAN_UID
        group = MAILMAN_GID
</PRE>
<P>
In directors configuration section change system_aliases to look like this 
(<A HREF="misc/price/exim3.txt">Text Version</A>):
<PRE>
system_aliases:
  driver = aliasfile
  file_transport = address_file
  pipe_transport = address_pipe
  file = /etc/aliases
  search_type = lsearch
  user = list
</PRE>
<P>
Insert this in directors configuration section just before the user mailbox part
 (<A HREF="misc/price/exim4.txt">Text Version</A>):
<PRE>
# Mailman Stuff
## Directors section [this deals with local addresses]
##
## First 2 directors rewrite list-owner or owner-list to list-admin
## This is only done if the list exists.
## List existence checks are done by seeing if the file
## MAILMAN_HOME/lists//config.db exists.                                                                                            
list_owner_director:
   driver = smartuser
   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
   suffix = "-owner"
   new_address = "${lc:$local_part}-admin@${domain}"                                                                                       
owner_list_director:
   driver = smartuser
   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
   prefix = "owner-"
   new_address = "${lc:$local_part}-admin@${domain}"                                                                                 
## The next 3 directors direct admin, request and list mail to the 
## appropriate transport.  List existence is checked as above.                                                                                                            
list_admin_director:
   driver = smartuser
   suffix = -admin
   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
   transport = list_admin_transport
list_request_director:
   driver = smartuser
   suffix = -request
   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
   transport = list_request_transport                                                                                                       
list_director:
   driver = smartuser
   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
   transport = list_transport
</PRE>
<H2>THE APACHE CONFIGURATION FILE</H2>
<P>
Next you should make the following changes to the apache 
configuration file.
<P>
Add this to the 'Main' server configuration 
(<A HREF="misc/price/apache.txt">Text Version</A>): 
<PRE>
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
&lt;Directory /usr/lib/mailman/cgi-bin/&gt;
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
&lt;/Directory&gt;
Alias /pipermail/ /var/lib/mailman/archives/public/
&lt;Directory /var/lib/mailman/archives/public&gt;
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
&lt;/Directory&gt;
Alias /mmimages/ /usr/share/doc/mailman/images/
&lt;Directory /usr/share/doc/mailman/images&gt;
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
&lt;/Directory&gt;
</PRE>
<P>
Then syntax check your changes with this command.
<P>
apache -k -f <modified/config/file>
<P>
If all is well you won't get any error messages.
<P>
<H2>THE MAILMAN CONFIGURATION FILE</H2>

Next make these changes to mailman configuration file [mm_cfg.py].
Remember, this is the file found at /etc/mailman.
<P>
Modify these two existing lines as shown:
<PRE>
DEFAULT_HOST_NAME	= '{mail.server}'
DEFAULT_URL      	= 'http://{web.server}/mailman/'
</PRE>
<P>
Where {web.server} is the fully qualified name of your server
and {mail.server} is the non-local part of your email address.
<P>
For example, let's say that your server ralph in your domain 
bigboy.org has a DNS alias [c record] of www and an mx record 
for bigboy.org.  In this case neither {web.server} nor
{mail.server} would be ralph.bigboy.org.  Your config would be:
<PRE>
DEFAULT_HOST_NAME	= 'bigboy.org'
DEFAULT_URL      	= 'http://www.bigboy.org/mailman/'
</PRE>
<P>
You should also add the following new line to mm_cfg.py:
<PRE>
IMAGE_LOGOS       = '/mmimages/'
</PRE>
<H2>ALIASES</H2>
<P>
Add the following lines to /etc/aliases:
<PRE>
mailman-owner:	mailman
mailman:       	postmaster
</PRE>
<P>
This assumes that you already have a postmaster alias.

<H2>SITE PASSWORD</H2>
<P>
Next create your site password with the command:
<P>
/usr/lib/mailman/bin/mmsitepass  <site-password>
<P>
Where <site-password> is the Mailman master password which can 
be used anywhere that individual user or mailing list 
administrator passwords are required.  This password gives the 
mailman site administrator the ability to adjust things when 
necessary.

<H2>TESTING</H2>
<P>
You are now ready to test Mailman.  To do this, you should create
a list named test. This list should be deleted after you are done
using it.  If you find problems while testing then fix them and 
then re do this test procedure from the start.
<P>
First run the job /usr/lib/mailman/bin/newlist
and respond as follows to its prompts: 
<PRE>
Enter the name of the list: test
Enter the email of the person running the list: {you@domain.name}
Initial test password:  {you-pick-it}
{Make note of the alias lines that are now printed.  See below.}
Hit enter to continue with test owner notification...{Enter}
</PRE>
<P>
Next add the lines specified by newlist to the alias file.  
They should look something like this:
<PRE>
## test mailing list
## created: 31-Mar-2003 root
test:            "|/var/lib/mailman/mail/wrapper post test"
test-admin:      "|/var/lib/mailman/mail/wrapper mailowner test"
test-request:    "|/var/lib/mailman/mail/wrapper mailcmd test"
test-owner:      test-admin
</PRE>
<P> 
Wait for Mailman to send you [the list owner] an email. 
This email will start with something like the following text:
<P>
----- start of excerpt -----
<P>
The mailing list `test' has just been created for you.  The following
is some basic information about your mailing list.
<P>
Your mailing list password is:
<P>
    {password}
<P>
You need this password to configure your mailing list.  You also need
it to handle administrative requests, such as approving mail if you
choose to run a moderated list.
<P>
You can configure your mailing list at the following web page:
<P>
    http://{your.web.server}/mailman/admin/test
<P>
The web page for users of your mailing list is: 
<P>
    http://{your.web.server}/mailman/listinfo/test
<P>
----- end of excerpt -----
<P>
After you receive this email, go to the web page 
"http://{your.web.server}/mailman/admin/test"
and sign in with the supplied password.  At this time, you might want 
to review the General Options section of this Administration web page.
[The other sections of this web page are also worth a glance.]  Add 
some text in the description sections to familiarize yourself with
how updates are done.  [It's all rather straightforward and self
documenting.] When you are done, save your updates and logout.
<P>
Next go to the web page 
"http://{your.web.server}/mailman/listinfo/test"
and review the page.  Use this page to subscribe to the list.
<P>
You should soon get a confirmation request email. Follow the 
instructions on this email to confirm your subscription request.
<P>
Send an Email to the list.  If you get it, the install was a success. 
</BODY></HTML>




<!-- *** BEGIN author bio *** -->
<P>&nbsp;
<P>
<!-- *** BEGIN bio *** -->
<P>
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
<em>
Rich Price has been using computers for around 35 years and Linux
for around 10 years.  And he hasn't got tired of either quite yet.
</em>
<br CLEAR="all">
<!-- *** END bio *** -->

<!-- *** END author bio *** -->


<!-- *** BEGIN copyright *** -->
<hr>
<CENTER><SMALL><STRONG>
Copyright &copy; 2003, Rich Price.
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR> 
Published in Issue 91 of <i>Linux Gazette</i>, June 2003
</STRONG></SMALL></CENTER>
<!-- *** END copyright *** -->
<HR>

<!--startcut ==========================================================-->
<CENTER>
<!-- *** BEGIN navbar *** -->
<A HREF="okopnik.html">&lt;&lt;&nbsp;Prev</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="index.html">TOC</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="../index.html">Front Page</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue91/price.html">Talkback</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="../faq/index.html">FAQ</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A HREF="shuveb.html">Next&nbsp;&gt;&gt;</A>
<!-- *** END navbar *** -->
</CENTER>
</BODY></HTML>
<!--endcut ============================================================-->