Wie man eine Website in ISPConfig hinzufügt
ISPConfig ist ein Hosting Control Panel für Linux-Server. ISPConfig bietet Funktionen zur Verwaltung von Websites, Datenbanken, FTP- und Shell-Benutzern, E-Mail-Konten und DNS. In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du eine Website, eine MySQL/MariaDB-Datenbank, einen FTP-Benutzer und einen SSH-Benutzer in ISPConfig einrichtest. Die Einstellungen, die wir in dieser Anleitung gewählt haben, entsprechen den Anforderungen für typische PHP-basierte CMS wie WordPress, Joomla, Contao, Typo3 usw.
Voraussetzungen
Die folgenden Voraussetzungen müssen erfüllt sein, um dieser Anleitung zu folgen:
- Server mit installiertem ISPConfig Hosting Control Panel.
Wenn du ISPConfig noch nicht installiert hast, befolge bitte die ISPConfig-Installationsanleitung. - Ein ISPConfig-Admin-, Reseller- oder Kunden-Login. Reseller- oder Kunden-Logins müssen die Berechtigung haben, Websites innerhalb ihrer Kundengrenzen hinzuzufügen.
- Einen Domainnamen für die Website, der bereits mit einem DNS A-Record auf den Server zeigt.
- Dieses Tutorial ist mit Apache- und Nginx-Servern kompatibel.
Zu Demonstrationszwecken wird die Domain „example.com“ verwendet. Ersetze example.com durch deinen eigenen Domainnamen, wo immer er unten vorkommt.
Hinzufügen einer Website in ISPConfig
Melde dich in der ISPConfig-Web-UI an und gehe dann zum Modul „Sites“, indem du im oberen Menü auf Sites klickst.
Klicke jetzt auf die grüne Schaltfläche „Neue Website hinzufügen“. Wenn du diese Schaltfläche nicht siehst, klicke auf das Wort „Website“ im Menü auf der linken Seite.
Das Formular für die Website-Einstellungen wird eingeblendet. Hier kannst du die Details der Website konfigurieren. Im Folgenden erkläre ich die erforderlichen und empfohlenen Einstellungen.
Website-Einstellungen. Wenn du ausführliche Erklärungen zu allen Feldern haben möchtest, wirf bitte einen Blick in das ISPConfig-Handbuch. Ich werde hier nur die empfohlenen Einstellungen für eine typische PHP-basierte Website erläutern. Ein wichtiger Hinweis: Es ist nicht empfehlenswert, Funktionen zu aktivieren, die nicht benötigt werden.
- Kunde: Dieses Feld wird nur angezeigt, wenn du als Administrator oder Reseller eingeloggt bist. Das Feld kann leer gelassen werden. Wenn du Kunden verwalten willst, erstelle zuerst einen Kunden, bevor du die Website erstellst.
- IPv4-Adresse: Wähle hier *. Wichtig ist, dass alle Seiten des Servers, die auf dieselbe IP zeigen, entweder * oder die IP-Adresse verwenden, aber nicht * und IP mischen. Deshalb empfehle ich, immer * zu verwenden, was bedeutet, dass du einen namensbasierten virtuellen Host erhältst.
- Domain: Gib hier den Domainnamen ein.
- Suexec (nur Apache-Server): Das Kontrollkästchen suexec sollte immer aktiviert sein. Es stellt sicher, dass die PHP-Skripte unter dem Web-Benutzer der Website ausgeführt werden, damit PHP Dateien (Mediendateien und Updates) schreiben kann, wie es jedes moderne CMS verlangt.
- Auto-Subdomain: Wenn deine Website auch über www.example.com erreichbar sein soll und nicht nur über example.com, dann setze die automatische Subdomain auf www. Ansonsten setze sie auf none.
- SSL: Aktiviere dieses Kontrollkästchen, um den Zugriff auf die Website über SSL (HTTPS) zu ermöglichen. Es wird dringend empfohlen, es zu aktivieren.
- Let’s Encrypt SSL: SSL benötigt ein sogenanntes SSL-Zertifikat, um zu funktionieren. Du kannst entweder ein selbstsigniertes SSL-Zertifikat haben (das eine unsichere Fehlermeldung anzeigt, wenn du die Website in einem Webbrowser aufrufst), oder du kannst ein SSL-Zertifikat von einer SSL-Autorität kaufen, oder du kannst ein kostenloses SSL-Zertifikat z. B. von Let’s Encrypt erhalten. Und genau dafür ist dieses Kontrollkästchen gedacht. Wenn du dieses Kontrollkästchen aktivierst, versucht ISPConfig, ein kostenloses SSL-Zertifikat von Let’s Encrypt für die Website zu erhalten. Wichtig: Du bekommst nur dann ein Let’s Encrypt SSL-Zertifikat, wenn der Domainname der Website bereits auf die IP-Adresse dieses Webservers zeigt. Wenn du Probleme hast, ein Let’s Encrypt SSL-Zertifikat zu erhalten (das Let’s Encrypt-Kontrollkästchen wird etwa eine Minute nach der Erstellung der Website deaktiviert), dann wirf einen Blick auf die Let’s Encrypt-Fehler-FAQ, um eine Checkliste zur Fehlerbehebung zu erhalten.
- PHP: Der empfohlene PHP-Modus ist PHP-FPM. Wenn du einen Nginx-Webserver verwendest, wird dieses Feld nicht angezeigt, da Nginx ISPConfig-Server immer PHP-FPM verwenden.
- PHP-Version: Dieses Feld wird nur angezeigt, wenn du mehrere PHP-Versionen installiert hast. Ich empfehle, immer die höchste Version zu verwenden, die von dem CMS oder der Webanwendung unterstützt wird, die du auf deiner Website installieren willst. Sieh dir die Systemanforderungen für das CMS an, um die richtige Version auszuwählen.
- Aktivieren: So aktivierst du die Website.
Klicke auf die Schaltfläche „Speichern“, um die Website zu erstellen. Die neu hinzugefügte Website wird in der Website-Liste angezeigt.
Die Erstellung der Website kann bis zu einer Minute dauern. Sie ist abgeschlossen, wenn der rote Punkt im oberen Menü verschwindet. Die Zahl in dem Punkt ist die Anzahl der noch ausstehenden Konfigurationsänderungen.
Jetzt haben wir eine voll funktionsfähige Website, aber die meisten CMS-Systeme benötigen auch eine MySQL- oder MariaDB-Datenbank, um ihre Inhalte zu speichern. Im nächsten Schritt werden wir eine solche Datenbank und einen Datenbankbenutzer anlegen.
MySQL-Datenbank und Datenbank-Benutzer in ISPConfig hinzufügen
In diesem Schritt fügen wir einen neuen MySQL-Benutzer und eine Datenbank hinzu, die vom CMS-System der Website verwendet werden sollen.
Klicke im linken Menü auf„Datenbankbenutzer„:
Und dann auf die grüne Schaltfläche„Neuen Benutzer hinzufügen„, die in der Mitte der Seite erscheint.
Das Formular mit den Details des Datenbankbenutzers wird angezeigt.
Die Eingabefelder für den Datenbankbenutzer werden im Folgenden ausführlich erklärt:
- Kunde: Es ist optional, hier einen Kunden auszuwählen. Wenn du die Website jedoch bei der Erstellung einem Kunden zugewiesen hast, ist es wichtig, dass du hier denselben Kunden (oder im Fall dieses Beispiels – keinen Kunden) auswählst.
- Datenbankbenutzer: Gib hier den Namen ein, den der neue Datenbankbenutzer erhalten soll. Dem Namen wird ein Präfix vorangestellt, so dass in diesem Beispiel der Name des Datenbankbenutzers c0mywebsite lautet. Wir werden ihn später auch in der Datenbankbenutzerliste sehen. Siehe das Kapitel über Präfixe am Ende des Handbuchs.
- Datenbankpasswort und Passwort wiederholen: Gib hier zweimal ein sicheres Passwort für den neuen Datenbankbenutzer ein. Oder verwende die Schaltfläche „Passwort generieren“, um eines zu erzeugen. Achte darauf, dir das Passwort zu notieren, denn du brauchst es später, wenn du das CMS auf der Website installierst.
Klicke auf „Speichern“, um den Datenbankbenutzer anzulegen. Du wirst dann zur Liste der Datenbankbenutzer weitergeleitet. Beachte bitte, dass der Benutzer in MySQL erstellt wird, wenn wir ihn im nächsten Schritt einer Datenbank zuweisen.
Wie du in der Liste sehen kannst, lautet der Datenbank-Benutzername „c0mywebsite“ und das ist der Name, den du verwenden musst, wenn du die Datenbankdetails bei der Installation des CMS auf der Website eingibst.
Jetzt erstellen wir eine MySQL-Datenbank. Klicke dazu im linken Menü auf„Datenbanken„.
Die (leere) Liste der Datenbanken wird angezeigt. Dort klickst du auf die grüne Schaltfläche„Neue Datenbank hinzufügen„.
Fülle die Datenbankdetails wie unten gezeigt aus:
Die Datenbankeinstellungen im Detail:
- Standort: Hier musst du die Website auswählen, zu der die Datenbank gehören soll. In unserem Fall ist das die Website „example.com“. Die Wahl der richtigen Website ist wichtig, da diese Einstellung z.B. festlegt, in welchem Backup die Datenbank landet und welche Berechtigungen für den Datenbankzugriff festgelegt werden.
- Datenbankname: Hier gibst du den Namen ein, den die neue Datenbank erhalten soll. Ich werde hier den Namen „mywebsite“ verwenden. Ähnlich wie beim MySQL-Benutzer wird dem Datenbanknamen ein Präfix vorangestellt, so dass der resultierende Datenbankname „c0mywebsite“ lauten wird. Siehe das Kapitel über Präfixe am Ende des Handbuchs.
- Datenbankbenutzer: Hier wählst du den Namen des Datenbankbenutzers aus, den wir zuvor erstellt haben.
- Aktiv: Muss aktiviert werden, um die Datenbank zu aktivieren.
Drücke jetzt auf die Schaltfläche Speichern. Dadurch werden die Datenbank und auch der Datenbankbenutzer in MySQL angelegt. Du kehrst zur Datenbankliste zurück und unsere neue Datenbank wird dort angezeigt.
Du kannst jetzt z.B. über phpmyadmin auf die Website zugreifen, indem du in der Liste auf die Schaltfläche phpMyAdmin klickst:
Hinweis: Falls du die Fehlermeldung erhältst, dass phpMyAdmin nicht gefunden wird, ist die URL zu phpMyAdmin nach der ISPConfig-Installation unter System > Schnittstelle > Hauptkonfiguration noch nicht konfiguriert. Die URL lautet normalerweise https://server1.example.com/phpmyadmin auf Apache-Systemen und https://server1.example.com:8081/phpmyadmin auf nginx-Systemen, wobei server1.example.com der Hostname des Hosting-Servers ist.
Zugriff auf die Website-Dateien
Wir haben bereits eine Website und eine MySQL-Datenbank erstellt, aber um ein CMS-System zu installieren, musst du in der Lage sein, entweder per FTP oder SSH auf den Website-Ordner zuzugreifen. In diesem Kapitel zeige ich dir, wie du FTP (FTPS) und SSH (SFTP) Zugriff auf die Website gewährst.
FTP-Benutzer in ISPConfig hinzufügen
Klicke auf Webzugriff > FTP-Accounts im Menü auf der linken Seite, um zur FTP-Benutzerliste zu gelangen.
Klicke auf der Seite, die sich öffnet, auf die Schaltfläche„Neuen FTP-Benutzer hinzufügen„.
Das Formular mit den FTP-Benutzerdetails wird angezeigt:
Hier erfährst du, was du in welche Felder eintragen musst:
- Website: Wähle hier die Website aus, zu der der FTP-Benutzer gehören soll. In unserem Beispiel heißt die Website „example.com“.
- Benutzername: Gib hier einen Benutzernamen für den FTP-Benutzer ein. Dem Benutzernamen wird automatisch ein Präfix vorangestellt.
- Kennwort und Kennwortwiederholung: Gib hier zweimal ein sicheres Kennwort ein oder benutze die Schaltfläche „Kennwort generieren“.
- Aktiv: Dieses Kontrollkästchen muss aktiviert werden, um den FTP-Zugang zu aktivieren.
Klicke jetzt auf„Speichern„, um den FTP-Benutzer anzulegen. Du wirst zur FTP-Benutzerliste weitergeleitet, in der auch der FTP-Benutzername inkl. Präfix angezeigt wird.
Wir haben erfolgreich einen FTP-Benutzer in ISPConfig erstellt. Damit können wir über einen beliebigen FTP-Client auf die Website zugreifen. Die unterstützten Protokolle sind FTP und FTPS (FTP über TLS). Bitte beachte, dass es sich bei SFTP (auch wenn der Name ähnlich lautet) um SSH-Dateizugriff und nicht um FTP handelt. Daher wird für die Nutzung dieses Protokolls ein SSH-Benutzer benötigt (den wir im nächsten Kapitel anlegen).
Welche Details müssen nun also in einem FTP-Client verwendet werden?
- Server: Der FTP-Servername ist der Hostname des Servers, denn das ist der Name, auf den das SSL-Zertifikat des FTP-Servers normalerweise ausgestellt wird. Mein Server hat den Hostnamen „server1.example.com“, also gebe ich „server1.example.com“ ein, wenn der FTP-Client nach dem Namen des FTP-Servers fragt.
- FTP-Benutzername: Der FTP-Benutzername ist der vollständige Benutzername inklusive Präfix. In diesem Beispiel ist das Präfix „default“ und der Benutzername „mywebsite“. Der FTP-Benutzername, der in den FTP-Client eingegeben werden muss, lautet also „defaultmywebsite“. Übrigens: Wenn dir die Präfixe nicht gefallen, kannst du im Kapitel am Ende des Leitfadens nachlesen, warum Präfixe auf den meisten Systemen benötigt werden und wo du sie deaktivieren oder ändern kannst (wenn du der Administrator des Servers bist).
- FTP-Kennwort: Das Passwort, das du für diesen FTP-Benutzer im obigen FTP-Benutzerformular festgelegt hast.
Wohin kann man nun Dateien hochladen? Das Stammverzeichnis der Website ist der Ordner mit dem Namen„web„, in den du die Datei deines CMS hochlädst. Der Ordner „web“ ist derjenige, auf den du mit dem Webbrowser zugreifst, wenn du den Domainnamen der Website in die Adresszeile des Browsers eingibst. Wenn du Dateien auf der Website speichern willst, auf die ein Webbrowser nicht zugreifen soll, kannst du sie in den Ordner mit dem Namen„privat“ hochladen.
SSH / SFTP / Shell-Benutzer in ISPConfig hinzufügen
Das Hinzufügen eines Shell-Benutzers, der den Zugriff per SSH und SFTP auf die Website ermöglicht, ist dem Hinzufügen eines FTP-Benutzers sehr ähnlich. Der erste Schritt ist ein Klick auf Kommandozeile > Shell-Benutzer im Menü auf der linken Seite.
Die Seite mit den Shell-Benutzern wird im mittleren Bereich angezeigt. Dort klickst du auf die grüne Schaltfläche„Neuen Shell-Benutzer hinzufügen„.
Das Formular mit den Details des Shell-Benutzers wird angezeigt.
Die folgenden Felder müssen ausgefüllt werden.
- Site: Hier wählst du die Website aus, auf die dieser SSH-Benutzer Zugriff erhalten soll. In unserem Beispiel heißt die Website example.com.
- Benutzername: Gib hier den gewünschten Benutzernamen ein. Es wird ein Präfix verwendet, das dem des FTP-Benutzers entspricht.
- Passwort und Passwort-Wiederholung: Gib hier ein sicheres Passwort für den neuen SSH-Benutzer ein.
- Chroot-Shell: Wenn du hier Jailkit auswählst, wird der SSH-Benutzer in die Root-Shell der Website eingesperrt. Dies wird empfohlen und bietet eine zusätzliche Sicherheitsebene, aber der Benutzer kann nur auf Programme und Dateien zugreifen, die in seinem Jailkit installiert sind. Dieses Feld ist nur für Administratoren sichtbar, für Kunden und Wiederverkäufer kann der Wert für dieses Feld durch die Kundengrenzen vorgegeben werden.
- Öffentlicher SSH-RSA-Schlüssel: Wenn du für den SSH-Zugang statt oder zusätzlich zu einem Passwort die Authentifizierung mit einem öffentlichen Schlüssel verwenden möchtest, kannst du hier deinen öffentlichen Schlüssel eingeben.
Klicke jetzt auf Speichern und der SSH-Benutzer wird erstellt. Das kann bis zu einer Minute dauern. Du kannst die rot blinkende Anzeige in der oberen Navigationsleiste sehen, bis die Änderungen auf die Festplatte geschrieben wurden.
Mit diesem SSH-Benutzer kannst du mit einem SFTP-Client (SSH File Transfer) auf die Website zugreifen oder du kannst den ssh-Befehl oder einen SSH-Client wie Putty verwenden, um einen Terminalzugang zu erhalten. Die Angaben, die in einem SSH- oder SFTP-Client verwendet werden müssen, sind
- Server: Verwende hier den Hostnamen des Servers. In meinem Fall ist der Hostname server1.example.com.
- SSH-Benutzername: Der SSH-Benutzername ist der vollständige Benutzername inklusive Präfix. In diesem Beispiel lautet das Präfix „default“ und der Benutzername „mywebsite“, also lautet der resultierende Benutzername „defaultmywebsite“.
- SSH-Passwort: Das Passwort, das du oben eingegeben hast, oder du kannst den SSH-Schlüssel verwenden, falls du ihn benutzt hast.
Benutzernamen-Präfixe in ISPConfig
Warum werden Benutzernamen-Präfixe verwendet? Die meisten Dienste in Linux, die Benutzernamen und Passwörter zur Authentifizierung verwenden, verlangen, dass der Benutzername auf dem Server eindeutig ist. ISPConfig ist ein Hosting Control Panel, das von mehreren Clients genutzt werden kann, wobei jeder Client nur seine eigenen Benutzer sieht. Nun kann das folgende Problem auftreten: Kunde A erstellt einen FTP/SSH/Datenbank-Benutzer namens „tom“. Nun meldet sich Kunde B in ISPConfig an und versucht, ebenfalls einen neuen FTP-Benutzer mit dem Namen „tom“ zu erstellen. Er kann nicht sehen, dass es bereits einen Benutzer mit dem Namen „tom“ gibt, da dieser Benutzer zu Kunde A gehört. Er würde dann eine Fehlermeldung erhalten, dass der Benutzer „tom“ bereits existiert, aber da er diesen Benutzer nicht sehen kann, würde er wahrscheinlich denken, dass es einen Fehler in der Software geben muss und den Support seines ISP anrufen. Hier kommen Benutzernamen-Präfixe ins Spiel, die ISPConfig standardmäßig konfiguriert, z.B. ein „c + ID des Clients“ vor einem Datenbank- oder Datenbankbenutzer oder den Benutzernamen des Clients (falls kein Client vorhanden ist, das Wort default) vor einem SSH- oder FTP-Benutzer einfügt. So kann jeder Client einen Benutzer „tom“ haben, mit dem Nachteil, dass das Präfix Teil des Benutzernamens ist, um ihn eindeutig zu machen. Aber nicht alle ISPConfig-Server werden als Hosting-Systeme genutzt. Vielleicht verwendest du ISPConfig z. B. als Panel für deinen Heimserver oder einen internen Firmenserver, so dass du keine Benutzernamen-Präfixe benötigst und es ärgerlich findest, dass ISPconfig sie hinzufügt. Das lässt sich aber leicht beheben, da die Benutzernamen-Präfixe in ISPConfig frei konfigurierbar sind. Um sie zu entfernen, gehst du zu System > Schnittstelle > Hauptkonfiguration (während du als Admin-Benutzer eingeloggt bist):
Leere alle Präfix-Felder und drücke den Speichern-Button:
Jetzt sind die Präfixe für Benutzernamen und Datenbanknamen deaktiviert. Bitte beachte, dass diese Änderung nur für neu angelegte Benutzer gilt. Die Präfixe bestehender Benutzer werden nicht entfernt, so dass bestehende Benutzernamen nicht verändert werden und ihre Anmeldung nicht unterbrochen wird, wenn du diese Einstellungen änderst.
Links
Hier sind ein paar Links zum Weiterlesen und um Hilfe zu bekommen, falls du Probleme hast.