Inhaltsverzeichnis

Im letzten HowTo habe ich ja beschrieben, wie man sich einen Mailserver und alles was dazu gehört, auf seinem Homeserver einrichten kann. Nun wollen wir diesen Mailserver komfortabler machen und erweitern die Umgebung mit einem Webinterface für den Mailzugriff und um die Möglichkeit des Versendens von Mails. Mit dem Webinterface will man logischerweise nicht nur Mails lesen, sondern auch versenden können.

Für das ganze brauchen wir die nachfolgenden Komponenten:

  • Apache2 als Webserver, inkl. PHP5-Erweiterung und MySQL-Datenbank sowie phpMyAdmin zu Verwaltung der Datenbank.
  • postfix für den Versand von Mails.
  • roundcube als Webinterface für den Mailzugriff von unterwegs.

Apache2-Webserver mit den dazugehörigen Erweiterungen installieren

sudo apt-get install apache2 PHP5 mysql-server phpmyadmin

Für den Apache2-Webserver und die obigen Erweiterungen müssen grundsätzlich keine Konfigurationen gemacht werden. Nach der Installation sind diese bereits einsatzfähig.

Anlegen einer Datenbank mit phpMyAdmin

Als nächstes legen wir für Roundcube eine Datenbank in phpMyAdmin an oder machen dies über die Konsole. Wir öffnen also phpMyAdmin über einen Browser, indem wir folgende Adresse aufrufen:

http://lokale-ip-adresse/phpmyadmin

oder

http://www.deine-domain.de/phpmyadmin

Wurde die Seite erfolgreich geladen, melden wir uns mit root und dem dazugehörigen Passwort, das wir bei der MySQL-Installation vergeben haben, an.

Nun klicken wir in der Zeile ganz oben auf „Rechte“ …

… und legen einen neuen Benutzer an:

Danach treffen wir die nötigen Einstellungen und lassen v.a. eine zum User gehörende Datenbank anlegen:

Installation von Roundcube

Die aktuelle Version von Roundcube laden wir uns von der offiziellen Seite runter: Roundcube Download.

Im Anschluss entpacken wir den Inhalt des Archivs in ein Verzeichnis auf dem Web-Server. Die Daten des Webservers befinden sich unter Ubuntu immer unter /var/www/. Ruf man also die lokale IP-Adresse des Homeservers im Browser auf, wir die index.html Datei angezeigt, die standardmäßig im Verzeichnis /var/www/ von Apache2 abgelegt wurde.

Wir erstellen uns also ein Verzeichnis unter /var/www/, z.B. ‚roundcube‘, also /var/www/roundcube (Achtung! Den Ordner mit den richtigen Rechten versorgen!) und kopieren den Inhalt des zuvor gedownloadeten Archivs in dieses Verzeichnis.

Die Installation bzw. das Einrichten von Roundcube funktioniert dann relativ einfach über den Aufruf der nachfolgenden URL in einem Browser:

http://lokale-ip-adresse/roundcube/insaller

Wurde die Installation erfolgreich abgeschlossen, kann man den Webmailer das erste mal testen und die URL aufrufen:

http://lokale-ip-adresse/roundcube

Hier loggt man sich mit dem User und Passwort ein, welchen wir für Cyrus eingerichtet haben. Roundcube zeigt sogleich die vorhandenen Mails im Postfach an.

Postfix installieren und einrichten

Um aus der Weboberfläche von Cyrus auch Mails verschicken zu können, müssen wir Postfix installieren und einrichten. Wir werden Postfix so konfigurieren, dass die Mails über einen Mail-Anbieter versendet werden und nicht vom Server selbst. Würde man vom Homeserver selbst die Mails verschicken, landet man ganz schnell auf der Blacklist von Spamfiltern, da man die Mails von einem Server mit dynamischer IP-Adresse versendet hat. Darüber hinaus kann von Spammern ein falsch konfigurierter SMTP-Server für den Versand unerwünschter Mails missbraucht werden.

Wir installieren Postfix mit folgendem Befehl:

sudo apt-get install postfix

Während des Installationsvorgangs werden bestimmte Dinge abgefragt, die man eingeben bzw. bestätigen muss. Bei General type of configuration wählen wir Internet mit Smarthost (Mail wird beim Versand nicht direkt verschickt, sondern über einen anderen Server geleitet) oder Satellite System (keine Mails werden empfangen, der Versand erfolgt über einen Smarthost, also einem anderen Server).

Ein weiterer wichtiger Punkt ist die Abfrage des SMTP relay host. Hier müssen wir den Server angeben, über den wir die Mails verschicken wollen. Soll der Versand über Googlemail erfolgen, tragen wir hier smtp.googlemail.com als Server ein.

Alle übrigen Abfragen belässt man auf Standardwerte oder macht entsprechende Angaben (Root-Mailadresse etc.).

Die Konfiguration findet sich in der Datei /etc/postfix/main.cf wieder, die wir im nächsten Schritt bearbeiten werden.

sudo nano /etc/postfix/main.cf

Da Googlemail zum Versenden von Mails ein Passwort verlangt, müssen wir nachfolgende Zeilen ergänzen.

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

Postfix wird sich also das benötigte Passwort aus der Datei /etc/postfix/sasl_password holen, dehalb müssen wir diese noch anlegen. Wir legen eine Datei an …

sudo touch /etc/postfix/sasl_password

… und füllen sie mit den Zugangdaten in der Form:

smtp.mailanbieter.de username:ganzgeheimespasswort

Jetzt schränken wir die Berechtigung für diese Datei ein, damit nicht jeder Zugriff auf das Passwort hat…

sudo chmod 600 /etc/postfix/sasl_password

… und erzeugen daraus die benötigte Datenbank:

sudo postmap hash:/etc/postfix/sasl_password

Anschließend starten wir Postfix neu:

sudo /etc/init.d/postfix restart

Nun setzten wir noch korrekte Absender, wofür wir die nachfolgende Zeile in der Datei /etc/postfix/main.cf ergänzen:

sender_canonical_maps = hash:/etc/postfix/sender_canonical

Natürlich müssen wir diese Datei noch anlegen und mit Inhalt füllen:

sudo nano /etc/postfix/sender_canonical

Der Inhalt beschreibt die Zuordnung der Mailadressen und sieht beispielhaft wie nachfolgend aus:

benutzer email.adresse@gmx.net
www-data beispiel@example.com
root email.adresse@gmx.net

Aus dieser Datei erzeugen wir wiederum eine Postfix-Datenbank und starten Postfix neu.

sudo postmap /etc/postfix/sender_canonical
sudo /etc/init.d/postfix restart

 

Nun können wir also auch Mails über unsren Mailserver versenden ohne wegen einer dynamischen IP-Adresse blockiert zu werden.

Für genauere Informationen und/oder Troubleshooting empfehle ich den zugehörigen Artikel auf Ubuntuusers: Postfix.

Autor

Hi! Ich bin Andreas und betreibe diese Seite, auf der ich über Themen rund um IT-Technik, Reisen und Fotografie schreibe. Dir gefallen meine Artikel und du möchtest mir einen virtuellen Kaffee ausgeben? Gerne! PayPal.me/imraz0r

8 Kommentare

  1. sudo apt-get install apache2 PHP5 mysql-server phpmydadmin – funktioniert nicht
    sudo apt-get install apache2 php5 mysql-server phpmyadmin – funktioniert

    • Hallo Tobias,

      besten Dank für den Hinweis. War natürlich ein Tippfehler, den ich soeben korrigiert habe :-)

      Gruß
      Imrazor

  2. Hi,

    danke für diese gelungene Anleitung!
    Jetzt habe ich nur noch eine Frage, da ich trotz googeln nichts darüber gefunden habe.
    Ist es möglich (und wenn ja, wie) dass der Roundcube Webinterface Login über SSL stattfindet?
    Wenn ich ein simples „https“ voransetze kommt gar nichts und Änderungen der Roundcube configs haben auch nichts erbracht.
    Muss man das im Apache einrichten?

    • Hallo Sigi,

      damit Apache2 auch verschlüsselte Seiten (SSL) und damit das Präfix https:// richtig verarbeiten kann, muss dieser dafür konfiguriert werden.

      Eine Anleitung dazu findest du unter: http://wiki.ubuntuusers.de/Apache/SSL

      Das ganze läuft bei mir auch recht gut, nur dass halt eine Zertifikatswarnung im Browser kommt. Das Zertifikat ist ja selbst erstellt und von keiner offiziellen Stelle, deshalb die Warnung.

      Übrigens funktionieren dann alle Webseiten auch mit HTTPS – auch imrazor.de kann mit https://www.imrazor.de aufgerufen werden, allerdings mit besagter Zertifikatswarnung.

      Grüße
      Andreas

  3. So, soweit läuft quasi alles wie gewünscht. Roundcube über SSL funktioniert auch, nur Postfix zum versenden muss ich noch einrichten.
    Das einzige was noch nicht ganz funktioniert, ist die Einsortierung der verschiedenen Konten (Web.de, Gmx, Gmail) in die im Roundcube angelegten Ordner – momentan landet noch alles im Hauptposteingang.
    Muss mir nochmal das Zusammenspiel der einzelnen Configs genau anschaun :)

  4. Hallo,
    Da ich mit den Tools und Konfigurationen meine Probleme habe, wäre es für mich sinnvoll prüfen zu können in wie weit das Ganze schon funktioniert. Welche Zwischenergebnisse kann ich prüfen?
    Momentan kommt: Verbindung zum Speicherserver fehlgeschlagen …

Einen Kommentar schreiben

Pin It