Für die Entwicklung eigener WebApps bietet es sich an, einen eigenen Server zum Testen der Apps aufzusetzen, bevor man die App bei einem professionellen Hoster im Internet veröffentlicht. In diesem Teil geht es zunächst nur um die absoluten Grundlagen.
Hierbei wurden folgende Prämissen gesetzt:
- Einfache PC-Hardware: Der Server soll auf handelsüblicher, möglichst bereits vorhandener Hardware betrieben werden können. Ein älterer PC mit Intel-i5-Prozessor und 16 GB RAM ist für unsere Zwecke in der Regel vollkommen ausreichend.
- Linux als Betriebssystem: Als Betriebssystem verwenden wir Linux. Es bietet eine stabile, ressourcenschonende Plattform mit umfangreicher Unterstützung für Webserver, Entwicklungswerkzeuge und Container-Technologien.
- Entwicklungs- und Testumgebung: Der Server soll nicht nur die entwickelten WebApps ausführen, sondern auch die benötigte Entwicklungsumgebung bereitstellen. Dadurch können Entwicklung und Tests zentral auf einem Rechner stattfinden.
- Docker-Unterstützung: Mithilfe von Docker sollen die einzelnen Komponenten in voneinander getrennten Containern betrieben werden. Dadurch lassen sich beispielsweise Webserver, Datenbanken und Entwicklungswerkzeuge unabhängig voneinander konfigurieren, aktualisieren und bei Bedarf austauschen.
- Docker Compose: Die verschiedenen Container sollen über Docker Compose gemeinsam verwaltet werden. Damit können wir komplette Entwicklungsumgebungen über Konfigurationsdateien definieren und bei Bedarf reproduzieren.
- Betrieb im lokalen Netzwerk: Der Server soll zunächst ausschließlich innerhalb des eigenen Netzwerks erreichbar sein. Eine direkte Veröffentlichung im Internet ist für die ersten Entwicklungsschritte nicht erforderlich.
Ziel ist eine möglichst einfache, kostengünstige und flexible Serverumgebung, mit der sich unterschiedliche Webanwendungen entwickeln und unter praxisnahen Bedingungen testen lassen. Die Einrichtung soll dabei so gestaltet werden, dass sich die Umgebung später problemlos erweitern und an neue Anforderungen anpassen lässt.
Für unser Vorhaben nutzen wir konkret einen alten Fujitsu Esprimo E920 mit 16GB RAM und einer 1TB SSD. Das Linux System wird ein Debian 13 in der Desktop Variante sein. Um eine leichtgewichtige, grafische Benutzeroberfläche zu haben, nutzen wir XFCE anstatt des GNOME Desktop. Zusätzlich installieren wir den GEDIT sowie den MIDNIGHT Commander. Danach erfolgt die DOCKER Installation.
Installationsstick unter Windows vorbereiten
Wir benutzen die Windows Variante des Programms VENTOY https://www.ventoy.net/en/index.html um einen bootfähigen USB Stick zu erstellen.
ACHTUNG: Datenlöschung. Die Installation von Ventoy löscht den ausgewählten USB-Stick. Die spätere
Debian-Partitionierung löscht die gesamte ausgewählte 1-TB-SSD einschließlich Betriebssystem,
Partitionen und Dateien. Benötigte Daten vorher sichern und vor jeder Bestätigung den richtigen
Datenträger prüfen.
- Ventoy für Windows von ventoy.net herunterladen, das ZIP-Archiv entpacken und Ventoy2Disk.exe als
Administrator starten - Den USB-Stick auswählen. Unter Option → Partition Style die Einstellung MBR wählen. Mit Install Ventoy auf dem Stick installieren und die Löschbestätigungen bestätigen.
Das Debian-13-amd64-netinst-ISO von debian.org/distrib/netinst herunterladen. Die ISO-Datei
unverändert auf die große Ventoy-Datenpartition kopieren; nicht entpacken.
Vom USB-Stick starten
- Den Stick am Esprimo E920 einstecken und den Rechner einschalten
- Mit F12 das Bootmenü öffnen und den USB-Stick auswählen
- Im Ventoy-Menü das Debian-ISO auswählen und im normalen Modus starten. Im Debian-Startmenü Graphical install wählen
Sprache, Netzwerk und Benutzer einrichten
- Deutsch als Sprache sowie den passenden Standort und die deutsche Tastaturbelegung auswählen
- Die Netzwerkverbindung einrichten:
- Hostname: appserver
- Domainname: leer lassen.
- Ein root-Passwort vergeben und sicher aufbewahren. Es wird später bei su – benötigt. Das root-Passwort gehört zum Administratorkonto; es ist vom Passwort des normalen Benutzers zu unterscheiden. Bei der Passworteingabe im Terminal erscheinen keine Zeichen
- Den normalen Benutzer mit eigenem Benutzernamen und Passwort anlegen
Debian auf der SSD installieren
- Die gesamte 1-TB-SSD verwenden
- Bei der Partitionierung Geführt – vollständige Festplatte verwenden auswählen. Die Variante ohne LVM verwenden
- Die interne 1-TB-SSD als Ziel auswählen. Die Anzeige kann ungefähr 1,0 TB bzw. 931 GiB betragen. ACHTUNG: Nicht den USB-Stick als Installationsziel auswählen !!!
Alle Dateien auf eine Partition auswählen. Anschließend Partitionierung beenden und Änderungen
übernehmen wählen
ACHTUNG: Mit der Bestätigung zum Schreiben der Änderungen werden die vorhandenen Daten auf der
ausgewählten SSD gelöscht. Die richtige SSD nochmals prüfen und die Änderungen mit Ja bestätigen.
Paketquelle und Softwareauswahl
- Als Debian-Spiegel deb.debian.org auswählen.
- Das Feld für einen HTTP-Proxy leer lassen, sofern im verwendeten Netzwerk kein Proxy eingerichtet ist.
- In der Softwareauswahl folgende Einträge aktivieren:
- Debian-Desktop-Umgebung
- Xfce
- SSH server
- Standard-Systemwerkzeuge
- GNOME abwählen
Die Installation der ausgewählten Pakete abschließen lassen.
Installation abschließen und neu starten
- Den GRUB-Bootloader auf dem Systemlaufwerk installieren, wenn der Installer danach fragt. Die interne SSD als Ziel verwenden
- Die Installation abschließen, den Rechner neu starten und den USB-Stick entfernen, sobald das
Installationsprogramm dazu auffordert. Danach mit dem normalen Benutzer in Xfce anmelden.
System vorbereiten
- sudo über das root-Konto einrichten
- In Xfce ein Terminal öffnen und zum root-Konto wechseln:
su - - Das während der Installation vergebene root-Passwort eingeben. Danach als root ausführen:
apt update
apt install sudo
usermod -aG sudo BENUTZERNAME
exit
dabei BENUTZERNAME durch den tatsächlichen Namen des normalen Benutzers ersetzen. Das-aGfügt die sudo-Gruppe hinzu, ohne andere Gruppenmitgliedschaften zu entfernen. - Vollständig aus Xfce abmelden und wieder anmelden, damit die neue Gruppenmitgliedschaft wirksam wird. Danach im Terminal prüfen:
sudo whoami
Bei sudo das Passwort des normalen Benutzers eingeben. Die Ausgabe muss root lauten.
- In Xfce ein Terminal öffnen und zum root-Konto wechseln:
- System aktualisieren und Werkzeuge installieren (mc, git, curl, wget, gedit)
sudo apt update
sudo apt upgrade
sudo apt install mc git curl wget gedit
- Projektordner anlegen
mkdir -p ~ /Projekte
Der Ordner im User-Home Verzeichnis (~) heißt Projekte mit großem P. Linux unterscheidet Groß- und Kleinschreibung. Zwischen ~ und / ist KEIN Leerzeichen.
Docker installieren und testen
- Offizielle Docker-Paketquelle einrichten
Als normaler Benutzer im Terminal ausführen:sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc - Den folgenden Block vollständig eingeben und ausführen. Die letzte Zeile EOF steht allein und ohne Einrückung:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
- Docker Engine und Docker Compose installieren
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Installation mit hello-world prüfen
sudo docker run hello-world
Docker lädt das Testimage, startet den Testcontainer und beendet ihn nach der Ausgabe. Die Meldung Hello from Docker! bestätigt die erfolgreiche Installation.
- Docker für sudo-freie Nutzung konfigurieren sudo apt update
sudo usermod -aG docker $USER
Jetzt einmal vom XFCE abmelden und wieder anmeldengroups
In der Ausgabe sollte docker auftauchen.docker run hello-world
Jetzt sollte wieder die Meldung Hello from Docker! erscheinen und wir sind damit sudo-frei
- Docker prüfen:
docker --version
docker compose version
Wenn die entsprechenden Versions-Informationenn angezeigt wurden, ist die Installation OK.
Die Grundinstallation Linux mit Docker ist damit abgeschlossen. Im Teil 2 werden wir ein erstes eigenes Projekt unter Docker anlegen.