trochu jsem na hledal sílu....
přecházel jsem totiž z letité kombinace sendmail+fetchmail, kde všechno fungovalo víceméně jak mělo a přežilo to upgrade až do verze 8.04, která konfiguraci rozhodila způsobem, jež byl nad moje síly. jestli jsem to pochopil dobře tak se změnilo nějakým způsobem ověřování uživatelů a to ve spojitosti s prakticky nulovou podporou sendmailu ze strany ubuntu zaseklo hřebíček do rakve sendmailu.
takže sem se vytočil a vlezl na ubuntu stránky a zjistil podle četnosti citací a počtu návodů že jako podporovaný smtp server se jeví postfix v kombinaci s autentifikací dovecotem.
https://help.ubuntu.com/8.04/serverguide/C/email-services.html
v zásadě tupě podle návodu dle kódu jsem nainstaloval postfix a nakonfiguroval SASL autentifikaci. vytvořil jsem i jakýsi podomácku vyrobený certifikát, aby byl systém spokojen. nainstaloval jsem i dovecot-common, čímž návod končí.
v zásadě v souladu s návodem a po nějakém tom nastavení konfigurace postfixu fungovalo odesílání a přijímání pošty z LANu. Z WANu však nikoliv. takže jsem se postupně prokousal k tomu, že bych měl SASLu nějak říct odkud má vzít credentials uživatelů pro smtp ověřování. tohle v návodu nebylo a out-of-the-box nefunguje ověřování uživatelů z passwd nebo shadow. chvilku jsem laškoval s plaitext souborem /etc/postfix/sasl_passwd, ktreý byl někde uváděn ale bez úspěchu a nakonec jsem se v logu dopracoval k hlášce typu
Jan 4 20:43:53 akserver postfix/smtpd[11217]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan 4 20:43:53 akserver postfix/smtpd[11217]: warning: SASL authentication failure: Password verification failed
a poté
Jan 4 21:46:06 akserver postfix/smtpd[16003]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Jan 4 21:46:06 akserver postfix/smtpd[16003]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
a po opravě k hlášce typu
Jan 4 22:05:17 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL PLAIN authentication failed: authentication failure
Jan 4 22:05:17 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL LOGIN authentication failed: authentication failure
Jan 4 22:05:45 akserver postfix/smtpd[16641]: warning: SASL authentication failure: no secret in database
Jan 4 22:05:45 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL CRAM-MD5 authentication failed: authentication failure
Jan 4 22:05:46 akserver postfix/smtpd[16641]: warning: SASL authentication failure: no secret in database
no a to už modří vědí, že tam je třeba ty hesla nacvakat pomocí příslušných příkazů, tuším, že to bylo saslpasswd -c user a zadat mu tam heslo.
čímž to podstatné asi bylo hotovo. nebýt svělé funkce autoremove v apt-get které jsem neváhal využít když mi nabídla odinstalovaní balíčků sendmail-mda a sendmail-base. což jsem ale netušil, že tím si zruším pop3 server, takže jsem sice odevšad odesílal ale zase neměl žádného pop3 démona. grrrr. opakovaná instalace sendmailu nezabrala, spíš to zbabrala, takže jsem vyrazil cestou zprovoznění dovecotu.
to se ukázalo jako velmi jednoduchá varianta pro čistý systém nikoliv však v případě přechodu a migrace existujících schránek. ty byly samozřejmě jinde než kde je pop3 demon a postfix očekával. prostá změna cesty moc nefungovala. (UPOZORNĚNÍ: další kroky již byly prováděny ve stavu velkého nasrání a mírné podnapilosti takže je velmi pravděpodobné, že jsem si to komplikoval víc než bylo nutné) prostě schánky byly ve /var/mail a ne ve /var/spool/postfix a různě se tam nadělaly nějaké nesmyslné podadresáře při přepisování cest v konfiguraci apod. Finální řešení bylo přes webmin kdy k úplnému štěstí bylo ještě třeba všem uživatelům pošty nadělat domovské adresáře s položkou ./mail aby byl dovecot šťastný a dal mi pokoj.
posledním krokem pak bylo shora zmiňované nastavení volby listnen = * v dovecotu aby ta mrcha poslouchala i do wanu, úprava portforwardu na routru a jede to.
koukám do logů a od půl paté dnes ráno kdy jsem s tím skončil tam nemám žádnou chybovou hlášku a dokonce ani warning až na někoho kdo lezl na smtp zvenku a dopadlo to takto:
Jan 5 05:41:51 akserver postfix/smtpd[9725]: warning: 220-132-164-157.HINET-IP.hinet.net[220.132.164.157]: SASL LOGIN authentication failed: authentication failure
Jan 5 13:41:28 akserver postfix/smtpd[12228]: warning: 88.249.164.14: address not listed for hostname dsl88-249-41998.ttnet.net.tr
a dobře jim tak.
závěrem:
- návod funguje, nastavování postfixu je poměrně jednoduché ve srovnání se sendmailem
- pobavilo mě, že dovecot je jakousi preferovanou aplikací pro pop3 když jeho tvůrci uvádějí že primárně slouží pro imap.
- ve všech návodech chybí vysvětlení souvislosí a rozdělení úloh a vzájemných závislostí pojmů které jsou brány za automatické (postfix/tls/sasl/dovecot/cyrus/sasldb2/certifikáty/...) zde je však odpověď zřejmá - necpi se do serveru pokud tomu nerozumíš.
(/nadsázka)rád bych se dočkal toho, že nebudu muset po skončení podpory 8.04 zase studovat jiný poštovní server, jen proto, že se při upgrade - jako vždy - něco poláme.(nadsázka/).
takže vyřešeno, dotazy sem, pokud někdo něco má.