Webová rozhraní k poště (Squirrelmail a Roundcube)

Správa linuxového serveru: Webová rozhraní k poště (Squirrelmail a Roundcube)

Tento díl je věnován možnostem a konfiguraci webových rozhraní pro přístup k poštovní schránce, konkrétně pak Squirrelmailu a Roundcube.

minulém díle byly představeny možnosti klientského přístupu k poště. V dnešní době jsou k dispozici dvě možnosti. Jednou z nich je přístup přes poštovního klienta pomocí protokolů IMAP či POP3 a SMTP. Druhou je pak přístup přes webovou aplikaci. Běžní uživatelé jsou v dnešní době spíše zvyklí používat webové rozhraní než poštovního klienta (nemusí se nic nastavovat a k poště lze přistupovat z libovolného počítače).

V tomto díle budou představena dvě webová rozhraní, jednodušší Squirrelmail a komplexní Roundcube. Krátký popis i snímky obrazovky jsou u každého z nich.

Bezpečnostní doporučení: používejte HTTPS

Ať už si vyberete jakékoliv webové rozhraní, nelze než důrazně doporučit celé rozhraní provozovat pouze přes HTTPS, aby nedocházelo k odesílání jména a hesla přes nešifrované HTTP spojení.

Bez IMAP serveru to nejde

Obě webová rozhraní využívají pro přístup k poštovní schránce protokol IMAP, je tedy nutné mít IMAP server zprovozněný (návod, jak na to, naleznete v minulém díle). Nechcete-li nabízet přístup přes IMAP celému světu, nakonfigurujte IMAP server tak, aby naslouchal jen na localhostu. Pokud neomezujete odchozí SMTP pocházející přímo ze serveru (localhost), není třeba žádná speciální konfigurace pro odesílání pošty.

Squirrelmail

Squirrelmail je jednoduché webové rozhraní napsané v PHP bez pokročilých funkcí. Není to „Web 2.0“ aplikace, ale svou úlohu umí zastat velmi dobře. Podporuje dokonce i adresář s kontakty, jehož data jsou uchovávána v textových souborech. Squirrelmail si můžete prohlédnout na obrázcích níže:

Pohled na obsah schránky ve SquirrelmailuPohled na obsah schránky ve Squirrelmailu

Psaní pošty ve SquirrelmailuPsaní pošty ve Squirrelmailu

Samotná instalace Squirrelmailu je velmi jednoduchá, stačí nainstalovat příslušný balíček:

aptitude install squirrelmail

Konfigurace vyžaduje ještě několik ručních zásahů. Asi je jasné, že aplikace zajišťující webové rozhraní k poště vyžaduje vhodné nastavení webového serveru. Konfigurační soubor nastavující službu na Apachi je k dispozici v /etc/squirrelmail/apache.conf. Je to vzorový soubor, takže si jej přizpůsobte. Pokud hostujete více virtuálních webů, je více než vhodné integrovat potřebné direktivy do příslušného virtuálního webu (ideálně do virtuálního webu chráněného SSL, viz výše). Pro to nejzákladnější nastavení, kdy je vytvořen alias /squirrelmail pro stávající konfiguraci, postačí vytvořit symbolický odkaz do /etc/apache2/conf.d, takto:

ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail

A restartovat webový server:

service apache2 restart

Nyní by již měl Squirrelmail fungovat. Pokud vám vadí angličtina a chtěli byste svým uživatelům poskytnout (převážně) české prostředí, upravte konfigurační soubor /etc/squirrelmail/config_local.php a přidejte do něj následující řádky se specifikací výchozího jazyka a znakové sady:

$squirrelmail_default_language = 'cs_CZ';
$default_charset       = 'utf-8';

Změna by měla být okamžitá, není třeba restartovat webový server. Kromě běžných funkcí nabízí Squirrelmail i několik pluginů, které jeho funkcionalitu rozšiřují. Jejich seznam získáte snadno, vypsáním balíčků obsahujících „squirrelmail“ v názvu:

aptitude search squirrelmail

Z těch zásadnějších doporučuji alespoň squirrelmail-quicksave, který nabízí, jak je z názvu patrné, automatické ukládání e-mailů po určité době.

Roundcube

Roundcube je oproti Squirrelmailu komplexnější, nabízí více funkcí a „Web 2.0“ rozhraní (tzn. AJAX), ovšem je také náročnější na zdroje – na rozdíl od Squirrelmailu, který si vystačí s textovými soubory, vyžaduje databázi (MySQL, PostgreSQL nebo SQLite). Názor si můžete udělat z obrázků níže:

Pohled na obsah schránky v RoundcubePohled na obsah schránky v Roundcube

Psaní pošty v RoundcubePsaní pošty v Roundcube

Nemáte-li dosud nainstalovaný databázový server a nechcete-li používat SQLite, můžete nainstalovat třeba MySQL:

aptitude install mysql-client mysql-server

V takovém případě nezapomeňte nainstalovat také PHP knihovnu, která tvoří most mezi PHP aplikacemi a databází MySQL (php5-mysql), a také MySQL knihovnu, kterou používá samotný Roundcube (roundcube-mysql):

aptitude install php5-mysql roundcube-mysql

Máte-li nainstalováno všechno potřebné, co se týče databáze, samotnou instalaci Roundcube provedete stejně jako v případě Squirrelmailu:

aptitude install roundcube

Během instalace budete provedeni vytvořením databáze pro Roundcube. Pokud byste cokoliv opomněli, můžete konfiguraci provést kdykoliv znovu, a to pomocí příkazu:

dpkg-reconfigure roundcube-core

Nyní je třeba provést základní nastavení. Jako první je třeba vyřešit propojení s webovým serverem, které je v případě Roundcube automatické (resp. je vytvořen symbolický link v /etc/apache2/conf.d odkazující na /etc/roundcube/apache.conf. Tento odkaz buď vymažte a obsah tohoto souboru asimilujte do svého nastavení Apache, nebo tento soubor upravte a odkomentujte dva řádky s definicí aliasů:

Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube

Následně upravte soubor /etc/roundcube/main.inc.php, ve kterém je třeba definovat povolené servery, ke kterým se instance Roundcube na vašem serveru bude smět připojovat. Chcete-li používat Roundcube pro poštu pouze na vašem serveru, tedy na localhostu, proveďte úpravu proměnné $rcmail_config['default_host'] takto:

$rcmail_config['default_host'] = 'localhost';

Chcete-li umožnit uživatelům připojovat se i k jiným IMAP serverům z vašeho serveru, můžete využít následujícího vzoru:

$rcmail_config['default_host'] = array('localhost', 'ssl://mail.example.org:993');

Pokud tuto volbu ponecháte prázdnou (což je výchozí nastavení), uživatelé se budou moci hlásit k libovolnému serveru (což se dá považovat za bezpečnostní riziko). Poté zbývá už jen restart Apache:

service apache2 restart