[Frugalware-darcs] blogdata: Mailman telepítése virtuális domainekre
CSÉCSY László
boobaa at frugalware.org
Fri Mar 9 15:23:34 CET 2007
Darcsweb-Url: http://darcs.frugalware.org/darcsweb/darcsweb.cgi?r=blogdata;a=darcs_commitdiff;h=20070309142231-60d9d-27ef0632f41e26aed4a970baa2a7f49aca9ee6a6.gz;
[Mailman telepítése virtuális domainekre
CSÉCSY László <boobaa at frugalware.org>**20070309142231] {
addfile ./blog/Frugalware/virtual-mailman.txt
hunk ./blog/Frugalware/virtual-mailman.txt 1
+Mailman telepítése virtuális domainekre
+
+(Felhasználási feltételek a cikk végén.)
+
+Elõfeltételek: beállított, tesztelt és mûködõ Postfix (tudjon leveleket küldeni és fogadni) és Apache.
+
+Feltevések: gépünk IP-címe <tt>1.2.3.4</tt>, hostneve <tt>foo</tt>. A Postfixnek beállított <tt>myhostname</tt> mondjuk <tt>domain1.hu</tt>. A gép elérhetõ <tt>foo.domain1.hu</tt> névvel is. A <tt>@domain1.hu</tt>, <tt>@domain2.hu</tt> és <tt>@domain3.hu</tt> leveleit kezeljük, mindet virtuálisan (azaz mindegyik domain elsõdleges MX-e <tt>1.2.3.4</tt>). A <tt>foo.domain1.hu</tt> számára nem szükséges MX-et bejegyeztetni. Apache webszervert használunk, mindegyik domain külön <tt>VirtualHost</tt> bejegyzéssel rendelkezik; a <tt>foo.domain1.hu</tt>-t állítottuk be https-en (azaz az <tt>1.2.3.4</tt> IP-hez tartozó biztonságos domain a <tt>foo.domain1.hu</tt>). Bonyolításképpen https-en tesszük elérhetõvé a Mailman felületeit.
+
+Telepítés: mi sem egyszerûbb: <tt>pacman -S mailman</tt>.
+
+Beállítás: több dologra is oda kell figyelnünk, hiszen a Mailman mind levelezõ, mind böngészõprogramból elérhetõ.
+
+Apache beállítása: <tt>/etc/httpd/conf/ssl.conf</tt> végére:
+
+<pre>ScriptAlias /mailman/ /home/mailman/cgi-bin/
+Alias /pipermail/ /home/mailman/archives/public/
+<Directory /home/mailman/archives/public>
+ Options FollowSymLinks
+</Directory>
+</pre>
+
+Postfix beállítása: az <tt>/etc/postfix/main.cf</tt>-ben ellenõrizzük (vagy állítsuk be) a következõket:
+
+<pre>recipient_delimiter = +
+transport_maps = hash:/etc/postfix/transport
+mailman_destination_recipient_limit = 1
+relay_domains = foo.domain1.hu
+</pre>
+
+Ugyanitt az <tt>alias_maps</tt>-hez adjuk hozzá a következõt (a már ottlevõ dolgok meghagyásával, vesszõvel elválasztva):
+
+<pre>hash:/home/mailman/data/aliases</pre>
+
+Az <tt>/etc/postfix/transport</tt>-hoz adjuk hozzá a következõ sort:
+
+<pre>foo.domain1.hu mailman:</pre>
+
+Dolgoztassuk fel ezt a fájlt:
+
+<pre>postmap /etc/postfix/transport</pre>
+
+Az <tt>/etc/postfix/master.cf</tt>-hez adjuk hozzá a következõ sorokat:
+
+<pre>mailman unix - n n - - pipe
+ flags=FR user=mailman:nogroup
+ argv=/home/mailman/postfix-to-mailman.py ${nexthop} ${user}</pre>
+
+Mailman beállítása: több részbõl áll. A programokat mindig <tt>/home/mailman</tt> könyvtárban állva kell indítani. Elõször ellenõrizzük a jogosultságokat: <tt>bin/check_perms</tt>. Ha hibát talál, rootként javítható <tt>bin/check_perms -f</tt> futtatásával. A privát archívumokról vegyük le a world-executable bitet:
+
+<pre>chown o-x archive/private</pre>
+
+Töltsük le a <a href="http://www.gurulabs.com/downloads/postfix-to-mailman-2.1.py">postfix-to-mailman</a> szkriptet, a fentieknek megfelelõen tegyük a <tt>/home/mailman/postfix-to-mailman.py</tt> helyre, és adjunk rá futtatás jogot:
+
+<pre>chmod o+x /home/mailman/postfix-to-mailman.py</pre>
+
+A fájl elején állítsuk be a következõ sorokat:
+
+<pre>MailmanHome = "/home/mailman";
+MailmanOwner = "postmaster at domain1.hu";</pre>
+
+A listák általános beállításait a <tt>/home/mailman/Mailman/mm_cfg.py</tt> fájlban végezzük el, írjuk a végére ezeket a sorokat:
+
+<pre>MTA = 'Postfix'
+DEFAULT_EMAIL_HOST = 'foo.domain1.hu'
+DEFAULT_URL_HOST = 'foo.domain1.hu'
+add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
+DEFAULT_SERVER_LANGUAGE = 'hu'
+DEFAULT_URL_PATTERN = 'https://%s/mailman/'
+PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s'</pre>
+
+Állítsuk be a Mailman aliasait, futtassuk a következõket:
+
+<pre>bin/genaliases
+cd data
+chown mailman aliases aliases.db
+chmod g+w aliases aliases.db</pre>
+
+Állítsuk be a Mailman rendszeresen futtatandó részeit:
+
+<pre>cd /home/mailman/cron
+crontab crontab.in -u mailman</pre>
+
+Indítsuk újra az érintett szolgáltatásokat:
+
+<pre>service httpd restart
+service postfix restart
+service mailman start</pre>
+
+Ha a Mailman levelezõ részét szeretnénk elindítani bootkor:
+
+<pre>service mailman add</pre>
+
+Létre kell hoznunk egy rendszerszintû levelezõlistát:
+
+<pre>cd /home/mailman
+bin/newlist mailman</pre>
+
+Hozzunk létre egy saját listát is:
+
+<pre>bin/newlist domain1-ertesites</pre>
+
+A böngészõnkben nyissuk meg a következõ oldalt:
+
+<pre>https://foo.domain1.hu/mailman/admin/domain1-ertesites/?VARHELP=general/host_name</pre>
+
+(az imént megadott jelszó kell hozzá), és állítsuk át a lista kimenõ szervercímét <tt>foo.domain1.hu</tt>-ról <tt>domain1.hu</tt>-ra. Ezáltal a kimenõ levelekben elrejtettük a (még virtuálisan sem létezõ) <tt>foo.domain1.hu</tt> domaint. Ahhoz, hogy ezekre a levelekre válaszolni is lehessen, létre kell hozni néhány aliast:
+
+<pre>domain1-ertesites at domain1.hu -> domain1-ertesites at foo.domain1.hu
+domain1-ertesites-bounces at domain1.hu -> domain1-ertesites-bounces at foo.domain.hu
+domain1-ertesites-request at videsign.hu -> domain1-ertesites-request at foo.domain1.hu</pre>
+
+Ezzel a módszerrel lehet több virtuális domainünkben is azonos címû lista (azaz lehet pl. <tt>hirlevel at domain1.hu</tt> és <tt>hirlevel at domain2.hu</tt> címen elérhetõ levelezõlistánk is). Természetesen mindegyik listának egyedi neve kell legyen (ezért szerepel a fenti példában az <tt>ertesites</tt> elõtt a <tt>domain1-</tt> kitétel is), ezt azonban további aliasokkal elrejthetjük. A hírleveles példánál maradva a következõ aliasokra lesz tehát szükségünk:
+
+<pre>domain1-hirlevel at domain1.hu -> domain1-hirlevel at foo.domain1.hu
+domain1-hirlevel-bounces at domain1.hu -> domain1-hirlevel-bounces at foo.domain1.hu
+domain1-hirlevel-request at videsign.hu -> domain1-hirlevel-request at foo.domain1.hu
+domain2-hirlevel at domain2.hu -> domain2-hirlevel at foo.domain1.hu
+domain2-hirlevel-bounces at domain2.hu -> domain2-hirlevel-bounces at foo.domain1.hu
+domain2-hirlevel-request at videsign.hu -> domain2-hirlevel-request at foo.domain1.hu
+hirlevel at domain1.hu -> domain1-hirlevel at foo.domain1.hu
+hirlevel at domain2.hu -> domain2-hirlevel at foo.domain1.hu</pre>
+
+A lényeg az utolsó két sor, de figyeljünk oda rá, hogy a <tt>foo.domain1.hu</tt> <b>mindig</b> maradjon <tt>foo.domain1.hu</tt>. Az egész játéknak ugyanis az a trükkje, hogy ezen a (virtuálisan sem létezõ) <tt>foo.domain1.hu</tt> domainen megy át az összes levelezõlistánk összes levele, amit a Postfix transport táblája irányít a <tt>postfix-to-mailman.py</tt> szkript felé, ami végeredményben megfelelõ módon továbbítja a listás leveleket a Mailman felé.
+
+<b>Figyelem!</b> A cikk írója semmiféle felelõsséget nem vállal az itt leírtakkal kapcsolatban, különösen, de nem kizárólagosan levelek elveszítésével, rossz helyre történõ kézbesítésével és hasonlókkal kapcsolatban. Ez a cikk a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/hu/">Creative Commons Nevezd meg!-Ne add el!-Így add tovább! 2.5 Magyarország Licenc</a> feltételeinek megfelelõen szabadon felhasználható.
hunk ./blog/metadata.db 1
-a:73:{s:26:"/Blosxcom.PHP/na_vegre.txt";a:3:{i:0;i:1137284760;i:1;s:7:"default";i:2;s:53:"Végre sikerült felrugdosni ezt a "kiváló" blogmotort
+a:74:{s:26:"/Blosxcom.PHP/na_vegre.txt";a:3:{i:0;i:1137284760;i:1;s:7:"default";i:2;s:53:"Végre sikerült felrugdosni ezt a "kiváló" blogmotort
hunk ./blog/metadata.db 74
+";}s:31:"/Frugalware/virtual-mailman.txt";a:3:{i:0;i:1173446226;i:1;s:7:"default";i:2;s:40:"Mailman telepítése virtuális domainekre
}
More information about the Frugalware-darcs
mailing list