Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
webmailer_roundcube [2014/09/17 15:18] rakor [Konfiguration setzen] |
webmailer_roundcube [2017/10/02 13:40] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Allgemein ===== | ||
- | Roundcube ist ein fortschrittlicher Webmailer. Er ist im Prinzip ein IMAP-Mailclient der im Browser läuft. | ||
- | **Wichtig:** Diese Anleitung ist ein Teil von [[Mailserver einrichten]] und setzt voraus, dass bereits ein [[Mailserver auf OpenSMTPd]] und [[Dovecot2]] installiert und konfiguriert wurden! Soll **roundcube** zur Verwaltung von //Sieve-Regeln// verwendet werden muss ebenfalls [[Sieve in Dovecot aktivieren]] durchgeführt worden sein. | ||
- | |||
- | Die Folgende Anleitung setzt auf //SQLite3// als Datenbankbackend um kein extra Datenbankmanager laufen zu lassen. In der Standardkonfiguration setzt //roundcube// auf //MySQL// als Datenbankbackend. | ||
- | |||
- | ===== Webserver installieren ===== | ||
- | Da //Roundcube// ein Webclient ist benötigt man um ihn zu betreiben natürlich zunächst einen Webserver. Im Weiteren wird die Installation zusammen mit dem Webserver //nginx// angenommen. | ||
- | Die Installation des //nginx// Webservers wird im Artikel [[Webserver nginx installieren]] beschrieben. Des weiteren muss [[php mit fastcgi installieren | php mit FastCGI]] installiert und [[nginx um FastCGI erweitern | nginx um FastCGI erweitert]] werden. | ||
- | |||
- | ===== Installation ===== | ||
- | Zur Installation wird der Port //mail/roundcube// installiert und als Option **SQLite** für das Datenbankbackend gewählt. | ||
- | |||
- | <code> | ||
- | +(*) SQLITE Use SQLite backend | ||
- | </code> | ||
- | |||
- | Alle anderen Ports können mit Standardeinstellungen installiert werden. | ||
- | |||
- | ==== Weitere Pakete installieren ==== | ||
- | Zusätzlich werden noch die folgenden optionalen Pakete installiert. | ||
- | * sysutils/php5-fileinfo | ||
- | * security/php5-openssl | ||
- | * security/php5-mcrypt | ||
- | * 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 ===== | ||
- | 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> | ||
- | worker_processes 1; | ||
- | |||
- | events { | ||
- | worker_connections 1024; | ||
- | } | ||
- | |||
- | http { | ||
- | include mime.types; | ||
- | default_type application/octet-stream; | ||
- | sendfile on; | ||
- | keepalive_timeout 65; | ||
- | |||
- | server { # Server auf Port 80 (HTTP) leitet an https: weiter. SSL erzwingen. | ||
- | listen 80; | ||
- | server_name example.com # Hier richtigen Servernamen eintragen | ||
- | return 301 https://$server_name$request_uri; # enforce | ||
- | } | ||
- | |||
- | server { # Server an Port 443 ruer SSL-verschluesselte Verbindungen | ||
- | listen 443 ssl; | ||
- | server_name example.com; # Hier richtigen Servernamen eintragen | ||
- | | ||
- | # Zertifikat und Schluessel fuer die verschluesselte Verbindung | ||
- | ssl_certificate /etc/opensslcerts/official-mail.crt; | ||
- | ssl_certificate_key /etc/opensslcerts/official-mail.key; | ||
- | |||
- | root /usr/local/www/roundcube; | ||
- | 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$ { | ||
- | include fastcgi_params; | ||
- | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
- | fastcgi_pass unix:/var/run/php-fpm.sock; | ||
- | } | ||
- | } | ||
- | } | ||
- | </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 ===== | ||
- | 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//. | ||
- | |||
- | 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. | ||
- | |||
- | |||
- | ==== 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. | ||
- | |||
- | Um die SQLite-Datenbank sollte noch mit den richtigen Zugriffsrechten versehen werden: | ||
- | <code> | ||
- | # chmod 640 /var/db/roundcube/roundcube.db | ||
- | </code> | ||
- | ==== Konfiguration schützen ==== | ||
- | Um die Konfiguration zu schützen sollte der //installer// Ordner im Roundcube-Verzeichnis gelöscht werden. | ||
- | |||
- | ===== 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]]. |