Dnes je 16. srpna 2017  23:44
nepřihlášen  Neznámý   zaregistruj se
"Nikdy není jasné, kdo má pravdu, vždy je ale jasné, kdo je šéfem."

QMAIL - přechod na Maildir a instalace kompletního poštovního systému

V tomto článku popíši přechod QMailu na ukládání zpráv pomocí Maildiru a s tím související úpravy celého systému. Vrhneme se zde na instalaci několika rozšiřujících modulů právě pro systém Maildiru, popíšeme si instalaci Courier-IMAP balíku, který umožňuje přístup k vašim zprávám pomocí POP3 a IMAP služeb, dále Qmail-pop3 server, jenž je součástí QMailu, vpopmail, což je rozšíření QMailu pro správu virtuálních domén a nakonec si ukážeme webové rozhraní sqwebmail. Po instalaci byste měli dostat plnohodnotný poštovní systém s ukládáním zpráv do nového Maildiru, s POP3, POP3S, IMAP, IMAPS a HTTP službami pro přístup k vašim zprávám a se seznamem vašich uživatelských účtů v databázi MySQL .

Několik slov úvodem:

Maildir
Maildir je nový systém ukládání zpráv. Qmail vám ho však nikterak nevnucuje, můžete klidně používat osvědčený mailbox.
Maildir umožňuje například sdílení mailboxu přes síťové souborové systémy (například NFS), kdy není dostatečně zaručeno že se schránkou nebude pracovat více uživatelů najednou. Maildir toto riziko řeší pomocí lock souborů, jenž schránku zamknou tak aby ji mohl používat jen jeden uživatel a nedošlo tak ke ztrátě dat. Maildir také přímo podporuje výboroný MUA mutt, nebo velmi bezpečný qmail-pop3d. Bohužel s Maildirem neumí zacházet značné množství poštovních klientů, avšak na většinu z nich se dá aplikovat příslušný patch, který podporu pro Maildir dodá.

Budeme předpokládat, že chceme používat autorizaci pro systémové i nesystémové uživatele pomocí údajů zanesených do databáze MySQL a schránky budeme chtít mít v jednom centrálním adresáři a ne v kořenu každého uživatele.
Předpokládejme také, že již máte nainstalován tcpserver z balíku ucspi-tcp, ukončeny všechny služby SMTP, POP3, IMAP, IMAPS a nastaveny symbolické linky z /usr/sbin/sendmail na /var/qmail/bin/sendmail jak bylo zmíněno v prvním článku.

Budu zde vycházet z konfigurace systému, kterou jsme skončili v druhém článku povídání o QMailu "QMAIL - instalace a konfigurace, dokončení".

Použité balíky:


Tedy začněmě:

Úprava QMailu pro ukládání do Maildiru


  1. Spouštěcí skript /var/qmail/rc musí místo Mailbox obsahovat ./Maildir/
  2. Maildir se vytváří pomocí /var/qmail/bin/maildirmake ~user/Maildir - a musíte být přihlášeni pod tím daným userem kvůli právům. Stávající ~user/Mailbox a /var/spool/mail/user soubory můžete smazat.

Qmail-smtpd - Spuštění SMTP služby Qmailu

Pokud máte nainstalován tcpserver spustíme její instanci, která bude spouštět program qmail-smtpd při každém připojení k portu 25. Pomocí souboru tcp.smtp budeme zakazovat/povolovat přístup ke službě selekcí ip adresy.


  1. Vytvoříme adresář /etc/tcprules.d a soubor tcp.smtp
    # mdir /etc/tcprules.d
    # touch /etc/tcprules.d/tcp.smtp

  2. Do souboru tcp.smtp zadáme všechny počítače které chceme povolit a zakážeme zbývající
    127.0.0.1:allow,RELAYCLIENT=""
    192.168.1.:allow,RELAYCLIENT=""
    192.168.2.1:allow,RELAYCLIENT=""
    :deny


  3. Soubor musíme vždy převést do syrového formátu pomocí
    # tcprules /etc/tcprules.d/tcp.smtp.cdb /etc/tcprules.d/tcp.smtp.tmp < /etc/tcprules.d/tcp.smtp   

  4. Nyní můžeme spustit tcpserver
    # tcpserver -x /etc/tcprules.d/tcp.smtp.cdb -u 508 -g 507 0 smtp /var/qmail/bin/qmail-smtpd &
    kde 508 je uid <qmaild> uživatele a 507 je gid <nofiles> skupiny.

vpopmail

vpopmail je nadstavba QMailu pro automatizovanou správu virtuálních domén a uživatelů QMailu.
vpopmail dělí emailové adresy podle domény do dvou hlavních skupin:

  1. lokální - pro domény v /var/qmail/control/locals - autorizuje uživatele pomocí systémových pravidel
  2. virtuální - v souboru /var/qmail/control/virtualdomains - bere informace o doméně z /var/qmail/users/assign a z MySQL tabulky.

Instalace:

# groupadd vchkpw
# useradd -g vchkpw vpopmail -d /var/vpopmail

Jelikož budeme používat databázi MySQL pro ukládání informací o jednotlivých účtech, musíme pozměnit následující řádky týkající se přístupu k naší databázi v souboru vmysql.h:

#define MYSQL_XX_SERVER "localhost"
#define MYSQL_XX_USER "root"
#define MYSQL_XX_PASSWD "yyyyy"

POZN.: Uživatel musí mít schopnost vytvářet nové databáze a tabulky v MySQL.

# ./configure --enable-mysql=y --enable-default-domain=<domain_name>
# make
# make install-strip

Volba enable-default-domain umožní uživatelům defaultní domény přihlašovat se jako <user> i jako <user>%<virtualdomain>. Přihlašovací jméno virtuálního uživatele ostatních domén musí vždy vypadat takto: <user>%<virtualdomain> (tonda@virt_domena.cz).
Pokud uživatel použije pouze <user>, vpopmail bude uživatele porovnávat buď s /etc/passwd nebo ho bude brát jako uživatele defaultní domény.

Vytváření domén a uživatelů:

Nejprve vytvoříme defaultní doménu:
# vadddomain primarni_domena.cz (přibyde záznam v /var/qmail/control/virtualdomains, ubyde doména z /var/qmail/control/locals, přibyde záznam v /var/qmail/users/assign a v MySQL by měla být nová dbáze vpopmail s tabulkami vpopmail a dir_control)

Přidáme systémové uživatele:
# vadduser syst_uzivatel@primarni_domena.cz

a přidáme i nového nesystémového:
# vadduser vitrual@primarni_domena.cz


POZN.: Do souboru /var/qmail/users/assign je třeba před vytvářením uživatelů či domén umístit tečku a nový řádek, jinak příkazy vadddomain a vadduser prostě nerozchodíte !

Všechny emailové schránky dané domény se nyní nacházejí v adresáři /var/vpopmail/domains/primarni_domena/
Soubor /var/vpopmail/domain/<domena>/.qmail-default se stará o dosílání zprávy danému uživateli ve virtuální doméně, využívá program vdelivermail.
Pro spravné zasílání zpráv odeslaných některými lokálními roboty, je vhodné umístit do adresáře /var/vpopmail/domain/<domena> soubory .qmail-root a .qmail-mailer-daemon s řádkou definující uživatele, kterému má být zpráva přeposlána.


Qmail-pop3d - POP3 služba (doporučuji použít spíše Courier-IMAP server)


Funguje tak, že pomocí inetd či tcpserver je spuštěn qmail-popup který čeká na spojení na portu 110. Když je spojení navázáno, dotáže se uživatele na jméno a heslo a pomocí vchkpw modulu ověří zadané uživatelské jméno/heslo. Pokud je autorizace v pořádku, spustí qmail-pop3d, který se stará o další komunikaci s uživatelem.

Co bude třeba:

Co je co:

    qmail-popup - získává username/password
    vchkpw - ověřuje správnost username/password (součást vpopmailu)
    qmail-pop3d - POP daemon

Nyní spustíme POP3 demona pomoci tcpserveru:

    # /usr/local/bin/tcpserver 0 110 /var/qmail/bin/qmail-popup poweroff.rp \
    /var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &

Tímto se nám spustí další instance tcpserveru, která spustí qmail-popup vždy při přístupu k portu 110.

Courier-IMAP - IMAP, IMAPS, POP3 a POP3S v jednom balíku

Balíček courier-imap umožňuje zprovoznění služeb POP3 a IMAP včetně zabezpečených POP3S (port 995) a IMAPS (port 993). Při instalaci zjišťuje jestli máte nainstalován vpopmail a pokud ano tak přikompiluje authvchkpw autentizační modul.

Co je důležité, konfiguraci musíte provádět jako běžný uživatel, pokud jste již z roota rozbalili archiv, nerozchodíte to.
Firma Inter7 (tvůrce vpopmailu) také na svých stránkách doporučuje přepsat soubor <courier source>/authlib/preauthvchkpw.c opraveným souborem odsud.

The POP3 server může stahovat zprávy pouze z adresáře INBOX, do jiných adresářů nemůže.
Courier-IMAP také zamezuje vícenásobné připojení ze stejné IP, což zamezuje Denial-of-Service útokům, ale někdy se může jevit jako nevhodné zvláště když na klientovi máte 2 účty a bleskurychle mezi nimi přeskakujete. Počet připojení ze stejné IP je v proměnné MAXPERIP, defaultně nastavené na 4, a to v souborech /var/courier-imap/etc/imapd(-ssl) a pop3d(-ssl).

Konfigurace:

$ ./configure --prefix=/var/courier-imap
$ make
(je třeba nastavit přístup uživatele ke knihovně /var/vpopmail/lib/libvpopmail.a)  
$ make check

$ su root
# make install
# make install-configure

Pak je nutné zvolit správnou autentizační knihovnu pro váš systém, tzn. pro nás authvchkpw, která je automaticky přikompilována
a spustit
# /var/courier-imap/libexec/authlib/authdaemond start

IMAP spustíte
# /var/courier-imap/libexec/imapd.rc start

A pokud chcete mít IMAP šifrován pomocí SSL, tak nejdříve vytvořte certifikát pomocí # /usr/lib/courier-imap/share/mkimapdcert, nebo vytvořte ověřený X.509 certifikát a uložte jej do /usr/lib/courier-imap/share/imapd.pem.

Spusťte IMAPS:
# /var/courier-imap/libexec/imapd-ssl.rc


Vytvoření RPM balíků Courier-IMAP

Můžete také vytvořit rovnou RPM balíky. Mohu jedině doporučit, protože pak již budete všechny! čtyři služby spouštět pomocí skriptu /etc/init.d/courier-imap start a to včetně vytvoření certifikátů pro služby IMAPS a POP3S během prvního spuštění skriptu.

Postup:

  • přihlaste se jako běžný uživatel
  • rozbalte archiv courier-imap-xx.tar.gz a změňte v souboru courier-imap.spec proměnnou _prefix na /var/courier-imap.
  • přepište soubor <courier source>/authlib/preauthvchkpw.c opraveným souborem odsud.
  • archiv zpátky zagzipujte
    # tar cf courier-imap-1.3.11.tar ./courier-imap-1.3.11 && gzip courier-imap-1.3.11.tar
  • vytvořte RPM balíky
    #rpm -ta courier-imap-1.3.11.tar.gz

V adresáři /usr/src/redhat/RPMS/i386 budete mít přeložené RPM balíky.
Před instalací RPM balíku do vašeho systému je třeba odinstalovat váš stávající IMAP balík.

sqwebmail

Instalace:

# ./configure --enable-cgibindir=/home/www/cgi-bin/ --enable-imagedir=/home/www/html/webmail/ --prefix=/var/sqwebmail
# make configure-check
(vypíše cesty kam bude instalovat soubory)
# make

# make install-strip
# make install-configure

Spustíme autorizačního démona:
# /var/sqwebmail/libexec/authlib/authdaemond start

a do crontabu dáme:
0 * * * * /usr/local/share/sqwebmail/cleancache.pl

Vytvoření RPM balíků sqwebmail 3.0.0 a 3.1.0

Postup:

  • rozbalte archiv sqwebmail-x-x-x.tar.gz a změňte v souboru sqwebmail.spec proměnnou htmllibdir na /var/sqwebmail, dále imagedir na %{apachedir}/www/html/webmail a cgibindir na %{apachedir}/cgi-bin
  • přepište soubor <sqwebmail source>/authlib/preauthvchkpw.c opraveným souborem odsud.
  • archiv zpátky zagzipujte
    # tar cf sqwebmail-x-x-x.tar ./sqwebmail-x-x-x && gzip sqwebmail-x-x-x.tar
  • vytvořte RPM balíky
    #rpm -ta sqwebmail-x-x-x.tar.gz

V adresáři /usr/src/redhat/RPMS/i386 budete mít přeložené RPM balíky.


Autor: Roman Pěch
Vytvořeno: 20.10.2001
Oblast: Software




Související články:

01.10.2001  QMAIL - instalace a základní konfigurace
08.10.2001  QMAIL - instalace a konfigurace, dokončení




Diskuse k článku "QMAIL - přechod na Maildir a instalace kompletního poštovního systému":

DatumAutorPředmět
    zobraz vše    přidej komentář

Krátké zprávy:

  • 04.04.2005 20:47:51
    LinuxExpo: IBM, Red Hat, Mozilla i OpenOffice.org 2.0

    Ve dnech 12. až 14. dubna 2005, se uskuteční pátý ročník veletrhu LinuxExpo, největší středoevropské konference a výstavy zaměřené především na operační systém Linux, Open Source software a související témata. Letos bude LinuxExpo hostit Hotel Olympik v Praze, jehož reprezentativní prostory poskytují nejen vysoký standard, ale přinesou i komfortní zázemí konferenční části, na kterou kladou pořadatelé akce stále větší důraz. V rámci konferenčního programu shlédnou návštěvníci nejen celou řadu odborných a popularizačních přednášek, ale budou se moci zúčastnit i několika specializovaných konferencí.

    Tajemství strategie společnosti IBM ve vztahu k Linuxu a otevřeným standardům nám poodhalí hned první z konferenčních bloků v úterý 12.4. Zasvěcené informace se dozvíme přímo od specialistů IBM z Česka i zahraničí. Linux nezanedbává ani legendární SILICON GRAPHICS. O jeho využití nejen pro náročné vizualizace, ale třeba jako platformu pro budování infrastruktur moderních podnikových řešení budou hovořit zástupci SILICON GRAPHICS s.r.o. během středečního konferenčního programu. Pokud se chcete dozvědět více o distribuci Red Hat, určitě si nenechte ujít čtvrteční konferenci s názvem "Red Hat - Prostředí pro Byznys". Přinese ji distributor Red Hat v ČR, firma Servodata.

    Z dalších prezentovaných distribucí jmenujme například Mandrakelinux, zastoupený společností QCM. Přes rostoucí komerční specializaci nezapomíná LinuxExpo ani na neziskové a vzdělávací projekty, které se představí v rámci Free Linux Zone, připravované ve spolupráci se serverem Linuxsoft. Vydržíte-li do čtvrtečního odpoledne, můžete být přítomni exkluzivní premiéry nové verze populárního kancelářského balíku OpenOffice.org 2.0. David Majda z týmu Czilla přednese přednášku Mozilla pro vývojáře, prezentovat se budou také známá česká live distribuce Danix, DTP řešení pro Linux aplikace Scribus, databáze Firebird a mnoho dalších zajímavých projektů.

    Kompletní přehled konferenčního programu, stejně jako aktuální a podrobné informace o veletrhu LinuxExpo najdete na internetové adrese www.linuxexpo.cz. Tam se také návštěvníci mohou registrovat a získat tak volnou vstupenku na dny pro veřejnost, nebo si dokonce rezervovat místa na jednotlivých přednáškách.[RP]


  • 07.11.2002 23:42:55
    Red Hat Linux Advisory: glibc
    Synopsis: Updated glibc packages fix vulnerabilities in resolver
    Issue date: 2002-09-10
    Updated on: 2002-11-06
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: glibc resolv DNS
    Více na LinuxToday.[RP]


  • 28.10.2002 22:51:34
    Red Hat Linux Advisory: ypserv
    Synopsis: Updated ypserv packages fixes memory leak
    Advisory ID: RHSA-2002:223-07
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: ypserv memory leak
    Více na LinuxToday.[RP]


  • 20.10.2002 22:58:22
    Vyšlo nové beta jádro 2.5.44. Changelog naleznete zde.[RP]


  • 20.10.2002 22:36:08
    Red Hat Linux Advisory: mozilla
    Synopsis: Updated Mozilla packages fix security vulnerabilities
    Advisory ID: RHSA-2002:192-13
    Product: Red Hat Linux 7.2 7.3 8.0
    Více na LinuxToday. [RP]

    Archiv krátkých zpráv

    Oblasti:

    Informace:

  • Pokud chcete pro nás psát čtěte zde.
  • e-mail redakce: redakce@linux.poweroff.cz

  • Umístěte si náš banner na stránku





  • H E A D L I N E S


    PHPBuilder:
  • PHP Web Blog - Part 2
  • Creating an Online Survey - Part 2
  • PHP Web Blog - Part 1
  • Preventing Web Attacks with Apache
  • phpwiki - The Wiki for PHP Developers
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype, Part 2
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype
  • PHP Form Validation System: An Object-Oriented Approach
  • Validating PHP User Sessions
  • Preventing Spam When Using PHP's Mail Function

    LinuxToday:
  • Phoronix Test Suite Brings Linux Benchmarking to the Desktop
  • Open Source Tour of Europe: Portugal
  • Linux On Mars!
  • Hey FOSS Project, What's Your Pedigree?
  • How Linux Could Better Market Itself
  • Measuring Open Source Adoption the Hard Way
  • Wine 1.0 Review
  • Cobbler Pieces Together Mass Red Hat Linux Installations
  • Open Source Solves UK Cancer Charity Challenges
  • Bash Arrays



    Hledání

    Zadejte (několik) klíčových slov oddělených mezerou.
  • Hledej v článcích
  • Hledej v krátkých zprávách
  • fulltextové vyhledávání

    Nejčtenější články:

  • QMAIL - přechod na Maildir a instalace kompletního poštovního systému (363869)
  • RShaper - omezení rychlosti síťového provozu (83210)
  • PHP v objetí objektů (převzato) (65440)
  • Copyright © 2001 PowerNET