Webmailer w Linuksie

Masz kilka kont pocztowych, u dostawcy Internetu, na darmowym serwerze, w pracy? Własny program do obsługi poczty (webmailer) upraszcza zarządzanie kontami, odbieranie i wysyłanie wiadomości. Może pracować w tle na każdym komputerze z systemem Linux.

Masz kilka kont pocztowych, u dostawcy Internetu, na darmowym serwerze, w pracy? Własny program do obsługi poczty (webmailer) upraszcza zarządzanie kontami, odbieranie i wysyłanie wiadomości. Może pracować w tle na każdym komputerze z systemem Linux.

Własny webmailer to nie tylko gadżet, ale bardzo przydatne narzędzie, zarówno w firmie, jak i w domu. Możesz na przykład udostępnić pocztę współpracownikom, którzy akurat nie są zalogowani do firmowej sieci. Przy braku stałego adresu IP problem można rozwiązać za pomocą usługi dyndns.

Konfigurację naszego rozwiązania przetestowaliśmy z powodzeniem w systemie SUSE Linux 9.2. Wybrany program - Squirrelmail - jest jednak dostarczany również z innymi dystrybucjami, a konfiguracja powinna przebiegać podobnie.

Zasada funkcjonowania programu jest prosta. Komputer pobiera pocztę z różnych kont za pomocą IMAP lub POP3 i dostarcza ją do skrzynek lokalnych użytkowników. Bazujący na PHP interfejs Squirrelmail pobiera pocztę z lokalnej skrzynki za pomocą protokołu IMAP. Do wysyłania poczty wykorzystywany jest lokalny Mail Transfer Agent (MTA). W naszym rozwiązaniu do pobierania poczty służy fetchmail, Dovecot jako serwer IMAP, Apache2 jako serwer www i postfix jako MTA.

Przygotowania

Monitor procesów - również za pomocą YaST można ustalić, jakie usługi są automatycznie uruchamiane przy starcie komputera.

Monitor procesów - również za pomocą YaST można ustalić, jakie usługi są automatycznie uruchamiane przy starcie komputera.

Najpierw należy pobrać pewne pakiety dodatkowe i zainstalować je. Następujące pakiety RPM można znaleźć na naszej płycie DVD: fetchmail-6.2.5-54.1.i586.rpm, mysql-shared-4.0.21-4.2.i586.rpm, perl-Digest-HMAC-1.01-494.i586. rpm, perl-HTML-Parser-3.36-2.i586. rpm, perl-HTML-Tagset-3.03-552. i586.rpm, perl-Net-DNS-0.48-2.i586 .rpm, perl-spamassassin-3.0.0-3. i586.rpm, postgresql-libs-7.4.6-0.1. i586.rpm, spamassassin-3.0.0-3. i586.rpm. Natomiast pozostałe należy pobrać z Internetu: apache2-2.0.50-7.3.i586.rpm, apache2-mod_php4-4.3.8-8.2.i586.rpm, apache2-prefork -2.0.50-7.3.i586.rpm, dovecot-0. 99.11-2.1.i586.rpm, libapr0-2.0. 50-7.3.i586.rpm, php4-4.3.8-8.2. i586.rpm, php4-gettext-4.3.8-8.2. i586.rpm, php4-session-4.3.8-8.2. i586.rpm, squirrelmail-1.4.2-59.1. noarch.rpm. Gdy zgromadzisz już wszystkie pakiety RPM w jednym katalogu:

rpm -Uvh *.rpm -force

zainstaluj wszystkie dodatkowe pakiety. Gotową konfigurację serwera WWW Apache zapewni:

SuSEconfig -module apache2

Poleceniem:

/etc/init.d/apache2 start

uruchomisz serwer WWW. Ponieważ interfejs poczty pobiera ją za pomocą IMAP, poleceniem:

/etc/init.d/dovecot start

uruchomisz demona IMAP.

Przy każdym uruchomieniu komputera w takiej konfiguracji trzeba by każdorazowo powtarzać powyższe czynności. Aby uniknąć tej uciążliwej procedury, poleceniem:

chkcofig apache2 35 dovecot 35

umieść potrzebne usługi na poziomach uruchomieniowych (runlevel) 3 i 5. Alternatywnie poziomy uruchomieniowe możesz skonfigurować wygodnie za pomocą myszy w YaST.

Konfiguracja użytkownika i zapory

Zapora - kliknięcie myszy wystarczy, by otworzyć potrzebne porty. Ze względu na bezpieczeństwo niepotrzebne usługi powinny być wyłączone.

Zapora - kliknięcie myszy wystarczy, by otworzyć potrzebne porty. Ze względu na bezpieczeństwo niepotrzebne usługi powinny być wyłączone.

Ostatni krok to założenie konta nowego użytkownika, o ile nie zostało to zrobione już w trakcie instalacji.

Poleceniem:

useradd -m jankow

dodasz do systemu użytkownika jankow. Za pomocą:

passwd jankow

skonfigurujesz dla niego hasło. Webmailer praktycznie już działa. Napisany w języku PHP interfejs użytkownika można otworzyć w przeglądarce internetowej po wpisaniu adresu http://localhost/squirrelmail, względnie z innego komputera, po wpisaniu adresu http://adres_IP_komputera_z_Linuksem/squirrelmail. W tym ostatnim przypadku należy pamiętać o tym, by zapora zezwalała na połączenia przychodzące HTTP oraz HTTPS z innych komputerów. Oznacza to, że porty 80 i 443 muszą być otwarte. W tej chwili łączność HTTPS i tak jeszcze nie funkcjonuje, gdyż będziemy ją konfigurować później.

Zaporę SUSE Linux można skonfigurować w YaST. W sposób pokazany na ilustracji Zapora aktywuj opcje HTTP oraz HTTPS.

fetchmail

Najważniejsze przełączniki fetchmail

Najważniejsze przełączniki fetchmail

Teraz zajmiemy się odbiorem poczty z zewnętrznych kont. Jak już wspomnieliśmy, odpowiada za to narzędzie fetchmail. Program loguje się u dostawcy za pomocą protokołu POP3 lub IMAP, pobiera całą pocztę i przekazuje ją lokalnemu użytkownikowi. W tym celu założymy najpierw plik konfiguracyjny .fetchmailrc za pomocą polecenia:

vi .fetchmailrc

Ten plik musi się dokładnie tak nazywać i musi znajdować się w folderze domowym. Folder domowy użytkownika root to zwykle /root. Każde konto, z którego ma być odebrana poczta, zaczyna się od:

poll serwer_pocztowy_dostawcy

Potem informujemy program o tym, którego protokołu ma użyć:

proto pop3

lub

proto imap

Istnieje też możliwość wpisania:

proto auto

fetchmail będzie wówczas próbował pobrać pocztę za pomocą protokołów POP3, POP2 oraz IMAP. Oczywiście, jeżeli znamy protokół, celowe jest wpisanie właściwej nazwy. Na stronie podręcznika:

man fetchmail

możesz dowiedzieć się, jakie inne protokoły pocztowe obsługuje fetchmail.


Zobacz również