GNU/Linux >> Znalost Linux >  >> Debian

Instalace webové pošty RoundCube na Debian 8 (Jessie)

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.

  • Debian
  • Kulatá kostka
  • Plugin Roundcube ISPConfig

Debian
  1. Jak upgradovat Debian 8 Jessie na Debian 9 Stretch

  2. Nainstalujte Horde 5 Webmail pro ISPConfig na Debian Jessie přes PEAR

  3. Debian – nelze spustit instalaci Devuan/debian?

  1. Instalace klienta Steam na Debian Jessie 8 Linux 64-bit

  2. Vydán Debian 8 Jessie – Co je nového?

  3. Jak nainstalovat RoundCube Webmail na Debian 9

  1. Jednoduchá instalace webového prohlížeče Firefox na Debian 8 Jessie Linux

  2. Instalace nejnovější verze PHP 7 na Debian 8 Jessie Linux

  3. Instalace klienta Spotify na Debian Linux 8 ( Jessie ) 64-bit