Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
webmailer_roundcube [2014/09/13 23:38] rakor |
webmailer_roundcube [2017/10/02 13:40] (aktuell) |
||
---|---|---|---|
Zeile 25: | Zeile 25: | ||
* security/php5-mcrypt | * security/php5-mcrypt | ||
* graphics/php5-exif | * graphics/php5-exif | ||
+ | |||
+ | Roundcube wurde nun unter ///usr/local/www/roundcube// installiert. Nun werden noch die Dateirechte angepasst: | ||
+ | <code> | ||
+ | # chown -R www:www /usr/local/www/roundcube/* | ||
+ | </code> | ||
===== nginx konfigurieren ===== | ===== nginx konfigurieren ===== | ||
- | Da der E-Mailzugang etwas recht persönliches ist sollte auch der Zugang zu //Roundcube// ausschliesslich verschlüsselt erfolgen. Demnach wird zunächst ein OpenSSL-Zertifikat angelegt wie in [[OpenSSL Zertifikat erstellen]] beschrieben. Anschliessend wird der bereits installierte //nginx// so konfiguriert, dass unverschlüsselte Anfragen auf Port 80 automatisch auf HTTPS umgeleitet werden. | + | Da der E-Mailzugang etwas recht persönliches ist sollte auch der Zugang zu //Roundcube// ausschliesslich verschlüsselt erfolgen. Demnach wird zunächst ein OpenSSL-Zertifikat angelegt wie in [[OpenSSL Zertifikat erstellen]] beschrieben. Anschliessend wird der bereits installierte //nginx// so konfiguriert, dass unverschlüsselte Anfragen auf Port 80 automatisch auf HTTPS umgeleitet werden. Hierzu wird die ///usr/local/etc/nginx/nginx.conf// wie folgt angepasst. |
<file> | <file> | ||
worker_processes 1; | worker_processes 1; | ||
Zeile 43: | Zeile 48: | ||
server { # Server auf Port 80 (HTTP) leitet an https: weiter. SSL erzwingen. | server { # Server auf Port 80 (HTTP) leitet an https: weiter. SSL erzwingen. | ||
listen 80; | listen 80; | ||
- | server_name example.com # Hier richtigen Servernamen eintragen | + | server_name example.com; # Hier richtigen Servernamen eintragen |
return 301 https://$server_name$request_uri; # enforce | return 301 https://$server_name$request_uri; # enforce | ||
} | } | ||
Zeile 58: | Zeile 63: | ||
index index.php index.html; | index index.php index.html; | ||
| | ||
+ | # Fehlercodes umleiten | ||
+ | error_page 500 502 503 504 /50x.html; | ||
+ | location = /50x.html { | ||
+ | root /usr/local/www/nginx; | ||
+ | } | ||
+ | |||
+ | # kein Zugriff auf die Verzeichnisse | ||
+ | location ~ ^/(bin|SQL|config)/ { | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | # keine versteckten Dateien | ||
+ | location ~ /\. { | ||
+ | deny all; | ||
+ | access_log off; | ||
+ | log_not_found off; | ||
+ | } | ||
+ | | ||
+ | # PHP-Scripte per FastCGI aufrufen | ||
location ~ \.php$ { | location ~ \.php$ { | ||
include fastcgi_params; | include fastcgi_params; | ||
Zeile 66: | Zeile 90: | ||
} | } | ||
</file> | </file> | ||
+ | |||
+ | ===== Verzeichnis für die SQLite-Datenbank anlegen ===== | ||
+ | Soll die Datenbank für //Roundcube// z.B. im Verzeichnis ///var/db/roundcube// angelegt werden muss dieses zunächst erzeugt und mit den entsprechenden Rechten versehen werden. | ||
+ | <code> | ||
+ | # mkdir -p /var/db/roundcube | ||
+ | # chown www:www /var/db/roundcube | ||
+ | </code> | ||
===== Basiskonfiguration von Roundcube ===== | ===== Basiskonfiguration von Roundcube ===== | ||
Nun sollte //Roundcube// grundsätzlich von aussen erreichbar sein. Somit kann nun die grundlegende Konfiguration per Browser erfolgen. Um den Installer zu starten wird die folgende URL aufgerufen **https://example.com/installer**. Im Browser erfolgt nun die Konfiguration von //Roundcube//. | Nun sollte //Roundcube// grundsätzlich von aussen erreichbar sein. Somit kann nun die grundlegende Konfiguration per Browser erfolgen. Um den Installer zu starten wird die folgende URL aufgerufen **https://example.com/installer**. Im Browser erfolgt nun die Konfiguration von //Roundcube//. | ||
+ | Um die Installation mittels einer SQLite-Datenbank durchzuführen müssen im Bereich //Database setup// die folgenden Felder geleert werden: | ||
+ | * Database server (omit for sqlite) | ||
+ | * Database user name (needs write permissions)(omit for sqlite) | ||
+ | * Database password (omit for sqlite) | ||
+ | In das Feld //Database name (use absolute path and filename for sqlite)// wird nun noch ein absoluter Pfad zur Datenbank eingetragen. Der Pfad sollte nicht im Roundcube-Verzeichnis liegen, Eine Empfehlung wäre ///var/db/roundcube/roundcube.db//. | ||
- | ===== Roundcube um managesieve erweitern ===== | + | Unter //IMAP settings// wird als //default_host// der IMAP-Server hinterlegt (z.B. ssl://mail.example.com). Ebenso wird der //smtp_server// unter //SMTP Settings// eingetragen (z.B. ssl://mail.example.com) und der Port unter //smtp_port// auf //465// gesetzt um ausschliesslich den verschlüsselten Zugang zu verwenden. Zusätzlich sollte //Use the current IMAP username and password for SMTP authentication// angehakt werden um nicht extra das SMTP-Kennwort speichern zu müssen. |
- | config.inc.php | ||
- | <file> | ||
- | $config['plugins'] = array(managesieve); | ||
- | </file> | ||
- | /plugins/managesieve # cp config.inc.php.dist config.inc.php | + | ==== Konfiguration setzen ==== |
+ | Nach Abschluss des Installationsdialogs wird die fertige Konfiguration angezeigt. Diese wird komplett kopiert und in der Datei ///usr/local/www/roundcube/config/config.inc.php// gespeichert. | ||
- | plugins/managesieve/confic.inc.php | + | ==== Konfiguration schützen ==== |
- | <file> | + | Um die Konfiguration zu schützen sollte der //installer// Ordner im Roundcube-Verzeichnis gelöscht werden. |
- | $config['managesieve_host'] = 'tls://mailserver.de'; | + | |
- | </file> | + | Um die SQLite-Datenbank sollte noch mit den richtigen Zugriffsrechten versehen werden: |
+ | <code> | ||
+ | # chmod 640 /var/db/roundcube/roundcube.db | ||
+ | </code> | ||
+ | |||
+ | ===== Weitere Schritte ===== | ||
+ | |||
+ | Um mittels //Roundcube// in der Lage zu sein //Sieve//-Regeln zur Mailfilterung sehr einfach zu definieren kann man zum Abschluss noch [[Roundcube um managesieve-Plugin erweitern]]. |