Jak nainstalovat Roundcube
Podobně jako v případě většiny programů pro Linux lze při instalaci jít dvěma cestami. Pokud jsou k dispozici balíčky pro danou distribuci, je obvykle lepší je použít, pokud nejsou příliš zastaralé. Taková instalace je mnohem pohodlnější a následné aktualizace probíhají společně s ostatním softwarem.
Pokud balíčky nejsou nebo jsou příliš zastaralé, nezbývá než instalovat přímo „ze zdrojových kódů“. V případě Roundcube jde samozřejmě o zdrojové kódy vždy (i při instalaci z balíčků), protože je program napsán v PHP. Ovšem instalace mimo balíčkový systém je pracnější a pak se musí aktualizovat ručně (v tomto případě jde vždy o zkopírování souborů, v některých případech i o aktualizaci databáze).
Balíčky obvykle nelze použít v případě, kdy se Roundcube instaluje jinam, než je předdefinováno. U dedikovaného serveru si lze s předdefinovaným umístěním bez problémů vystačit, horší to ale je, pokud na serveru běží více webů. Existují ovšem ještě další možnosti, jak Roundcube instalovat – viz dále.
Instalace z balíčků
Jsou-li v distribuci k dispozici dané balíčky, je to velmi snadné. Záleží jen na tom, jak jsou balíčky sestaveny a které všechny je tedy potřeba nainstalovat. Například u distribuce Debian 7 Wheezy má Roundcube tyto balíčky (aktuálně s Roundcube 0.7.2):
roundcube
– hlavní metabalíčekroundcube-core
– základní programroundcube-mysql
– metabalíček pro databázi MySQLroundcube-pgsql
– metabalíček pro databázi PostgreSQLroundcube-plugins
– doplňky pro Roundcuberoundcube-plugins-extra
– další doplňky pro Roundcube
Balíčky si samozřejmě přiinstalovávají závislosti, a to jak mezi uvedenými balíčky, tak z ostatního softwaru. Například roundcube-core
vyžaduje buď roundcube-mysql
nebo roundcube-pqsql
, každý ze zmíněných balíčků si „přitáhne“ příslušné balíčky pro připojení k té které databázi. Pro plně funkční Roundcube se tedy dá instalovat například pomocí APT takto:
apt-get install roundcube roundcube-mysql roundcube-plugins
Tím se nainstaluje vše potřebné pro běh s databází MySQL (je dobré používat spíš metabalíček roundcube
než obyčejný balíček roundcube-core
, hlavně kvůli jistějším aktualizacím v budoucnu), včetně základních pluginů. Některé méně používané doplňky jsou v samostatném balíčku, i s nimi by se tedy instalovalo:
apt-get install roundcube roundcube-mysql roundcube-plugins roundcube-plugins-extra
Při instalaci lze hned připravit databázi (pokud si to člověk nechce udělat ručně podle svého). Balíčkový instalátor se zeptá, jestli se má instalace spustit a kterou databázi použít. Roundcube se nainstaluje do /var/lib/roundcube
(kořen webu), /usr/share/roundcube
(aplikační soubory), /etc/roundcube
(konfigurace) a na další místa.
Některé distribuce nemají balíčky Roundcube ve svých repozitářích, ale existují repozitáře třetích osob, kde lze balíčky najít. To je třeba případ CentOS 6, kde Roubcube v repozitářích není, ale lze přidat například Remi a v něm je balíček aktuálně s verzí 0.9.2.
Po instalaci je třeba ještě Roundcube správně nastavit, viz níže.
Instalace ze zdrojových kódů
Druhou cestou instalace, a to cestou univerzální, je stáhnout si archiv (tar.gz) vytvořených tvůrci Roundcube. Ten pak stačí rozbalit na požadované místo. Protože se nevyhodnocují žádné závislosti, musí už systém obsahovat vše potřebné. Vždy je potřeba mít nainstalován webový server (Apache, Lighttpd...), PHP včetně některých modulů (seznam najdete souboru INSTALL
v archivu Roundcube) a zvolenou databázi (klientskou část; server může být samozřejmě jinde).
Dále jsou potřeba komponenty PEAR. Buď mohou být v systému nebo si je nainstalujete s Roundcube. V prvním případě si stačí stáhnout archiv bez těchto komponent, označený jako GPL (dependent), ve druhém pak archiv označený Complete. Všechny soubory se standardně instalují do jediného stromu (do kořene webu nebo pod něj); ručně si je lze umístit dle přání, ale komplikuje to aktualizace. Vždy je potřeba zajistit, aby mohl webový server zapisovat do adresářů logs
a temp
.
Dále je potřeba vytvořit databázi a databázového uživatele, který bude mít potřebná práva. Pro MySQL se použijí například tyto příkazy:
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_czech_ci */; GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost' IDENTIFIED BY 'hesloprodatabazi';
Tím vznikne prázdná databáze, v ní je pak potřeba vytvořit potřebné tabulky. Pro MySQL je skript je SQL příkazy umístěn v souboru SQL/mysql.initial.sql
:
mysql roundcubemail < SQL/mysql.initial.sql
Zbývá poslední krok, a to vytvoření konfiguračního souboru. Lze to udělat ručně, ale pohodlnější je použít webový instalátor/konfigurátor pomocí URL http://<adresa>/installer/
(pokud je Roundcube v kořeni webu). Nejprve se zkontroluje, zda systém vyhovuje pro běh Roundcube.
Následuje formulář s nastavením jednotlivých konfiguračních hodnot. Každá je poměrně podobně vysvětlena. Z konfiguračních parametrů, které se nastavují, jsou klíčové tyto:
db_dsnw
– připojení na databázi; uvádí se server, název databáze, uživatelské jméno a heslodefault_host
– adresa IMAP serveru; lze jich zadat i víc, případně lze hodnotu vynechat, pokud se má přímo zadávat při přihlašování; pro použití SSL/TLS se použije URL začínající ssl://, resp. tls://smtp_server
– adresa SMTP serveru; může zůstat prázdná, pak se použije funkcemail()
z PHPsmtp_user/smtp_pass
– uživatelské jméno a heslo pro SMTP; místo nich lze zaškrtnout Use the current IMAP username and password for SMTP authentication a použijí se stejné údaje jako pro IMAP
Zbývající parametry lze ponechat na výchozích hodnotách. Mnohé z nich jsou uživatelsky předefinovatelné, takže jen říkají, jak to bude vypadat, když si to uživatel sám nenastaví (týká se například skinu, stránkování, automatického ukládání apod.). Vše lze později ručně překonfigurovat, viz dále.
Po instalaci adresář installer
smažte nebo tam alespoň zakažte přístup webovému serveru.
Konfigurace Roundcube
Pokud potřebujete změnit něco v nastavení (ať už po instalaci z balíčků nebo při nutnosti změnit dříve nastavené hodnoty), konfigurační soubory můžete najít na různých místech. Záleží právě na tom, jak se instalovalo – například:
- balíčky Debian 7 –
/etc/roundcube
- zdrojový archiv – podadresář
config
v adresáři Roundcube
Konfigurace celého Roundcube (kromě pluginů, kde je to jinak a bude o tom řeč příště) je soustředěna do dvou souborů: main.inc.php
(hlavní soubor) a db.inc.php
(přístup k databázi). Parametry se vždy definují jako hodnoty asociativního pole $rcmail_config
, kdy klíčem je název parametru. Vše je v souborech opět poměrně bohatě okomentováno.
Potřebujete-li například změnit připojení k databázi, najdete si v souboru db.inc.php
parametr db_dsnw
a upravíte jeho hodnotu. Ta se zde zadává ve formátu DSN:
$rmail_config['db_dsnw'] = 'mysql://novyuzivatel:noveheslo@novyserver/roundcubemail';
Obdobně se postupuje i u jiných parametrů. Tak například port pro odesílání pošty (SMTP) se nastavuje takto:
$rmail_config['smtp_port'] = 587;
Po instalaci z balíčků je potřeba dokonfigurovat parametry zmíněné u webové instalace. V distribuci Debian lze přístup k databázi nastavit již při instalaci, proto zbývá jen IMAP a případně i SMTP.
Vzhledem k tomu, že se konfigurační soubory zpracovávají při každém požadavku, všechny změny v konfiguraci se projeví okamžitě, tedy při nejblíže následujícím požadavku z webového prohlížeče.
Další způsoby instalace a konfigurace
Kromě uvedených metod instalace a konfigurace existuje i pár dalších. Tedy alespoň ve stručnosti:
- automatické instalátory, např. Softaculous nebo cPanel
- BitNami Roundcube Stack a další předpřipravená řešení (appliance, kontejnery apod.)
- Kolab Groupware – groupwarové řešení obsahující Roundcube
- iRedMail – kompletní řešení e-mailového serveru
- repozitář GitHub – nejčerstvější verze, vhodné pro experimentování s novými funkcemi
Popis těchto metod přesahuje rozsah článku. V řadě případů mohou být ale vhodnější než metody zde popsané.
Aktualizace, speciální nastavení, pluginy
Nyní by měl každý zvládnout Roundcube úspěšně nainstalovat, ať už tou či onou metodou. Příště se podíváme, jak aktualizovat na novější verzi, jak nastavit některé specifické parametry (což bývá občas potřeba) a také jak se nakládá s pluginy (jak se aktivují/deaktivují a konfigurují).