BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


webmailer_roundcube

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
webmailer_roundcube [2014/09/13 23:11]
rakor [Weitere Pakete installieren]
webmailer_roundcube [2017/10/02 13:40] (aktuell)
Zeile 18: Zeile 18:
  
 Alle anderen Ports können mit Standardeinstellungen installiert werden. Alle anderen Ports können mit Standardeinstellungen installiert werden.
- 
-FIXME 
-TODO: Kommt noch 
  
 ==== Weitere Pakete installieren ==== ==== Weitere Pakete installieren ====
-Zusätzlich werden noch einige optionale ​Pakete installiert. ​Es handelt sich dabei um folgende+Zusätzlich werden noch die folgenden optionalen ​Pakete installiert. ​ 
   * sysutils/​php5-fileinfo   * sysutils/​php5-fileinfo
   * security/​php5-openssl   * security/​php5-openssl
Zeile 29: Zeile 26:
   * 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>​
  
-Danach den Server besuchen nach http://example.com/installer +===== nginx konfigurieren ===== 
- +Da der E-Mailzugang etwas recht persönliches ist sollte auch der Zugang zu //Roundcube// ausschliesslich verschlüsselt erfolgenDemnach 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 41: Zeile 41:
  
 http { http {
-    include ​      ​mime.types;​ +    include ​           mime.types;​ 
-    default_type ​ application/​octet-stream;​ +    default_type ​      ​application/​octet-stream;​ 
-    sendfile ​       on;+    sendfile ​          ​on;
     keepalive_timeout ​ 65;     keepalive_timeout ​ 65;
  
-        ​server { +    ​server { # Server auf Port 80 (HTTP) leitet an https: weiter. SSL erzwingen. 
-                listen 80; +        listen 80; 
-                server_name example.com +        server_name example.com; # Hier richtigen Servernamen eintragen 
-                return 301 https://​$server_name$request_uri; ​ # enforce +        return 301 https://​$server_name$request_uri; ​ # enforce 
-        }+    }
  
-        ​server { +    ​server { # Server an Port 443 ruer SSL-verschluesselte Verbindungen 
-                listen 443 ssl; +        listen 443 ssl; 
-                server_name example.com;​+        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;
  
-                ssl_certificate ​/etc/opensslcerts/roundcube.crt+        root /usr/local/www/roundcube
-                ​ssl_certificate_key ​/etc/​opensslcerts/roundcube.key;+        index index.php index.html
 +         
 +        # Fehlercodes umleiten 
 +        error_page 500 502 503 504 /50x.html; 
 +        location = /50x.html { 
 +            root /​usr/​local/​www/​nginx; 
 +        }
  
-               ​root ​/usr/local/​www/​roundcube+        # kein Zugriff auf die Verzeichnisse 
-               index index.php index.html+        location ~ ^/(bin|SQL|config)
-               ​location ~ \.php$ { +            deny all
-                               ​include fastcgi_params;​ +        } 
-                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;​ + 
-                                fastcgi_pass unix:/​var/​run/​php-fpm.sock;​ +        # 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>​ </​file>​
  
-config.inc.php +===== Verzeichnis für die SQLite-Datenbank anlegen ===== 
-<file+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
-$config['​plugins'​] = array(managesieve);​ +<code
-</file>+# mkdir -p /​var/​db/​roundcube 
 +# chown www:www /​var/​db/​roundcube 
 +</code>
  
-/plugins/managesieve # cp config.inc.php.dist config.inc.php+===== Basiskonfiguration von Roundcube ===== 
 +Nun sollte ​//Roundcube// grundsätzlich von aussen erreichbar seinSomit kann nun die grundlegende Konfiguration per Browser erfolgenUm den Installer zu starten wird die folgende URL aufgerufen **https://​example.com/​installer**Im Browser erfolgt nun die Konfiguration von //​Roundcube//​.
  
-plugins/managesieve/confic.inc.php +Um die Installation mittels einer SQLite-Datenbank durchzuführen müssen im Bereich ​//Database setup// die folgenden Felder geleert werden:  
-<​file>​ +  * Database server (omit for sqlite) 
-$config['​managesieve_host'​] ​'tls://mailserver.de'; +  * Database user name (needs write permissions)(omit for sqlite) 
-</file>+  * 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. 
 + 
 +==== Konfiguration schützen ==== 
 +Um die Konfiguration zu schützen sollte der //​installer//​ Ordner im Roundcube-Verzeichnis gelöscht werden. 
 + 
 +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]].
webmailer_roundcube.1410642683.txt.gz · Zuletzt geändert: 2017/10/02 13:38 (Externe Bearbeitung)

Impressum