LINUXZONE






 >> Hlavní stránka

(1751/28.09.2010)


 >> Administrace

(161/05.08.2010)


 >> Literatura

(312/14.09.2010)


 >> Bezpečnost

(347/17.09.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(98/16.09.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(176/12.08.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(229/09.09.2010)


 >> Aktuálně

(564/20.09.2010)


 >> RELAX

(213/28.09.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Coolhousing




Coolhousing - Vas poskytovatel dedikovanych serveru




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 60
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články









 Nejlepší články









 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (17%)

LIDS (11%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (62%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





Poštovní server s virtuálními účty trochu jinak

Toto je návod na sestavení poštovního serveru s virtuálními účty. K tomu stačí jen SMTP server Postfix a na příjem pošty pro klienty je použit IMAP a POP3 server Dovecot. K uložení virtuálních účtů jsou použity textové soubory, není tedy potřeba žádný databázový server...

... Samozřejmě musí existovat na DNS serverech odpovídající MX záznamy pro jednotlivé domény, směřující na vytvářený server. V textu používám jako příklad neexistující domény a poštovní adresy. V tomto popisu využívám standardní balíčky z distribuce GNU/Linuxu openSUSE 10.3, ale neměl by být problém návod aplikovat na jakoukoliv jinou distribuci Linuxu. Všechny práce provádí root.

Co je kde uloženo:

seznam domén                       /etc/postfix/vdomains
seznam adres                       /etc/postfix/vmailboxes
seznam aliasů                      /etc/postfix/valiases
konfigurační soubor Postfix        /etc/postfix/main.cf
konfigurační soubor Dovecot        /etc/dovecot/dovecot.conf
adresář pro uložení pošty          /var/spool/mail
log činnosti Postfixu i Dovecotu   /var/log/mail

SMTP server

Všechny domény jsou uloženy v souboru /etc/postfix/vdomains:

domena1.xx      domena1.xx
domena2.xx      domena 2
domena3.xx      3

První sloupec je název domény, ve druhém sloupci může být cokoliv, ale něco tam být MUSÍ. Po jakékoliv změně v souboru je nutné VŽDY provést příkaz:

postmap /etc/postfix/vdomains

Příkaz postmap vytváří z textového souboru databázi, ze které čte Postfix. Samotný Postfix není třeba reloadovat.

Existují dva způsoby uložení pošty na disku pro jednotlivé účty. Buď je všechna pošta uživatele uložena v jediném souboru, to je formát mailbox. Nebo jsou jednotlivé zprávy uživatele uloženy v separátních souborech v adresáři uživatele, to je formát maildir. Seznam všech poštovních adres je v souboru /etc/postfix/vmailboxes (pro formát mailbox):

josef@domena1.xx    josef@domena1.xx
emil@domena2.xx     emil@domena2.xx
franta@domena2.xx   franta@domena2.xx
franta@domena3.xx   franta@domena3.xx

anebo v souboru /etc/postfix/vmailboxes (pro formát maildir):

josef@domena1.xx    josef@domena1.xx/
emil@domena2.xx     emil@domena2.xx/
franta@domena2.xx   franta@domena2.xx/
franta@domena3.xx   franta@domena3.xx/

V prvním sloupci je celý název poštovní adresy účtu a v druhém sloupci je název schránky na disku serveru. Doporučuji používat poštovní adresu. V případě, že budete používat formát maildir, přidejte na konec názvu schránky znak '/'. Po jakékoliv změně v souboru je nutné VŽDY provést příkaz:

postmap /etc/postfix/vmailboxes

Poštovní aliasy (přezdívky) jsou v souboru /etc/postfix/valiases:

pepa@domena1.xx     josef@domena1.xx
emil@domena2.xx     emil@domena2.xx, emil@jinam.xx
frantici@domena1.xx franta@domena2.xx, franta@domena3.xx

Tedy pošta pro pepa@domena1.xx je přesměrována do schránky uživatele josef@domena1.xx. Pošta pro emil@domena2.xx je navíc přeposlána na jiný server, na adresu emil@jinam.xx. A pošta pro frantici@domena1.xx je přesměrována na uživatele franta@domena2.xx a franta@domena3.xx.

Opět po jakékoliv změně v souboru je nutné VŽDY provést příkaz:

postmap /etc/postfix/valiases

Do stávajícího konfiguračního souboru Postfixu /etc/postfix/main.cf je nutné přidat:

virtual_transport = virtual
virtual_minimum_uid = 51
virtual_uid_maps = static:51
virtual_gid_maps = static:51
virtual_mailbox_base = /var/spool/mail
virtual_mailbox_domains = hash:/etc/postfix/vdomains
virtual_mailbox_maps = hash:/etc/postfix/vmailboxes
virtual_alias_maps = hash:/etc/postfix/valiases

V případě, že je počet domén malý, je možné je přímo vypsat v konfiguračním souboru Postfixu, například:

virtual_mailbox_domains = domena1.xx, domena2.xx, domena3.xx

Pochopitelně pak nepotřebujete soubor vdomains. Číslo 51 je UID účtu postfix ze souboru /etc/passwd.

Po jakékoliv změně v konfiguračním souboru je nutné VŽDY znovu načíst konfiguraci pro Postfix:

/etc/init.d/postfix reload

nebo v openSUSE příkazem

rcpostfix reload

Nyní lze funkčnost poštovního serveru otestovat, například jednoduchým programem mail z balíčku mailx. Takto lze provést test, kdy uživatel emil@domena2.xx posílá poštu uživateli josef@domena1.xx:

mail -r emil@domena2.xx josef@domena1.xx

A takto si lze přečíst poštu pro uživatele josef@domena1.xx (pochopitelně musíte být root):

mail -f /var/spool/mail/josef@domena1.xx

Pokud něco nefunguje, vyplatí se podívat do logu Postfixu (/var/log/postfix), kde je záznam jeho činnosti. Příkaz postmap navíc slouží k testování dotazů, například:

# postmap -q domena2.xx /etc/postfix/vdomains
domena 2

IMAP a POP3 server

Nejprve vytvoříme soubor /etc/dovecot/passwd, kde jsou uložena hesla pro jednotlivé virtuální uživatele.

josef@domena1.xx:{PLAIN}heslo
emil@domena2.xx:{MD5}$1$xxmfJp2Z$Xsz0LQxTf4ChK.sMm8QKI0
franta@domena2.xx:{SSHA}KgzVZlGq9+JlT5kGWEtk4nT1+dlPZOE7
franta@domena3.xx:{CRYPT}omNJtqTs2QvTY

V prvním sloupci je název schránky (totéž, co je ve druhém sloupci souboru vmailboxes). Druhý sloupec, oddělený dvojtečkou, obsahuje typ kódování (uzavřený ve složených závorkách) a zakódované heslo. Soubor musí končit prázdným řádkem. Různé druhy kódování hesla zjistíte příkazem /usr/sbin/dovecotpw -l. Zakódované heslo pak získáte pomocí /usr/sbin/dovecotpw -s 'typ kodovani'. Například:

hostname:~ # /usr/sbin/dovecotpw -s crypt
Enter new password:
Retype new password:
{CRYPT}omNJtqTs2QvTY

V konfiguračním souboru Dovecotu /etc/dovecot/dovecot.conf je zapotřebí nastavit autentizaci ze souboru.

auth default {
  mechanisms = plain
  passdb passwd-file {
    args = /etc/dovecot/passwd
  }
  userdb static {
    args = uid=51 gid=51
  }
}

Číslo 51 je UID účtu postfix ze souboru /etc/passwd. Dále je nutno Dovecot informovat, kde jsou uloženy schránky pro virtuální uživatele - upravíme /etc/dovecot/dovecot.conf (pro formát mailbox):

mail_location = mbox::INBOX=/var/spool/mail/%u:INDEX=MEMORY

Podrobnější informace naleznete v dokumentaci pro Dovecot, stránka mbox configuration.

Alternativně upravíme /etc/dovecot/dovecot.conf takto (pro formát maildir):

mail_location = maildir:/var/spool/mail/%u

Minimální konfigurační soubor Dovecotu /etc/dovecot/dovecot.conf pak vypadá například takto:

protocols = pop3 imap
ssl_disable = yes
disable_plaintext_auth = no
mail_location = maildir:/var/spool/mail/%u
pop3_uidl_format = %08Xu%08Xv

first_valid_uid = 51
first_valid_gid = 51
last_valid_uid = 51
last_valid_gid = 51

auth_verbose = yes
auth default {
  mechanisms = plain
  passdb passwd-file {
    args = /etc/dovecot/passwd
  }
  userdb static {
    args = uid=51 gid=51
  }
}

Po jakékoliv změně v konfiguračním souboru je nutné VŽDY znovunačíst konfiguraci pro Dovecot:

/etc/init.d/dovecot reload

nebo např. v openSUSE takto:

rcdovecot reload

Záznam činnosti Dovecotu je také v /var/log/mail.

Závěr

Porovnání výkonnosti tohoto serveru (FILE) s poštovním serverem na bázi MySQL:
Bylo vygenerováno 10 domén a v každé z nich 100 adres, celkem tedy 1000 virtuálních poštovních účtů. Dále byl napsán program, který po spuštění vytvořil 100 vláken a z každého vlákna poslal 100 zpráv na náhodné testovací adresy, celkem tedy 10 000 mailů. Pak byla měřena doba (příkaz time), do kdy byly všechny maily uloženy do schránek a některé další hodnoty, jako počet procesů a průměrné zatížení (loadavg). V případě verze s MySQL musela být v konfiguračním souboru databáze MySQL (/etc/my.cnf) zvýšena hodnota max_connections na 500.
Průměrné zatížení dosahovalo hodnoty až 100. Počet procesů při nezatíženém systému byl cca 200, při zatížení u tohoto serveru byl počet procesů maximálně 600 a u serveru s MySQL stoupal až na 800. Průměrné časy ze tří měření:

FILE:

real    1m8.8s
user    0m8.7s
sys     0m3.7s

MySQL:

real    1m17.7s
user    0m8.6s
sys     0m3.6s

Zde popsaný server dosahuje stejného výkonu jako server postavený na bázi MySQL, navíc je šetrnější ke zdrojům počítače. Nevýhodou je zatím chybějící nástroj pro zakládání a údržbu jednotlivých účtů. Po instalaci programu Amavis-new získáte navíc antispamovou i antivirovou (Clamav) kontrolu.

Odkazy

Další části seriálu:

Autor: Jiří Jozif, 27. 02. 2008, 00:00
Sekce Administrace, Komentářů: 0
Průměrné hodnocení: 0,37

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře







PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama