Self-Hosting – Installation / Konfiguration von KeyHelp

Veröffentlicht am:

Themen:

Ich halte KeyHelp für eine wirklich gute Sache. Es nimmt einem eine ganze Menge an Arbeit ab. Installiert und konfiguriert einen kompletten Webserver und fertig ist die Laube. Dann kann man beliebige Webseiten an legen und nutzen. Dazu benötigt man dann lediglich passende Domains.

Wie auch immer. Beim installieren und einrichten des ganzen auf dem Server tuhuus sind mir dann doch ein paar Stolpersteine in den Weg gekommen und ein paar Sachen aufgefallen. Diese möchte ich an dieser Stelle nicht unerwähnt lassen.

Kosten & Lizenz & Installation

Auf meinem vServer bei Zap-Hosting hatte ich KeyHelp bereits in Betrieb und war immer total zufrieden. Daher auch hier auf meinem eigenen Server die Nutzung dieser Software. Die Software ist zwar kostenfrei in der Nutzung. Support kostet aber ggf. Geld und die Software ist auch nicht Quelloffen. Vielleicht also für den ein oder anderen ein Ausschlusskriterium.Ich wollte es erwähnt haben.

KeyHelp selber installiert allerdings die üblichen kostenlosen und quelloffenen Pakete wie den Apache Webserver, PHP, Postfix etc pp.

Die Installation ist eigentlich einfach. Man verbindet sich per SSH auf den Server (oder startet die Console direkt auf dem Server, was natürlich auch möglich ist).

Damit die Installation möglich ist, wechselt man zuerst in den Root.

sudo -i

Und dann reicht schon folgende Befehlszeile.

wget https://install.keyhelp.de/get_keyhelp.php -O installkeyhelp.sh ; bash installkeyhelp.sh ;

Und dann folgt man dem Assistenten.

Ruhe und Gelassenheit

Ist immer sehr wichtig. Hier aber noch einmal mehr. Mit ist bei KeyHelp an verschiedenen Stellen aufgefallen das die getätigten Einstellungen manchmal ein Moment brauchen bis Sie nach hinten durchschlagen. Ich weiß nicht woran das genau liegt, ist auch Schnuppe. Das System funktioniert und man sollte seinen gemachten Einstellungen einfach vertrauen.

Domain zum Aufruf der KeyHelp-Oberfläche

Im zweiten Schritt der Installation kann man einen Host-Namen festlegen. Über diesen Host-Namen lässt sich dann später die Weboberfläche aufrufen. Da mein Server an einer Fritz Box angeschlossen ist, stand dort automatisch keyhelp.fritz.box. Wenn man aber die KeyHelp-Oberfläche auch von extern aufrufen möchte, kommt man mit dieser Einstellung nicht weit. Hier also die eigene Domain oder die Subdomain des genutzten DynDNS-Dienstes hinterlegen (siehe Artikel zur Erreichbarkeit).

Andere Dienste / Transmission

Auf dem Server läuft bei mir Transmission. Teilen ist so wichtig. Und das gilt eben auch für Bandbreite. Davon ist reichlich vorhanden und wird bei mir selten ausgereizt. Warum sollen die von mir heruntergeladenen Ubuntu-Pakete nicht von anderen umso schneller geladen werden können.

Wie auch immer, war Transmission nach der Installation von KeyHelp nicht mehr erreichbar. Das galt aber nur für die Weboberfläche über die man die Torrents startet und verwaltet. Der Dienst selber läuft. Die Weboberfläche wird über Port 9091 (https://maxmuster.de:9091) aufgerufen.

Grund … die gerade frisch installierte Firewall blockt den Zugriff. Unter „Sicherheit / Firewall“ hab ich die folgende Regel hinzugefügt:

Transmission Firewall-Regel in KeyHelp

Analog kann man dann natürlich für andere Ports vorgehen.

E-Mail versandt über Postfix

KeyHelp setzt einem natürlich einen kompletten Mailserver auf. Komplett mit Virenschutz, Spamfilter etc pp. Problem ist nur: Viele E-Mail Provider nehmen keine E-Mails von dynamischen IP-Adressen an. Warum? In 9 von 10 Fällen handelt es sich dabei um Spam oder schlimmeres.

Darum muss man Postfix (das ist der Mailserver) dazu bringen das er die Mails nicht selber zustellt, sondern an einen Relay-Server eines „echten“ Anbieters weiterleitet. Also statt einen eigenen SMTP-Server zu betreiben, verwende ich den meines „normalen“ E-Mail Anbieters, so wie ich es z.B. auch mache wenn ich eine Mail über Thunderbird oder Outlook versende. Im Fall der Telekom ist das der Server securesmtp.t-online.de. Mit Mail M oder einer Homepage bei der Telekom darf man auch den Server sucuresmtprelay.t-online.de verwenden. Unterschied? Ja, der securesmtp trägt als Absender der E-Mail immer den Anmeldenamen ein (also deine @t-online.de E-Mail-Adresse). Der Relay nimmt die im der E-Mail angegebene E-Mail-Adresse, auch wenn die gar nichts mit der Telekom zu tun hat.

Wenn du in KeyHelp also zum Beispiel deiner max.muster@t-online.de eingetragen hast dann reicht es vollkommen aus mit dem securesmtp zu arbeiten. Wenn du deinen Nutzern und dir einen echten Mail-Service über eine eigene Domain anbieten möchtest, dann benötigst du wohl besser einen Relay-Server. Frag bei deinem Anbieter nach. Der hat sowas bestimmt im Angebot ….

Naja … dann hab ich frei nach der Anleitung meinen Server konfiguriert

Passwortdatenbank erzeugen

sudo nano /etc/postfix/sasl_passwd

Hiermit öffnen wir eine neue Datei in der wir für jeden verwendeten SMTP Server Benutzernamen und Passwort hinterlegen. In die Datei schreiben wir dann

[mail.isp.example] username:password

Also den Mailserver + die Anmeldedaten. In meinem Fall sieht das dann so aus:

securesmtprelay.t-online.de max.muster@t-online.de:totalgeheimespasswort

Mit Strg + X wird der Eintrag gespeichert. Jetzt muss aus dieser Datei eine Datenbank erstellt werden. Und dann sorgen wir noch für die notwendigen Zugriffsrechte:

sudo postmap /etc/postfix/sasl_passwd
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Postfix konfigurieren

Die Konfigurationsdatei des Postfix öffnen.

sudo nano /etc/postfix/main.cf

Hier nach der Zeile „relayhost =“ suchen und den Server eintragen. Hier drauf achten das der exakt wie in der Passwortdatenbank geschrieben wurde.

Dann ans Ende der Datei die Einträge

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Und das dann wieder mit Strg + X gespeichert. Postfix neu starten (sudo service postfix restart) und schon sprudeln die Mails aus dem Server heraus.

Mögliche Fehler

Natürlich hat das bei mir nicht auf Anhieb geklappt. In der syslog standen dann Artig die Gründe für meine Versagen.

warning_ /etc/postficx.main.cf, line 68: overriding earlier entry

Hier hatte ich doch tatsächlich zwei Einträge relayhost in der main.cf und der zweite war leer. Postfix versuchte daher nicht über den von mir definierten Relay-Server zu versenden, sondern direkt. In der Folge stand in der nächsten Zeile:

host smtp-02.tld.t-online.e refused to talk to me: 554

Nach dem ich das Problem aus der Welt geschaffen hatte meldete die syslog

530 5.7.0 Authentification required

Ich hatte mich vertippt und es erfolgte daher keine Anmeldung am Server. Ich musste also die ersten drei Schritte nocheinmal durch führen.