Nachdem Sie den Ubuntu-Server gemäss der Anleitung aufgesetzt und für Webseiten vorbereitet haben, können Sie nun virtuelle Webseiten einrichten.
Für die Webseite benötigen wir ein Verzeichnis für die Codes und Bilder. Auf dieses Verzeichnis kann der Webseitenbesitzer mit FTP zugreifen und nebenbei benötigt er eventuell noch eine Datenbank. Wenn alle diese Arbeiten erledigt sind, kommt als Letztes das Erstellen der Seite in Apache.
Als Beispiel nehmen wir die Seite example.ch
Nachstehend sind die benötigten Punkte aufgeführt.

  • Loggen Sie sich über den Browser auf dem Webmin-Server ein
    https://ihre-IP-Adresse:10000

Zuerst erstellen wir für den Zugriff einen neuen Benutzer. Neben dem Benutzer müssen wir auch das Verzeichnis für die Webseite eröffnen.

  • Auf der Lasche Webmin gehen Sie im Menü zu System und Users and Groups.
  • Klicken Sie auf Create a new user
  • Vergeben Sie dem Benutzer einen passenden Namen (z.B. exampleuser) und bei der Auswahl Password klicken Sie auf Normal password, damit Sie ein "leserliches" Passwort eintippen können. Bei Home directory tippen Sie das zu erstellende Web-Verzeichnis ein, in unserem Beispiel ist es /var/www/example
  • Bei der Gruppenzuordnung vergeben Sie dem Benutzer die Gruppen adm, cdrom, dip, lxd, plugdev und sudo
  • Nun wechseln Sie auf dem Bild zu Local Groups und erstellen darin eine zum Benutzer passende Gruppe (z.B. examplegroup) und fügen den zuvor erstellten Benutzer als Member hinzu.

Jetzt müssen wir dem Verzeichnis die korrekten Berechtigungen und Benutzer zuordnen.

  • Gehen Sie dazu auf der Lasche Webmin im Menü Tools zu File Manager.
  • Wechseln Sie zum zuvor erstellten Verzeichnis. In unserem Beispiel ist dies /var/www/example.
  • Markieren Sie jetzt diesen Ordner und gehen bei der Auswahl Tools auf Change permissions.
  • Überschreiben Sie bei Mode den Wert mit 0777, bei Apply to: wählen Sie All
  • Jetzt markieren Sie den erstellten Ordner nochmals und gehen bei der Auswahl Tools auf Change Ownership.
  • Bei User name und bei Group name geben Sie den Wert www-data ein. Dieser ist im Hintergrund mit Apache-Webserver verbunden.

Damit wir auf dieses Verzeichnis zugreifen können, erstellen wir jetzt den FTP-Zugang.

  • Auf der Lasche Webmin gehen Sie im Menü zu Servers und ProFTPD Server
  • Beim Bereich Create virtual server geben Sie unter address den Wert localhost und bei Server name den Namen des neuen Web-Servers an (in unserem Beispiel example). Klicken Sie danach auf Create.
  • Im nun erscheinenden Bild geben Sie bei Directory path das Verzeichnis der Webseite ein. Bei uns ist dies /var/www/example. Klicken Sie danach auf Create.
  • Im neuen Bild geben wir bei User and Group den Anfangs erstellten Benutzer und die Gruppe ein (bei uns exampleuser und examplegroup).
  • Jetzt klicken Sie oben rechts auf Apply changes und gehen mit Return to main menu auf das Hauptbild.
  • Auf dem Hauptbild unbedingt Apply Changes drücken, damit der neue FTP-Zugang aktiviert wird.

Jetzt widmen wir uns der Datenbank, damit auch CMS wie z.B. WordPress verwendet werden können.

  • Auf der Lasche Webmin gehen Sie im Menü zu Servers und MariaDB Database Server
  • Klicken Sie auf Create a new database. Vergeben Sie der Datenbank einen selbstsprechenden Namen. Wir nehmen im Beispiel den Domain-Namen example. Klicken Sie auf Create.
  • Innerhalb der DB-Verwaltung klicken Sie nun auf User Permissions
  • Erstellen Sie einen neuen Benutzer, den Sie danach der neu erstellten DB zuweisen können. Wir nehmen als Beispiel exampledb. Der Benutzer muss die Rechte für das Handling der Tabellen erhalten. Wählen Sie diese entsprechend aus.
  • Jetzt klicken Sie in der DB-Verwaltung auf Database Permissions
  • Erstellen Sie eine neue Berechtigung und wählen Sie die neue erstellte DB aus. Beim User wählen Sie den für die DB erstellten User aus. Wir haben als Beispiel den User exampledb erstellt. Bei Hosts bitte Any auswählen, da sonst nur innerhalb dem Ubuntu-Server auf die DB zugegriffen werden kann. Bei den Berechtigungen können Sie alle auswählen. Je nachdem, welche Berechtigungen Sie bei der Erstellung des DB-Users vergeben haben, reduzieren sich hier eventuell die Berechtigungen.

Jetzt müssen wir dem Apache-Server noch die neue Webseite hinzufügen und den Querverweis auf die entsprechenden Verzeichnisse erstellen.

  • Auf der Lasche Webmin gehen Sie im Menü zu Servers und Apache Webserver
  • Klicken Sie auf Create virtual host. Bei Server Name geben Sie am besten den zukünftigen Domain-Name ein, bei uns ist dies example.ch. Bei Port wählen Sie den Port 80 und bei Document Root wählen Sie das weiter oben erstellte Web-Verzeichnis aus. In unserem Beispiel ist dies /var/www/example. Den Rest können Sie belassen.
  • Klicken Sie auf Create now
  • Nun geben Sie noch bei Bedarf einen Alias-Namen zu Ihrer Webseite ein. Auf der Übersicht sehen Sie die neu erstellte, virtuelle Webseite. Klicken Sie darauf um auf das nächste Bild zu gelangen.
  • Klicken Sie nun auf Edit Directives
  • Sie finden eine Zeile mit ServerName example.ch, respektive mit der von Ihnen erstellten Domain.
  • Fügen Sie nach dieser Zeile eine weitere Zeile ein, um die Webseite für Sub-Domains zu aktivieren. In unserem Beispiel wollen wir auch auf www.example.ch und blog.example.ch reagieren
    ServerAlias www.example.ch blog.example.ch
  • Speichern Sie nun die Datei und starten Sie den Server neu. Damit werden alle Änderungen übernommen

Jetzt wird noch das Zertifikat benötigt. Dazu muss Ihre Domain bereits auf den Server verweisen.

  • Alles was jetzt noch benötigt wird, ist das Zertifikat.
  • Auf der Lasche Webmin gehen Sie im Menü zu Tools und Terminal
  • Tippen Sie den nachstehenden Befehl ein. Tauschen Sie die in unserem Beispiel verwendete Domain mit Ihrer richtigen aus
    sudo certbot --apache -d example.ch -d www.example.ch

Wenn Sie bei der Grundeinrichtung mehrere PHP-Versionen installiert haben, können Sie der soeben generierten Webseite die richtige PHP-Version zuordnen.

  • Auf der Lasche Webmin gehen Sie im Menü zu Tools und File Manager
  • Gehen Sie ins Verzeichnis
    /etc/apache2/sites-available
  • Öffnen sie Domain-Dateien (in unserem Beispiel zur Domain example.ch)
    example.ch.conf (Port 80)
    example.ch-le-ssl.conf (Port 443 mit Zertifikat)
  • Fügen Sie die nachstehenden Zeilen in die Dateien ein (nicht am Anfang und nicht am Ende)
    <FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
    </FilesMatch>

    Passen Sie die PHP-Version an Ihre gewünschten Gegebenheiten an.
  • Starten Sie den Apache-Server einmal neu durch
  • Um zu kontrollieren, welche PHP-Version die Webseite nutzt, erstellen Sie im Webverzeichnis (bei uns /var/www/example, eine Datei phpinfo.php
    Die nachstehenden Zeilen fügen Sie in diese Datei ein
    <?php
    phpinfo();
    ?>
  • Rufen Sie Ihre Webseite mit https://example.ch/phpinfo.php auf. Sie erhalten dann diverse Infos zu Ihrer PHP-Version.
  • Löschen Sie bei Nichtgebrauch die Datei phpinfo.php wieder.

Somit ist alles für den Webseitenbesitzer vorbereitet. Übergeben Sie ihm die Zugangsdaten und er kann seine Webseite mit dem FTP-Zugang hochladen oder für z.B. WordPress vorbereiten. Wie die Seite unter WordPress erstellt wird, können Sie in dieser Anleitung nachlesen.