vyuka:cviceni:y36sps:semestralky:pitrit1

Tomáš Pitřinec

Zadání: Jako svoji semestrálku jsem nastavoval mailový server postfix tak, aby:

1. mel schranku pro uzivatele mého pocitace - tzn. neiss a root

2. sloužil jako smtp server isp - tzn. posílal maily z jakékoliv adresy kamkoliv

3. uměl obsluhovat virtuální mailový schránky pro několik domén a několik virtuálních uživatelů, tzn. uživatelů, kteří na mém počítači nemají uživatelský účet.

4. Napsat skript pro přidání nového uživatele.

Schválení: ???

Instalace a konfigurační složky

Mailový server se nainstaluje příkazem sudo apt-get install postfix. Složka konfiguračních souborů je /etc/postfix, hlavním konfiguračním souborem je main.cf. V jeho syntaxi vadí, když komentář začíná na stejném řádku za nějakými parametry. Server pro stahování pošty ze serveru (pop server) se jmenuje courier-pop, instaluje se apt-get courier-pop a s ním se nainstalují i balíky courier-base, courier-authlib-userdb a courier-authdaemon. Konfigurační složka courieru je /etc/courier/. Používají ji všechny tyto daemony. Log jsem používal jen /var/log/mail.log

Schránka pro uživatele tohoto počítače:

V adresářích uživatelů musí existovat adresář Maildir vytvořený příkazem maildirmake a s dostatečnými právy na to, aby do něj mohl postfix zapisovat. V mailovém klientu se pak dají nastavit účty neiss@moje a root@moje s heslem stejným jako je jejich uživatelský heslo.

Mailový server isp:

Stačí správně nastavit hodnotu mynetworks v main.cf.

Virtualní mailové schránky:

Nejdřív jsem vytvořil uživatele (useradd -u 1001 -g users -d /home/vmail -s /bin/false vmail). V jeho složce jsem vytvořil složky pro každou doménu a v nich příkazem maildirmake složky pro každýho uživatele. Pak jsem upravil konfiguráky v /etc/postfix, jak zde jsou zálohované a popsané (popisky jsou v main.cf). Z každého konfiguráku je po každé změně nutné udělat binární soubor (tzv. databasi) příkazem postmap. Aby to začalo chodit je pak nutno znovunačíst konfiguráky postfixu příkazem postfix reload. Potom je potřeba nakonfigurovat ještě courier. Nejprve jsem podle návodu zakomentoval v /etc/courier/pop3d řádku #MAILDIRPATH=Maildir. Dál jsem musel změnit druh autentifikace v souboru /etc/courier/authdaemonrc, upravil jsem tuto řádku: authmodulelist=“authpam authuserdb”. Pak jsem vytvořil soubor userdb v konfiguračním adresáři couriera: pw2userdb | grep vmail > /etc/userdb; chmod 700 /etc/userdb. Příkaz pw2userdb je jen jiným druhem výstupu cat /etc/passwd, který se hodí pro tento program. Tak jsem dostal první dva řádky souboru usedb, další se vytvářejí příkazy userdb a userdbpw. Pak jsem z toho vytvořil příkazem makeuserdb databasový soubor (jako v postfixu), který se jmenuje userdb.dat. Nakonec bylo potřeba reloadnout 2 démony, jak couriera ('/etc/init.d/courier-pop') tak i courier-auth ('/etc/init.d/courier-authdaemon'). Uživatelé mají uživatelské jméno jméno@doména a heslo, jaké jim bylo zadáno.

Skript na přidání uživatele:

Protože při přidání uživatele musím vytvořit složku a upravovat mnoho souborů, pak je načítat a reloadovat démony, napsal jsem na to skript. Další skript znovaNacist.sh jen vytváří database a reloaduje démony.


Složka se všemi konfiguráky a skripty: http://moon.felk.cvut.cz/~pitrit1/sps_semestralka/ (Kdybyste snad někdo chtěl podle toho postupovat, nejvíce informací najdete v souboru poznamky.txt, který jsem si psal jako návod pro sebe při případném budoucím použití. Podle toho je ale také napsán.

Tatáž složka zazipovaná zde na wiki: https://dsn.felk.cvut.cz/wiki/_media/vyuka/cviceni/y36sps/semestralky/pitrit1.zip

Dokumentace (omluvte prosím stylistické a formální nedostatky) https://dsn.felk.cvut.cz/wiki/_media/vyuka/cviceni/y36sps/semestralky/pitrit1_dokumentace.pdf

  • vyuka/cviceni/y36sps/semestralky/pitrit1.txt
  • Last modified: 2009/06/05 07:05
  • by pitrit1