8.2. Mailman

En af de rigtig gode programmer til håndtering af postlister er Mailman. Det kommer med grafisk administration via en webbrowser, kan lave mail<-%gt;news gateway automatisk, email-arkiv og meget andet.

8.2.1. Installation af Mailman

Installation af mailman fra RPM er ikke nødvendigvis det nemmeste. Man kan hente kildeteksten og oversætte denne med standard udpak (tar xvzf), ./configure, make og make install.

Herved kommer man igennem et par skridt med at lave en "mailman" bruger og gruppe, lave kataloget /usr/local/mailman ejet af mailman:mailman, og det går ret nemt.

På Mandrake skal mailman-pakken installeres og så er man ret tæt på at være klar. Red Hat er ikke helt så nem – man de hemmelige tricks er forklaret i det følgende :)

8.2.2. Opsætning af Mailman

Følgende ting skal køres en gang for alle.

Find først programmet mmsitepass.

[root@linus /root]# rpm -ql mailman | grep mmsitepass
/var/mailman/bin/mmsitepass

Installerede du fra kildetekst, så brug find / -name mmsitepass.

I dette tilfælde er det /var/mailman/bin/mmsitepass som skal køres som root for at sættes postlisteserverens adgangskode.

[root@linus /root]# /var/mailman/bin/mmsitepass
New site password:

Angiv en god adgangskode som skal anvendes når der skal laves nye lister i det følgende!

Hernæst skal man finde den standard opsætningsfil som mailman anvender til bl.a. at sætte internet-information.

[root@linus /root]# rpm -ql mailman | grep mm_cfg.py
/var/mailman/Mailman/mm_cfg.py

Indsæt i denne fil URL-adressen på maskinens webserver som DEFAULT_URL_HOST og domænenavnet for postserveren står i DEFAULT_EMAIL_HOST. I eksemplet sættes lister op for LISTENAVN@hven.dk, hvor LISTENAVN kommer senere og www.hven.dk skal passe med at der er en web-server på http://www.hven.dk.

DEFAULT_EMAIL_HOST = 'hven.dk'
DEFAULT_URL_HOST = 'www.hven.dk'

Det kan også være man bliver nødt til (nogle gange hos Red Hat), at eksplicit anføre brugerid og gruppe på mailman-brugeren. Er det bruger-ID nr 41 og gruppe 42 (se /etc/passwd) så tilføj til mm_cfg.py.

MAILMAN_UID = 41
MAILMAN_GID = 42

Anvender man postfix som MTA, så skriv også i mm_cfg.py

MTA = 'Postfix'
unknown_local_recipient_reject_code = 550
POSTFIX_ALIAS_CMD = '/usr/sbin/postalias'
POSTFIX_MAP_CMD = '/usr/sbin/postmap'

Sikr dig at /usr/sbin/postalias og /usr/sbin/postmap eksisterer.

Der er masser af gode forklaringer på hvordan mailman fungerer internt i filen Defaults.py som ligger samme sted som mm_cfg_py, dvs. det kan være interessant at læse den igennem på et tidspunkt. Generelle opsætninger for alle lister på maskinen bør ske igennem denne fil.

På Red Hat skal man nu tjeke at mailman-scriptet kan startes. Kør /etc/init.d/mailman start og se om det går godt. Mandrake har ikke dette script.

På Red Hat skal man køre følgende en gang for alle for at mailman startes sammen med maskinen

[root@linus /root]# /sbin/chkconfig --level 35 mailman on
[root@linus /root]# /sbin/chkconfig --list mailman
mailman         0:off   1:off   2:off   3:on    4:off   5:on   6:off

Dette starter mailman (kun nødvendigt på Red Hat) i runlevel 3 og 5 (se Afsnit 2.5).

Det smarte med Mailman er at man kan administere systemet via en web-browser. Derfor skal man nu tilføje /mailman/ (webadministration) og /pipermail/ (postarkiv) til Apache webserveren. Der er en fil /etc/httpd/conf/mailman.conf, som følger ned Mailman i RPM-form, som nu skal tilføjes i Apaches Vhosts.conf eller httpd.conf under den webserver man anvender i forvejen. Erstat /var/mailman/ med den korrekte sti hvis du ikke anvender Red Hat RPM-pakker.

ScriptAlias /mailman/ /var/mailman/cgi-bin/
<Directory /var/lib/mailman/cgi-bin>
  Options -Indexes -FollowSymLinks -Includes ExecCgi
  AllowOverride None
  order allow,deny
  allow from all
</Directory>

#
# Configure the public archives
#
Alias /pipermail/ /var/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
  Options -Indexes FollowSymlinks -Includes
  AllowOverride None
  order allow,deny
  allow from all
</Directory>

8.2.3. Oprette postlister i Mailman

For at oprette en enkelt post-liste så kan man enten lade mailman automatisk generere nye post-aliaser eller man kan køre det mere manuelt. I det følgende er det vist manuelt.

Find først kommandoen til at lave en ny liste newlist.

[root@linus /root]# rpm -ql mailman | grep newlist
/var/mailman/bin/newlist

(samme sted ligger kommandoen til at slette en liste rmlist).

Find herefter kommandoerne til at oprette en liste newlist

[root@linus /root]# /var/mailman/bin/newlist LISTENAVN admin@hven.dk MIT_HEMMELIGE_PASSWORD_FOR_DENNE_LISTE

Vil man senere slette en liste helt (inkl. mailarkiv)

[root@linus /root]# /var/mailman/bin/rmlist -a LISTENAVN

Den første liste man skal oprette er listen "mailman", der muligvis allerede optræder i /etc/aliases – slet dette og lav en "mailman"-liste i stedet. Erstat admin@hven.dk med systemadministratorernes post-konto.

[root@linus /root]# /var/mailman/bin/newlist mailman admin@hven.dk MIT_HEMMELIGE_PASSWORD_FOR_DENNE_LISTE