Im Rahmen eines Kundenprojekts sollte auf eine bestehende hMailServer-Installation, die unter Windows 7 läuft, der Zugriff auf die E-Mails via Webmail ermöglicht werden.
Die Wahl des Kunden fiel auf das bekannte Webmail-System Roundcube.
Damit auf die E-Mails via Browser zugegriffen werden kann, ist es notwendig einen Webserver und weitere notwendige Komponenten zu installieren.
Voraussetzungen und Downloads
- Roundcube
- Webserver, für diesen Beitrag wird auf den Apache Webserver von Apache Lounge zurückgegriffen.
- PHP für Windows Thread Safe
- MySQL, alternativ kann auch SQLite verwendet werden
Aus Gründen der Kompatibilität wird beim Webserver und PHP auf 32-bit zurückgegriffen. Beim Download des MySQL Community Servers darf man sich nicht beirren lassen, da der Installer sowohl 32- als auch 64-bit Versionen installieren kann. Ob der Datenbankserver 32- oder 64-bit ist, spielt in diesem Fall keine Rolle.
Zum Zeitpunkt als dieser Beitrag entstand waren folgende Versionen aktuell:
- Roundcube: 0.9.0
- Apache: 2.4.4 win32 mit OpenSSL 0.9.8 (Empfohlen für Original-PHP)
- PHP: 5.4.14
- MySQL: 5.6.10.1
MySQL installieren und konfigurieren
Dieser Schritt ist nur notwendig, sofern man nicht auf SQLite setzt.
Zunächst muss der MySQL-Server installiert werden:
- Den Installer ausführen und “Install MySQL Products” auswählen.
- Dem Lizenzvertrag zustimmen.
- Hat man die aktuellste Version bereits heruntergeladen, kann die Online-Prüfung übersprungen werden.
- Im Dialog “Choosing a Setup Type” den Punkt “Server only” auswählen.
- Im Dialog “MySQL Server Configuration” bei “Config Type” “Server Machine” auswählen.
- Ggf. die Port-Freigabe in der Firewall deaktivieren, wenn auf den MySQL-Server nur lokal (Stichwort: localhost) zugegriffen werden soll.
- Ein root-Passwort für den Datenbankserver eingeben.
Damit im weiteren Verlauf Roundcube auf den MySQL-Server zugreifen kann, muss nun eine Datenbank samt Benutzer angelegt werden.
- Den “MySQL 5.6 Command Line Client” öffnen.
- Mit dem bei der Installation vergebenen root-Passwort anmelden.
- Folgende Befehle ausführen:
create database roundcube; grant all privileges on roundcube.* to roundcube@localhost identified by 'PASSWORT'; flush privileges; exit;
Mit diesen Befehlen hat man nun eine Datenbank und einen Benutzer mit dem Namen “roundcube” angelegt.
PHP installieren und konfigurieren
- Das PHP-Archiv nach “C:\PHP” entpacken.
- Den Ordner “C:\PHP\logs” anlegen. In diesem Ordner wird das Protokoll von PHP gespeichert. Dieses ist hilfreich bei der Suche nach Fehlern und Problemen.
- Die Datei “php.ini-production” zu “php.ini” umbenennen oder umkopieren.
- Die Datei “php.ini” editieren und wie folgt abändern:
- Zeile 584: error_log = C:/PHP/logs/php_errors.log
- Zeile 730: extension_dir = “C:/PHP/ext”
- Zeile 870: extension=php_fileinfo.dll (Kommentarzeichen ; entfernen)
- Zeile 874: extension=php_intl.dll (Kommentarzeichen ; entfernen)
- Zeile 878: extension=php_mbstring.dll (Kommentarzeichen ; entfernen)
- Zeile 879: extension=php_exif.dll (Kommentarzeichen ; entfernen)
- Zeile 884: extension=php_openssl.dll (Kommentarzeichen ; entfernen)
- Zeile 886: extension=php_pdo_mysql.dll (Kommentarzeichen ; entfernen)
- Zeile 919: date.timezone = Europe/Berlin
Möchte man Roundcube statt mit MySQL mit SQLite betreiben, so benötigt man statt der Zeile 886 folgende Zeilen:
- Zeile 890: extension=php_pdo_sqlite.dll (Kommentarzeichen ; entfernen)
- Zeile 901: extension=php_sqlite3.dll (Kommentarzeichen ; entfernen)
Apache installieren und konfigurieren
- Den Ordner “Apache24” aus dem Archiv nach “C:\” entpacken.
- In einer Eingabeaufforderung mit erhöhten Rechten folgenden Befehl ausführen, damit der Apache Webserver als Dienst installiert wird:
C:\Apache24\bin\httpd.exe -k install
- Die Datei “C:\Apache24\conf\httpd.conf” editieren, die Zeile 271 um “index.php” erweitern und folgende Zeilen abändern:
- Zeile 93: LoadModule autoindex_module modules/mod_autoindex.so (Kommentarzeichen # entfernen)
- Zeile 105: LoadModule deflate_module modules/mod_deflate.so (Kommentarzeichen # entfernen)
- Zeile 109: LoadModule expires_module modules/mod_expires.so (Kommentarzeichen # entfernen)
- Zeile 113: LoadModule headers_module modules/mod_headers.so (Kommentarzeichen # entfernen)
- Zeile 149: LoadModule rewrite_module modules/mod_rewrite.so (Kommentarzeichen # entfernen)
- Zeile 258: Von “AllowOverride None” zu “AllowOverride All” abändern.
Folgende Zeilen am Ende der Datei einfügen:
# PHP LoadModule php5_module "C:/PHP/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/PHP"
Nun kann der Apache über die Diensteverwaltung oder die Eingabeaufforderung von Windows gestartet werden.
Roundcube installieren und konfigurieren
- Den Inhalt des Archivs nach “C:\Apache24\htdocs\roundcube” extrahieren.
- Einen Browser öffnen und folgende Adresse aufrufen:
http://COMPUTERNAME-ODER-IP/roundcube/installer
- Nach einem Klick auf die Schaltfläche “NEXT” können Angaben wie z.B. der Titel der Webseite, aber auch sicherheitsrelevante Einstellungen, gemacht werden.
- Im Abschnitt “Database setup” müssen Angaben zum MySQL-Server vorgenommen werden. Verwendet man stattdessen SQLite, so muss Dies ausgewählt werden und im Feld “Database Name” ein Pfad samt Datenbankname eingetragen werden. Die Angabe “/SQLite/roundcube.db” entspricht dabei dem Ziel “C:\SQLite\roundcube.db”.
- Im Abschnitt “IMAP Settings” können Vorgaben gemacht werden, welcher IMAP-Server verwendet werden soll. In diesem Fall wurden hier alle Angaben zum hMailServer eingetragen.
- Im Abschnitt “SMTP Settings” gilt das Gleiche, wie im IMAP-Abschnitt.
- Nach einem Klick auf die Schaltfläche “CREATE CONFIG” werden zwei Konfigurationsdateien erstellt. Diese müssen unter “C:\Apache24\htdocs\roundcube\config” abgespeichert werden. Man sollte unbedingt prüfen, ob bei diesen zwei Dateien Zeilen außerhalb von “<php…” vorhanden sind. Ist das der Fall, sollte man diese Zeilen löschen.
- Sobald dieser Vorgang abgeschlossen ist auf die Schaltfläche “CONTINUE” klicken.
- Im Abschnitt “Check DB config” auf die Schaltfläche “Initialize database” klicken.
- Es können nun Tests der SMTP- und IMAP-Verbindung durchgeführt werden.
- Sobald alle notwendigen Schritte abgeschlossen sind, kann Roundcube über die Adresse
http://COMPUTERNAME-ODER-IP/roundcube
aufgerufen werden. Zur Sicherheit sollte der Ordner “installer” entfernt werden.
Troubleshooting
Fehlermeldung bei Roundcube – Check environment:
Intl: NOT AVAILABLE(Could be loaded. Please add in php.ini; ...
Warnung im PHP-Log:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_intl.dll' - Das angegebene Modul wurde nicht gefunden. in Unknown on line 0
Lösung: Alle icu*.dll-Dateien aus “C:\PHP” nach “C:\Apache24\bin” kopieren und den Webserver neu starten.
(Quelle: 1.7.7 lite – extension php_intl.dll läuft nicht…)
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar