Portál AbcLinuxu, 3. května 2025 08:50

Poštovní server pro lamy - návod

8.11.2006 16:58 | Přečteno: 10071× | Výběrový blog | poslední úprava: 13.3.2008 12:42

Na přání některých čtenářů tady uvádím návod na sestavení malého poštovního serveru - takové know-how, jak v malé firmě nebo domácnosti s několika počítači je možné zajistit sdílení pošty v rámci jedné e-mailové adresy, aby všichni uživatelé mohli poštu vidět. Je možné mít více e-mailových adres, které mají samostatné adresáře a na jednotlivých počítačích je možné tyto adresy vidět nebo nikoliv, podle přání administrátora.
Cílem tohoto návodu je vytvořit server s nejmenším množstvím instalace programů a co s nejjednodušším nastavováním. Podotýkám, že je to instalace pro málo zkušené administrátory, takže se vyhýbám napojením na databáze adres, filtrování zpráv a jiné sofistikované činnosti - pro firmu s 50 stroji se tento způsob rozhodně nehodí.
Tak čím začít?
Máme několik vzájemně propojených počítačů, z nichž jeden zvolíme jako server, v mém případě na něm běží Debian. Budeme mít dvě e-mailové adresy, adresa1@volny.cz a adresa2@volny.cz.
Nejdříve nainstalujeme příslušné programy - vybral jsem následující:
a) pro stahování pošty ze serveru poskytovatele - fetchmail
b) pro ukládání pošty v počítači: courier-maildrop
c) pro zobrazení adresářů pošty v Thunderbirdu - courier-imap a courier authlib
Nyní musíme upravit práva pro spouštění.fetchmailrc: chown pepa /home/pepa/.fetchmailrc. Důležité!!
Při spouštění musí uživatel totiž tento soubor vlastnit. Pro druhou adresu máme v uživateli franta totéž, jen místo "pepa" bude všude uvedeno "franta" adresa2 a heslo2.
Nyní musíme spustit příslušné programy:
Na pozadí spusíme /usr/bin/maildrop
/etc/init.d/courier-imap start
/etc/init.d/courier-authdaemon start

V tomto případě jsem neinstaloval postfix ani sendmail.
Jakmile mám programy nainstalované, vytvoříme si nové uživatele určené pro poštu, uživatele franta a uživatele pepa. (adduser franta ..) V každém z nich si vytvoříme adresář pro poštu Maildir takto: (uvádím příklad jen pro pepu, platí to analogicky i pro frantu)
maildirmake Maildir /home/pepa/Maildir
Do adresáře /home/pepa zkopírujeme následující soubory:
- /etc/fetchmailrc (překopíroval jsem a přejmenoval na /home/pepa/.fetchmailrc)
- /usr/bin/maildrop
- /etc/maildroprc
V uživateli pepa budeme mít toto nastavení:
.fetchmailrc
set   postmaster "pepa"
poll "pop3.seznam.cz"
      protocol pop3
      username "adresa1"
      password "heslo1"    //heslo od poskytovatele internetu
      is user "pepa" here
      mimedecode
      mda "/home/pepa/maildrop -f $HOME/Maildir"
maildroprc
# Global maildrop filter file
# Uncomment this line to make maildrop default to ~/Maildir for
# delivery- this is where courier-imap (amongst others) will look.
DEFAULT="$HOME/Maildir"
Dále povolíme naši IP adresu v souboru /etc/courier/imapd:
#  Address to listen on, can be set to a single IP address.
#
# ADDRESS=127.0.0.1

ADDRESS=192.168.10.21

##NAME: PORT:1

Poznámka: Hlavní domovský adresář uživatele (/home/pepa) nesmí mít práva k zápisu u nikoho jiného než u vlastníka.
Soubor maildrop v příslušném adresáři má mít vlastníka a skupinu root a povoleno vše. Nyní můžeme směle přidat účet do Thunderbirdu, Vaše jméno a název účtu adresa1, nastavení serveru: 192.168.10.21, port 143, jméno uživatele pepa.
Při připojení to žádá heslo - je to heslo uživatele na serveru, nikoliv to od providera. Nyní jsme připraveni přijímat zprávy. Přijmeme je vždy pod příslušným uživatelem takto:
pepa$ fetchmail -f /home/pepa/.fetchmailrc -F -v
franta$ fetchmail -f /home/franta/.fetchmailrc -F -v
Přepínač -F způsobí, že zprávy nezůstanou u poskytovatele a stáhnou se k uživateli. Teď se Thunderbirdu klikneme na doručenou poštu, vyzve nás to k zadání hesla uživatele a směle přijímáme zprávy.

Ale teď to máme trochu nepohodlné, že. Chtěli bychom, aby se každých 5 minut spouštěly všechny "klony" .fetchmailrc a spolehlivě šla pošta do serveru. Jedním z řešení je spouštění přes crontab. Takže do každého uživatele přibude ještě jeden skript, např. pepaspustit a frantaspustit, bude vypadat takto:
#! /bin/sh
# pepaspustit
fetchmail -f /home/pepa/.fetchmailrc -v -F
Do souboru /etc/crontab přidáme dva řádky:
*/5 *   * * *   pepa /home/pepa/pepaspustit
*/5 *   * * *   franta  /home/franta/frantaspustit
a zadáme příkaz /etc/init.d/cron restart. A je hotovo! Mělo by to fungovat.
Uvítám jakékoliv doplnění a připomínku na zjednodušení, jen by nastavení serveru nemělo být komplikovanější. :-) Rád bych, aby moje právě nabyté zkušenosti mohl využít jakýkoliv nezkušený domácí administrátor. Doporučuji si posílat občas zkušební poštu, zda-li server funguje, jak má.
Přeji hodně štěstí! Dodatek pro informaci:
Pokud vlastníme notebook, můžeme efektivně stahovat poštu uloženou na poštovním serveru před cestou mimo kancelář a nemáme-li k dispozici vzdálené připojení k poště. Na notebooku si nainstalujeme courier-imap a courier authdaemon (bez fetchmailu a maildropu), vytvoříme si stejné uživatele jako na poštovním serveru. Skriptem nebo ručně zkopírujeme adresář Maildir pro každého uživatele zvlášť. Povolíme práva pro tento adresář a pak můžme si vytvořit v Thunderbirdu nový účet. Z tohoto účtu je třeba poslat alespoň jedinou zprávu kamkoliv a vytvoří se příslujšné složky pro došlou a odeslanou poštu. Před cestou provedeme kopírování zpráv a na cestách máme potřebnou poštu k dispozici.        

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

8.11.2006 17:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Nešlo by použít standardní prvky HTML? – <p> pro odstavce, <ul> nebo <ol> pro seznamy atd? Tohle se fakt blbě čte…
Dalibor Smolík avatar 8.11.2006 17:10 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
jj, polepším se :-)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
8.11.2006 17:10 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Skromnost mu možná nedovolí se sem nalinkovat, ale doporučuju zkusit http://www.zdenda.com/Mailserver-Postfix-IMAP-Maildrop-MySQL. Ve Wiki Archlinuxu je taky slušný návod.
Math, as Barbie says, is hard.
Dalibor Smolík avatar 8.11.2006 17:15 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Ano, vím, že solidních návodů je dostatek (četl jsem je a psal jsem to v minulém blogu), chtěl jsem jen něco malotonážního (tak do 3-5 adres a o několika počítačích), bez použití databáze a postfixu.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
8.11.2006 17:50 klassik | skóre: 24 | blog: Klassikov | Praha
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Dalibor sikovnej a klassik spokojenej:-)
V podstatě nic nevím
8.11.2006 21:06 Gapan
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak to je bomba! Jeste bych ocenil "SAMBA+LDAP pro lamy" a "VPN pro lamy"
8.11.2006 21:41 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
VPN pro lamy = http://www.zdenda.com/openvpn pro starou verzi openvpn

pro openvpn2 je to mnohem lehci: nainstalujeme balicek openvpn2 z repositare sve distribice, vygenerujeme potrebne certifikaty (jestlinevime jak na to, tak na openvpn.org je help pripadne se da vyuzit diskuze na abclinuxu). Udelame diru do firewallu, vytvorime potrebne konfiguraky a je hotovo.

priklad konfiguraku pro server s pevnou verejnou ip a klienta pripojovaneho odkudoliv, treba z nejake site za natem (cdma a podobne).

Jestli se nekomu konfiguraky nelibi, tak at si udela svoje :-)

server: /etc/openvpn2/neco.conf
local xxx.xxx.xxx.xxx
port 5000
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 192.168.100.0 255.255.255.0
ifconfig-pool-persist ipp2.txt
push "route 192.168.1.0 255.255.255.0"
#push "redirect-gateway"
client-to-client
keepalive 10 120
tls-auth ta.key 0
user nobody
group nogroup
comp-lzo
persist-tun
persist-key
verb 3
klient: /etc/openvpn2/neco.conf
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 5000
float
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
ca ca.crt
cert klient.crt
key klient.key
tls-auth ta.key 1
comp-lzo
verb 3
Pokud chces, tak sem placnu i konfiguraky pro vpn pasirovanou skrz http proxy.
-- Nezdar není hanbou, hanbou je strach z pokusu.
9.11.2006 00:36 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Na to mohu říct jediné: Díky!
22.4.2007 21:20 Renny Vachek
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdravim, myslim ze je v konfiguracnim souboru fetchmailu chyba. V poslednim radku by melo byt misto v textu uvedeneho nasledujici: mda "/usr/bin/maildrop -f $HOME/Maildir"
Dalibor Smolík avatar 23.4.2007 10:51 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Poštovní server pro lamy - návod
No to jsem zkoušel nejdřív, ale to mi nějak "nefachčilo". Fungovalo pouze spouštění programu přímo z příslušného uživatele :-)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.