Tento tutoriál ukazuje instalaci nejnovější webové pošty RoundCube na Debianu 8. Roundcube je snadno použitelný webový poštovní klient s podporou IMAP a SMTP, kterou lze rozšířit pomocí zásuvných modulů. Na Debianu 7 byl RoundCube dostupný jako balíček .deb, nebyla to nejnovější verze, ale alespoň se dala snadno nainstalovat pomocí apt. Pro aktuální vydání Debianu již není k dispozici žádný balíček RoundCube, takže zde popíšu instalaci ze zdroje. Tento výukový program obsahuje volitelnou kapitolu, která popisuje kroky pro připojení RoundCube k ISPConfig 3 Hosting Control Panel.
Předpoklady
- Operační systém Debian 8.
- Webový server Apache s nainstalovaným mod_php. Pokud ještě není nainstalován žádný apache, podívejte se do našeho průvodce LAMP nebo nastavením Perfect Server a nainstalujte vhodné prostředí.
- E-mailový server (SMTP + IMAP), ke kterému se má Roundcube připojit. Může to být místní server (např. když používáte jedno z perfektních nastavení serveru) nebo vzdálený server.
- Název hostitele serveru, který použiji v tomto kurzu, je server1.example.com s IP adresou 192.168.1.100. Nahraďte to prosím IP a název hostitele vašeho serveru.
Instalace RoundCube
RoundCube nainstaluji do adresáře /opt/roundcube, aby se zajistilo, že tato instalace nebude kolidovat s žádnými balíčky systému Debian. Prvním krokem je instalace wget, vytvoření adresáře /opt/roundcube a stažení nejnovější verze RoundCube s wget do tohoto adresáře. Aktuální verze RoundCube je v době psaní tohoto návodu 1.1.3. Podívejte se na web RoundCube a zkontrolujte, zda existuje novější verze, kterou můžete použít.
Přihlaste se jako uživatel root do shellu vašeho serveru, poté nainstalujte wget a nano editor:
apt-get install wget nano
Vytvořte adresář a zadejte jej příkazem "cd":
mkdir /opt/roundcube
cd /opt/roundcube
Stáhněte si soubor RoundCube tar.gz a rozbalte jej:
wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz
Soubory RoundCube jsou nyní ve složce /opt/roundcube/roundcubemail-1.1.3. Dalším krokem je přesunout je o jeden adresář nahoru do /opt/roundcube.
mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .
Tečka na konci dvou příkazů je povinná a je součástí příkazu, nenechte si to ujít! Smažte prázdný adresář a soubor tar.gz.
rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz
A změňte vlastníka všech souborů na uživatele, pod kterým běží server Apache.
chown -R www-data:www-data /opt/roundcube
Instalace databáze RoundCube
Roundcube vyžaduje databázi pro uložení nastavení poštovní schránky, kontaktů atd. Jako backend databáze zde použiji MySQL (nebo MariaDB). Nyní vytvoříme databázi s názvem "roundcubemail" a uživatelem s názvem "roundcube" v MySQL.
Přihlaste se k serveru MySQL pomocí následujícího příkazu:
mysql --defaults-file=/etc/mysql/debian.cnf
Poté spusťte následující příkazy v prostředí databáze MySQl a vytvořte databázi a uživatele databáze. Nahraďte slovo „tajné heslo“ v příkazech níže heslem dle vašeho výběru.
CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO [email protected] IDENTIFIED BY 'secretpassword';
flush privileges;
quit
Nyní importujeme tabulky RoundCube ze souboru mysql.initial.sql do naší nové databáze.
Spusťte následující příkaz v prostředí Linux:
mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql
Konfigurace RoundCube a Apache
V tomto kroku nakonfigurujeme podrobnosti databáze v RoundCube a přidáme konfigurační soubor RoundCube v Apache.
Začnu konfigurací databáze v RoundCube. Spuštěním následujících příkazů vytvořte nový soubor config.inc.php založený na ukázkovém konfiguračním souboru a otevřete jej v nano editoru.
cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php
Najděte řádek konfigurace databáze, který začíná $config['db_dsnw'] a nahraďte jej následujícím řádkem:
$config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail';
Slovo „secretpassword“ je třeba nahradit heslem, které jste zvolili pro databázi.
Dále vyhledejte řádek „smtp_server“ a zde nastavte název hostitele vašeho SMTP serveru. V mém případě je poštovní server místní server, takže server nastavím na "localhost".
$config['smtp_server'] = 'localhost';
Nyní je čas nakonfigurovat Apache. Vytvořím nový konfigurační soubor roundcube.conf ve složce /etc/apache2/conf-available/.
nano /etc/apache2/conf-available/roundcube.conf
Přidejte do tohoto souboru následující řádky a uložte jej.
Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube
<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>
FileETag MTime Size
<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>
AllowOverride None
Require all granted
</Directory>
<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>
2 řádky aliasu v prvních dvou řádcích zpřístupňují RoundCube jako /roundcube a /webmail na vašem serveru.
Povolte konfiguraci a znovu načtěte apache:
a2enconf roundcube
service apache2 reload
To je vše, RoundCube je nyní plně nainstalován na vašem serveru a můžete jej dosáhnout na IP serveru a názvu hostitele prostřednictvím aliasů /roundcube a /webmail. IP mého serveru je 192.168.1.100; za to mohu otevřít RoundCube pomocí http://192.168.1.100/webmail
Instalace pluginu ISPConfig RoundCube (volitelné)
Pokud má váš server nainstalovaný iSPConfig 3, důrazně se doporučuje nainstalovat plugin ISPConfig RoundCube. To umožňuje uživatelům vašich e-mailů spravovat své automatické odpovědi, e-mailové filtry a další nastavení poštovní schránky z RoundCube.
Plugin ISPConfig 3 RoundCube je připojen k ISPConfig 3 pomocí vzdáleného API ISPConfig. K použití tohoto rozhraní API potřebujeme vzdáleného uživatele.
Přihlaste se do ISPConfig jako uživatel „admin“.
Chcete-li vytvořit takového uživatele, přejděte na Systém> Správa uživatelů> Vzdálení uživatelé a klikněte na tlačítko Přidat nového uživatele:
Zadejte uživatelské jméno a heslo pro nového vzdáleného uživatele. Vyberu si uživatelské jméno "roundcube" a heslo "!fdWEacBOG1d".
Vzdálené uživatelské nastavení umožňuje jemné řízení přístupu; musí být povoleny následující funkce:
- Funkce serveru
- Klientské funkce
- Uživatelské funkce pošty
- Funkce e-mailového aliasu
- Uživatelské funkce filtru nevyžádané pošty
- Funkce zásad filtru nevyžádané pošty
- Funkce načítání pošty
- Funkce bílé listiny filtru nevyžádané pošty
- Funkce černé listiny filtru nevyžádané pošty
- Funkce uživatelského filtru pošty
Nakonec klikněte na Uložit.
Další kroky byly provedeny na shellu vašeho serveru. Přihlaste se jako uživatel root.
Nyní nainstalujeme certifikát ISPConfig SSL do úložiště certifikátů SSL z Debianu.
cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates
Otevřete soubor /etc/php5/cgi/php.ini
nano /etc/php5/apache2/php.ini
Posouvejte se dolů, dokud neuvidíte sekci [openssl] souboru a tam přidáte následující řádek:
openssl.cafile=/etc/ssl/certs/ca-certificates.crt
Poté restartujte apache.
service apache2 restart
Chcete-li si doplněk stáhnout, nejprve nainstalujte klienta Git.
apt-get install git
Získejte nejnovější verzi pluginu RoundCube ISPConfig:
cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/
A přesuňte plugin do adresáře pluginů roundcube.
mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins
Vytvořte nový soubor config.inc.php pro plugin na základě ukázkové konfigurace a otevřete soubor v nano editoru.
mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php
Vyplňte údaje o vzdáleném uživateli a uložte soubor.
<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>
Nahraďte server1.example.com s názvem hostitele serveru. Pokud se pro připojení Remote API používá SSL (HTTPS), je důležité, aby název hostitele v konfiguraci RoundCube odpovídal názvu hostitele certifikátu SSL rozhraní ISPConfig. Název hostitele certifikátu ISPConfig SSL můžete zkontrolovat příkazem:
openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:
Výsledek je v mém případě:
Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/[email protected]
Název hostitele "server1.example.com" v konfiguračním souboru pluginu tedy odpovídá názvu hostitele v certifikátu SSL.
Nyní aktivujeme nové pluginy v RoundCube. Otevřete konfigurační soubor v editoru:
nano /opt/roundcube/config/config.inc.php
a na konec souboru přidejte následující řádek:
$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");
Nyní se můžete přihlásit do RoundCube, nové možnosti najdete v Nastavení> Účet .
Obecný účet.
Nastavení poštovního filtru.
Nastavení Fetchmail.
Odkazy
- Debian
- Kulatá kostka
- Plugin Roundcube ISPConfig