In diesem How-to erkläre ich Step by Step, wie man einen Linux Server mit Debian 8 einrichtet und für Webseiten, die auf diesem laufen werden, Froxlor installiert und verwendet. Besonders für Server-Neulinge sollte diese Erklärung hilfreich sein.
Dies ist ein veralteter Beitrag, eine neuere Version findest du hier: Apache2, PHP 8.0, MySQL und phpMyAdmin mit Froxlor für eigene Webseiten unter Debian 9 installieren [Step by Step].
Du benötigst...
Eine Domain
Putty
WinSCP
Das Besorgen einer Domain
Ich empfehle dir eine Top-Level-Domain zu kaufen, das heißt eine Domain die mit z. B. .de, .com oder .net endet. Diese kosten nur wenige Euro im Jahr. Andererseits kannst du auch bei freenom.com eine kostenlose holen. Hier ist die Endung jedoch oftmals für andere abschreckend und sie wirken nicht seriös.
Hast du dich nun für eine Domain entschieden, sei es für eine TLD oder kostenlose bei Freenom, musst du beim Anbieter die DNS-Einstellungen vornehmen. Bei Freenom kommt dies direkt beim Bestellvorgang, dies sieht wie folgt aus. Wichtig ist hier, dass du Use DNS wählst, die IPv4 IP-Adresse deines Servers in beide Felder rechts eingibst und am besten die Domain für 12 Monate reservierst.
Bei z. B. Nitrado heißt diese Einstellung Nameserver bearbeiten und man findet sie unter Meine Dienste Domains. Hier musst du einen neuen Eintrag erstellen, ins linke Feld kommt ein @, in der Mitte bleibt A (IPv4) und rechts kommt die Server IP-Adresse.
Die Vorbereitung am Server
Für meine Testzwecke habe ich den vServer S von Avoro zur Verfügung gestellt bekommen. Dieser ist nach der Bestellung nach wenigen Minuten online und du erhältst die Daten des Servers per E-Mail zugesandt. Öffne nun Putty, eine Installation ist dabei nicht notwendig. Im Feld Host Name gibst du nun die IP-Adresse deines vServers ein. Am besten gibst du jetzt noch bei Saved Sessions einen Namen deines Servers oder Projektes ein und klickst auf Save, um die Verbindung zu speichern.
Starte die Verbindung nun mit einem Doppelklick auf deinen Server und bestätige die folgende Sicherheitsmeldung mit Ja.
Nun öffnet sich eine Konsole. Melde dich dort mit dem Nutzer root und dem Passwort, welches du entweder selbst vorher festgelegt hast oder in der Mail stand, ein. Nach der Eingabe von root drückst du Enter und gibst nun das Passwort ein. Es ist normal, dass du die Eingabe des Passworts nicht siehst. Bestätige schließlich deine Eingabe wieder mit Enter. Bei erfolgreicher Anmeldung werden jetzt einige neue Zeilen angezeigt, bei falscher Eingabe wird erneut das Passwort abgefragt.
Für den Fall, dass du das Root-Passwort ändern möchtest, benutzt du nach erfolgreicher Anmeldung den Befehl passwd und gibst nun 2x das neue Passwort ein. Ob die Konsole bereit für Befehle ist erkennst du immer am #, welches immer in der letzten Zeile neben dem Art "Cursor" beim grünen Feld ist.
Als ersten werden wir den Hostname des Servers ändern: hostname root.DOMAIN.TLD
Ersetze hierbei DOMAIN.TLD mit deiner Domain.
Als nächstes bringen wir den Server auf den neuesten Stand: apt-get update
Hiermit laden wir die Updates herunter. Anschließend installierst du die Updates mit apt-get upgrade -y. Um die Abfrage, ob die Updates wirklich installiert werden sollen, zu überspringen, habe ich das Parameter -y angehängt. Die Installation der Updates wird einige Minuten dauern.
Wie du vorhin gelernt hast siehst du, ob der Server bereit ist daran, dass die # mit Cursor sichtbar ist. Ist dies der Fall, werden wir einmal die wichtigsten Grundprogramme aus dem Debian-Paket installieren. Dazu gehört auch ein Programm gegen Brute-Force Attacken, ein Editor und einiges was Froxlor benötigt:
apt-get -y install sudo fail2ban nano cron tar zip unzip tar nload htop screen dialog telnet netcat spell locales bzip2 w3m curl apache2 php5 libapache2-mod-php5 php5-curl mysql-server mysql-client php5-mysql
Während der Installation wirst du für die Eingabe des MySQL Benutzers root gebeten. Dieses musst du 2x eingeben. Schreibe dir dieses und alle folgenden Passwörter auf!
phpMyAdmin installieren
Jetzt wird phpMyAdmin installiert: apt-get -y install phpmyadmin
Hier musst du apache2 auswählen, wenn die Abfrage kommt. Drücke dazu die Leertaste wenn apache2 ausgewählt ist, die Zeile ist jetzt mit einem Stern markiert, und navigiere mit dem Drücken von Tab auf OK und drücke Enter. Nach einiger Zeit sollte wieder eine Abfrage wegen dbconfig-common kommen. Hier einfach Ja auswählen und jetzt 3x hintereinander das vorhin festgelegte MySQL Root-Passwort eingeben.
Jetzt hast du phpMyAdmin installiert. Den Fortschritt kannst du auch einsehen, indem du in deinem Browser einmal die IP deines Servers aufrufst. Sollte alles geklappt haben und du die DNS-Einstellungen richtig vorgenommen hast, siehst du jetzt die Standard "It works!"-Seite von Apache.
Froxlor installieren
Jetzt kommt die Installation von Froxlor, um die Webseite(n) nachher verwalten zu können. Beginne mit folgenden 2 Befehlen:
echo 'deb http://debian.froxlor.org jessie main' > /etc/apt/sources.list.d/froxlor.list
apt-key adv --keyserver pool.sks-keyservers.net --recv-key FD88018B6F2D5390D051343FF6B4A8704F9E9BBC
Jetzt musst du erneut nach Updates suchen, um anschließend Froxlor zu installieren:
apt-get -y update && apt-get upgrade && apt-get -y install froxlor
Während der Installation kommt wieder eine kleine Abfrage. Bei ProFTPD Servermodus auswählen und mit Tab wieder zu OK navigieren. Ist die Installation durch, musst du mit dem Editor Nano eine kleine Änderung in der Config von Apache2 ändern: nano /etc/apache2/sites-available/000-default.conf
Navigiere mit den Pfeiltasten auf deiner Tastatur zur Zeile DocumentRoot /var/www/html und entferne dort /html. Mit Strg + X und anschließend J und Enter speicherst und schließst du den Editor wieder. Da du eine Änderung in der Config von Apache vorgenommen hast, musst du diesen Dienst nun neu starten, damit die Änderung wirksam werden: service apache2 restart
Froxlor ist nun aufrufbar im Browser, wenn du deine Server-IP im Browser aufrufst und dahinter /froxlor anhängst.
Klicke auf Start install, auf der nächsten Seite sollte nun alles grün sein, sodass du die Systemvoraussetzungen erfüllst. Klicke auf Installation fortführen. Nun gibt es einiges zum Einstellen. Im folgenden habe ich eine Tabelle mit den Einstellungen und Erklärungen erstellt, die wichtig sind.
Einstellung | Eingabe |
---|---|
Passwort für den unprivilegierten MySQL-Account | Passwort für die Datenbank "froxlor", die angelegt wird |
Passwort für den MySQL-Root-Account | Passwort des MySQL-Root-Passworts, welches du am Anfang festgelegt hast |
Passwort für den MySQL-Root-Account | Passwort für den Admin-Account für Froxlor, der die Webseiten verwalten kann |
Servername (FQDN, keine IP-Adresse) | root.DOMAIN.TLD eingeben (ersetze DOMAIN.TLD mit deiner Domain) |
Unten musst du jetzt noch Webserver Apache 2.4 auswählen. Dann kannst du fortfahren. Froxlor sollte nun erfolgreich installiert worden sein und du kannst dich mit deinen Admin-Logindaten einloggen.
Jetzt ist es ander Zeit, falls noch nicht getan, WinSCP zu installieren und auch dort deinen Server hinzuzufügen. Das sollte eigentlich selbsterklärend sein. Rechnername ist die Server-IP, der Port ist 22, der Benutzername ist root und das Passwort ist dir ja bekannt. Bevor du dich jetzt verbindest, klicke auf den Pfeil neben Speichern Speichern und gib der Verbindung einen Namen, z. B. PROJEKTNAME – Root. Setze den Haken bei Passwort speichern und klicke auf OK. Jetzt kannst du dich mit einem Doppelklick auf den Eintrag verbinden, du musst auch hier einmalig die Sicherheitsmeldung bestätigen.
Froxlor konfigurieren
Jetzt beginnt der lästige Teil der Konfiguration des Servers, die Installation und Einrichtung des Webservers, Nameserver, Mailserver und FTP-Server. Klicke dazu im linken Menü beim Menüpunkt System auf Konfiguration. Bei Distribution musst du deine Debian-Version auswählen, Debian Jessie ist dabei Debian 8. als nächstes den Service, wir fangen mit dem Webserver an. Als letztes noch bei Daemon Apache 2.4 wählen. Klicke jetzt auf Weiter und gib bei FROXLOR_MYSQL_PASSWORD das vorher festgelegte Passwort der Froxlor-Datenbank ein und klicke anschließend auf Setzen. Wechsel jetzt einmal in WinSCP zum Verzeichnis /root/ und erstelle mit einem Rechtsklick Neu Datei eine .sh-Datei, z. B. A.sh. Schreibe irgendwas in den Editor und speichere die Datei mit Strg + S. Schließe den Editor und wechsel zu Putty und dort ebenfalls in das Root-Verzeichnis: cd /root/. Nun machst du dein Script noch ausführbar: chmod +x A.sh. Jetzt kannst du in WinSCP deine .sh wieder öffnen, die Datei sollte in deinem Editor während der Konfiguration immer offen bleiben. Du brauchst sie öfters. Sobald du diese immer speicherst, wird sie automatisch auf den Server hochgeladen. Wechsel nun zurück zu Froxlor.
Was du nun bei der Konfiguration tun musst ist, alle Befehle entweder in der Putty-Konsole einzugeben bzw. bei mehreren Zeilen diese in deine A.sh einzufügen und in Putty dieses Script auszuführen. Die erste Zeile für apache2 kannst du einfach kopieren und in Putty mit einem Rechtsklick in die Konsole einfügen. Doch: Da apache2 ja bereits installiert ist, kannst du den Schritt überspringen. Die Zeilen darunter musst du jedoch in deine A.sh einfügen, die Datei speichern und anschließend das Script in Putty ausführen: ./A.sh
Die Konfiguration vom Webserver ist damit schon erledigt, begib dich wieder zur Seite Konfiguration, weiter geht es mit dem Nameserver.
Hier musst du bei Daemon Bind9 nameserver auswählen. Erneut das Froxlor-Datenbank Passwort eingeben und bestätigen und alle Blöcke von oben nach unten durcharbeiten. Der erste Block ist für Putty, den zweiten musst du wieder in deine A.sh einfügen und das Script ausführen.
Weiter geht es mit dem Mailserver SMTP. Hier gibt es nur Postfix with dovecot auszuwählen. Fragen mit Möchten Sie fortfahren? musst du mit J bestätigen. Bei der Postfix Konfiguration musst du Internet-Site auswählen. Als nächstes schreibst du außerhalb von Putty root@DOMAIN.TLD und kopierst diese E-Mailadresse und fügst sie nun in das Feld in Putty mit einem Rechtsklick ein, lösche jedoch vorher das Beispiel raus. Wechsel mit Tab auf OK.
Beim Befehl /usr/bin/nano /etc/postfix/main.cf wird eine neue Datei erstellt. Hier musst du immer die Zeilen vom weißen-Eingabefeld darunter kopieren und in Putty einfügen. Dann wie immer mit Strg + X, J und Enter speichern. Das ganze musst du jetzt einige Male tun.
Als nächstes kommt der Mailserver IMAP/POP3, hier auch Dovecot with postfix auswählen. Auch hier gelten die selben Schritte wie zuvor.
Nun ist der FTP-Server mit ProFTPD an der Reihe. Und zu guter Letzt noch bei Sonstige den Cronjob for froxlor. Logrotate ist auch empfehlenswert aber kein Muss. Damit werden ältere große Log-Dateien automatisch gelöscht.
Dann bist du mit der Konfiguration fertig. Die A.sh kannst du löschen.
Website hinzufügen
Nun kannst du die erste Website hinzufügen. Gehe dazu in Froxlor oben links zu Kunden Kunden anlegen. Der Benutzername ist der, der für die FTP-Anmeldung verwendet wird. Den Haken unter Benutzername kannst du entfernen. Wähle noch ein Passwort und gib die erforderlichen Kontaktdaten an. Weiter unten musst du noch bei Dienstleistungsdaten angeben, wie viel Speicherplatz die jenige Website bekommt, etc. Klicke anschließend auf Speichern.
Jetzt musst du noch die Domain hinzufügen. Wechsel dazu links oben zu Domains Domain anlegen. Bei Domain gibst du nun deine Domain ein, ohne www oder sonstigem, darunter wählst du den eben erstellten Kunden aus. Das war es auch schon, jetzt einfach Speichern.
Jetzt kannst du WinSCP öffnen und den Login vorbereiten. Bis der FTP-Zugang möglich ist, dauert es noch ein paar Minuten, bis Froxlor alles eingerichtet hat. Der Rechnername ist nach wie vor die Server-IP, der Port für die Webseiten immer 21 und Benutzer sowie Passwort ist das vom erstellten Kunden in Froxlor.
Hast du dich verbunden, ist das einzige was du siehst, eine index.html und einen Ordner namens webalizer. Diesen kannst du ignorieren, dort werden Statistiken gespeichert. Wenn du jetzt deine Domain im Browser aufrufst, siehst du immer den Inhalt der index.html.
SSL für Webseiten aktivieren
Mit Let's Encrypt kannst du kostenlos ein SSL-Zertifikat erstellen lassen, welches von Froxlor auch regelmäßig aktualisiert wird. Das bedeutet, deine Seite ist mit https erreichbar.
Dazu musst du einmalig ein paar Einstellungen vornehmen. Melde dich in Froxlor als Admin an, gehe unter dem Menüpunkt System zu Einstellungen und ändere dort SSL-Einstellungen zu Ja. Oben jetzt noch Speichern Hier klicken um fortzufahren und jetzt auf Einstellungen rechts in der Zeile SSL-Einstellungen. Dort musst du jetzt den Haken bei Let's Encrypt verwenden setzen und wieder speichern. Anschließend im Menü links wieder zu Konfiguration die Distribution wählen Webserver Apache 2.4 und jetzt die unteren 2 Befehle noch ausführen in Putty. Beim ersten musst du wieder den Inhalt einfügen und mit dem letzten startest du Apache neu.
In Putty geht es jetzt auch weiter, und zwar musst du ein Zertifikat einrichten:
openssl req -new -days 999 -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key
Die Eingaben hier sind im Grunde egal, es schadet aber nicht, halbwegs richtige Angaben zu machen.
Jetzt müssen die erstellten Zertifikate noch an den richtigen Ort kopiert und anschließend Apache erneut neu gestartet werden:
cp server.crt /etc/apache2/apache2.pem
cp server.key /etc/apache2/apache2.key
sudo a2enmod ssl
sudo service apache2 restart
Zurück in Froxlor musst du jetzt zu IPs und Ports IP/Port hinzufügen und die Server-IP deines Servers und den Port 443 eintragen. Entferne den Haken bei Erstelle Listen-Eintrag und setze den Haken bei Ist dies ein SSL-Port? und klicke anschließend auf Speichern. Jetzt noch den Cronjob für Froxlor erzwingen, indem du diesen Befehl in Putty eingibst:
/usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force
Das war die Einrichtung für die SSL-Zertifikate. Jetzt musst du nur noch für die jeweiligen Webseite(n) das Zertifikat aktivieren. Gehe dazu zum Menü Domains und bearbeite die jeweilige Domain mit einem Klick auf den Stift. Das Dropdown-Menü bei ServerAlias-Angabe für Domain musst du zu www (www.domain.tld) ändern. Jetzt noch die Haken bei SSL-IP-Adresse(n), SSL-Weiterleitung und Benutze Let's Encrypt setzen und abschließend auf Speichern klicken.
Jetzt heißt es warten, bis Froxlor mit den Cronjobs durch ist. In spätestens 20 Minuten ist das Zertifikat für die Website erstellt und kann verwendet werden. Bei einem Besuch auf die Website wird immer automatisch zu https weitergeleitet.
Das war es dann auch "schon". Das wichtigste sollte hier erklärt worden sein. Bei Fragen oder Probleme kann dir auf meinem Discord weitergeholfen werden. Ein Dankeschön an dieser Stelle nochmal an Avoro.eu für das zur Verfügung stellen des Servers für diese Anleitung. Noch ein Hinweis in eigener Sache für deinen Server: Achte darauf, dass du deinen Server regelmäßig aktualisierst und auf dem aktuellsten Stand hältst, gerade in Hinblick auf die Sicherheit, ein paar mal im Monat ist hier ausreichend.
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.