🐧 Linux für Einsteiger
Das Betriebssystem für Server und Entwickler – verständlich erklärt
Von den ersten Befehlen bis zu Server-Administration
🛠️ Empfohlene Tools für Entwickler
Diese Tools nutze ich selbst – sie helfen Ihnen, Ihre Projekte professionell umzusetzen und zu vermarkten.
⚡ ExeOutput for PHP
PHP-Anwendungen in eigenständige Windows-EXE-Dateien kompilieren.
Jetzt ansehen →📄 HTML Executable
HTML-Dateien und Websites als eigenständige Windows-EXE-Dateien kompilieren.
Jetzt ansehen →* Affiliate-Links: Bei einem Kauf über diese Links erhalten wir eine kleine Provision – für Sie entstehen keine zusätzlichen Kosten.
1. Was ist Linux?
Linux ist ein freies und quelloffenes Betriebssystem, das von Linus Torvalds 1991 entwickelt wurde. Es basiert auf dem Unix-Betriebssystem und ist heute die Grundlage für:
- ✅ Mehr als 90 % aller Web-Server weltweit
- ✅ Die meisten Cloud-Infrastrukturen (AWS, Google Cloud, Azure)
- ✅ Supercomputer – alle Top-500-Supercomputer laufen mit Linux
- ✅ Smartphones (Android basiert auf Linux)
- ✅ Embedded-Systeme (Router, Smart-TVs, IoT-Geräte)
🔑 Die 5 wichtigsten Eigenschaften von Linux
- Frei & Open Source: Der Quellcode ist öffentlich einsehbar und kann frei genutzt werden.
- Stabil & Sicher: Linux-Systeme laufen oft jahrelang ohne Neustart.
- Mehrbenutzerfähig: Mehrere Nutzer können gleichzeitig arbeiten.
- Befehlszeilenorientiert: Das Terminal ist das mächtigste Werkzeug.
- Modular: Sie können nur das installieren, was Sie wirklich brauchen.
2. Warum Linux für Web-Entwicklung?
📌 Vorteile von Linux für Entwickler
- Kostenlos: Keine Lizenzgebühren – ideal für Start-ups und Privatprojekte
- PHP, MySQL, Apache & Co: Der klassische LAMP-Stack läuft perfekt unter Linux
- SSH-Zugriff: Sie können Server von überall aus verwalten
- Automatisierung: Mit Cron-Jobs können Sie Aufgaben automatisch ausführen lassen
- Performance: Linux ist ressourcenschonend und hoch performant
- Große Community: Tausende von Tutorials und Foren helfen bei Problemen
3. Linux-Distributionen
Distributionen sind verschiedene "Versionen" von Linux, die unterschiedliche Schwerpunkte haben. Hier sind die wichtigsten:
| Distribution | Beschreibung | Für wen? |
|---|---|---|
| Ubuntu | Benutzerfreundlich, große Community, viele Tutorials | Einsteiger, Entwickler, Desktop |
| Debian | Sehr stabil, konservativ, großer Paketkatalog | Server, fortgeschrittene Nutzer |
| CentOS / RHEL | Sehr stabil, Unternehmensstandard | Große Server, Unternehmen |
| Fedora | Modern, immer aktuelle Software | Entwickler, moderne Workstations |
| Alpine Linux | Sehr klein (nur 5 MB), sicher, schnell | Container, Docker, IoT |
| Linux Mint | Besonders benutzerfreundlich, wie Windows | Einsteiger, Umsteiger von Windows |
4. Das Terminal – Ihre Kommandozentrale
Das Terminal (auch Shell oder Kommandozeile genannt) ist das Herzstück von Linux. Hier geben Sie Befehle ein, die der Computer ausführt.
📌 So öffnen Sie das Terminal
- Ubuntu / Debian:
Strg + Alt + Toder im Menü "Terminal" suchen - macOS: "Terminal" in der Spotlight-Suche (Cmd + Leertaste)
- Windows: WSL (Windows Subsystem for Linux) oder Putty für SSH-Verbindungen
🔍 Die Prompt – Ihr Signal zum Befehlen
user@server:~$
Die Prompt zeigt an, dass Sie Befehle eingeben können:
user– Ihr Benutzernameserver– Der Name des Computers~– Ihr aktuelles Verzeichnis (Home-Ordner)$– Sie sind ein normaler Benutzer (#wäre der Root-Administrator)
5. Die wichtigsten Befehle
Hier sind die absolut wichtigsten Befehle, die Sie als Web-Entwickler täglich brauchen:
rm -rf löschen endgültig ohne
Möglichkeit der Wiederherstellung. Seien Sie immer vorsichtig!
6. Dateien & Ordner verwalten
📁 Die Linux-Verzeichnisstruktur
| Verzeichnis | Beschreibung |
|---|---|
/ |
Das Wurzelverzeichnis – alles beginnt hier |
/home/ |
Benutzerverzeichnisse (z.B. /home/benutzer) |
/var/www/html/ |
Das Standard-Verzeichnis für Webseiten (Apache) |
/etc/ |
System-Konfigurationsdateien |
/var/log/ |
Log-Dateien (Fehler- und Zugriffsprotokolle) |
/tmp/ |
Temporäre Dateien (werden beim Neustart gelöscht) |
/usr/bin/ |
Installierte Programme |
📝 Praxis: Eine Webseite erstellen
# 1. Ins Web-Verzeichnis wechseln cd /var/www/html # 2. Einen neuen Ordner für Ihr Projekt erstellen mkdir mein-webprojekt # 3. In den neuen Ordner wechseln cd mein-webprojekt # 4. Eine HTML-Datei erstellen touch index.html # 5. Den Inhalt der Datei mit nano bearbeiten nano index.html
nano können Sie Dateien direkt im Terminal bearbeiten.
Speichern mit Strg+O, beenden mit Strg+X.
7. Berechtigungen verstehen
Unter Linux hat jede Datei und jeder Ordner Berechtigungen, die festlegen, wer sie lesen, schreiben oder ausführen darf.
🔑 Die drei Berechtigungsstufen
| Stufe | Bedeutung | Symbol |
|---|---|---|
| Lesen | Datei anzeigen / Ordnerinhalt anzeigen | r |
| Schreiben | Datei ändern / Dateien in Ordner erstellen/löschen | w |
| Ausführen | Datei als Programm ausführen / in Ordner wechseln | x |
👤 Die drei Benutzergruppen
- Benutzer (u): Der Besitzer der Datei
- Gruppe (g): Benutzer in derselben Gruppe
- Andere (o): Alle anderen Benutzer
📝 Beispiel: Berechtigungen anzeigen
# Berechtigungen anzeigen ls -la # Ausgabe: -rw-r--r-- 1 benutzer gruppe 1234 Mär 12 10:00 datei.txt # Bedeutung: Besitzer hat r+w, Gruppe hat r, Andere haben r
🛠️ Berechtigungen ändern
# Der Besitzer bekommt Ausführungsrechte chmod u+x datei.sh # Alle bekommen Leserechte chmod a+r datei.txt # Numerisch: 755 = rwxr-xr-x chmod 755 mein-ordner
755 haben,
Dateien 644. Das bedeutet: Besitzer kann alles, andere können nur lesen.
8. Prozesse & System-Überwachung
📊 Prozesse anzeigen
💾 Festplatten-Speicher überwachen
# Speicherplatz anzeigen df -h # Größe von Verzeichnissen anzeigen du -sh /var/www/html/ # 10 größte Dateien im aktuellen Ordner finden du -ah . | sort -rh | head -n 10
9. Paketverwaltung (Software installieren)
Unter Linux installieren Sie Software über die Paketverwaltung. Das ist wie ein App-Store für Linux.
📦 Ubuntu / Debian (apt)
📦 Praktische Beispiele
# Apache-Webserver installieren sudo apt install apache2 # MySQL-Datenbank installieren sudo apt install mysql-server # PHP installieren (für Web-Entwicklung) sudo apt install php php-mysql # Git installieren (Versionskontrolle) sudo apt install git # htop (bessere Prozessübersicht) installieren sudo apt install htop
sudo apt install installieren Sie fast alles,
was Sie für die Web-Entwicklung brauchen!
10. Web-Server einrichten
So installieren Sie einen kompletten Web-Server mit Apache, MySQL und PHP (der sogenannte LAMP-Stack – Linux, Apache, MySQL, PHP).
🖥️ Schritt-für-Schritt
# 1. Apache installieren sudo apt update sudo apt install apache2 # 2. Apache starten sudo systemctl start apache2 sudo systemctl enable apache2 # Automatisch starten # 3. MySQL installieren sudo apt install mysql-server sudo mysql_secure_installation # Sicherheitseinstellungen # 4. PHP installieren sudo apt install php php-mysql php-curl php-xml php-mbstring # 5. Apache neu starten sudo systemctl restart apache2 # 6. Test: PHP-Info erstellen echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php # 7. Im Browser aufrufen: http://ihre-server-ip/info.php
📂 Wo liegen die Web-Dateien?
- Standard-Verzeichnis:
/var/www/html/ - Eigene Projekte:
/var/www/html/mein-projekt/ - Virtuelle Hosts:
/etc/apache2/sites-available/
11. Praxis-Beispiele
📝 Beispiel 1: Web-Projekt lokal erstellen
# Projekt-Ordner erstellen mkdir -p ~/projekte/mein-website cd ~/projekte/mein-website # Index-Datei erstellen echo '<!DOCTYPE html> <html><head><title>Meine Seite</title></head> <body><h1>Hallo Welt!</h1></body></html>' > index.html # Datei im Browser öffnen (Desktop) xdg-open index.html
📝 Beispiel 2: Log-Dateien analysieren
# Zugriffs-Log anzeigen (letzte 10 Zeilen) tail -n 10 /var/log/apache2/access.log # Fehler-Log in Echtzeit anzeigen tail -f /var/log/apache2/error.log # Nach Fehlern suchen grep "error" /var/log/apache2/error.log
📝 Beispiel 3: Backup eines Projekts erstellen
# Projekt als ZIP archivieren zip -r mein-projekt-backup.zip /var/www/html/mein-projekt/ # Mit Datum im Dateinamen zip -r backup-$(date +%Y-%m-%d).zip /var/www/html/mein-projekt/
📝 Beispiel 4: Cron-Job für automatische Backups
# Cron-Tabelle bearbeiten crontab -e # Jeden Tag um 3:00 Uhr Backup erstellen 0 3 * * * /usr/bin/zip -r /backups/webprojekt-$(date +\%Y-\%m-\%d).zip /var/www/html/
12. Übungen zum Mitmachen
📝 Übung 1: Erste Schritte
Öffnen Sie das Terminal und führen Sie diese Befehle aus:
- Zeigen Sie an, wo Sie sich gerade befinden.
- Erstellen Sie einen Ordner mit Ihrem Namen.
- Wechseln Sie in diesen Ordner.
- Erstellen Sie eine leere Datei mit dem Namen "test.txt".
pwd mkdir mein-Ordner cd mein-Ordner touch test.txt
📝 Übung 2: Berechtigungen
Erstellen Sie ein Shell-Skript (eine Textdatei mit dem Inhalt "#!/bin/bash\necho Hallo") und machen Sie es ausführbar.
echo '#!/bin/bash
echo Hallo' > mein-skript.sh
chmod +x mein-skript.sh
./mein-skript.sh # Ausführen
📝 Übung 3: Prozesse
Finden Sie heraus, ob der Apache-Webserver läuft. Wenn nicht, starten Sie ihn.
ps aux | grep apache # Oder: systemctl status apache2 # Wenn nicht läuft: sudo systemctl start apache2
📝 Übung 4: Pakete installieren
Installieren Sie den Editor "nano" (falls nicht installiert) und erstellen Sie damit eine HTML-Datei.
sudo apt install nano
nano index.html
# Inhalt einfügen, speichern mit Strg+O, beenden mit Strg+X
📝 Übung 5: Log-Dateien
Zeigen Sie die letzten 5 Einträge der Apache-Fehler-Log-Datei an.
tail -n 5 /var/log/apache2/error.log
📝 Übung 6: Verzeichnisstruktur
Erstellen Sie eine Projekthierarchie: "projekte/website/css/", "projekte/website/js/" und "projekte/website/images/".
mkdir -p projekte/website/{css,js,images}
13. Tipps & Best Practices
sudo nur, wenn es wirklich nötig ist.
Arbeiten Sie möglichst immer als normaler Benutzer.
&& können Sie mehrere Befehle
hintereinander ausführen: cd projekt && ls -la
man ls (Handbuch) oder ls --help
ssh benutzer@server-ip
14. Weiterführende Ressourcen
📚 Online-Lernplattformen
- Linux Journey – Interaktive Lernreise durch Linux (kostenlos)
- Linux Command Line Tutorial – Schritt-für-Schritt-Anleitung
- Ubuntu Server Guide – Offizielle Dokumentation von Ubuntu
- Linux Foundation – Kostenlose Einführungskurse
📖 Empfohlene Bücher
- "Linux – Das umfassende Handbuch" – Michael Kofler
- "The Linux Command Line" – William Shotts (kostenlos online)
- "Linux für Dummies" – Richard Blum
- "Ubuntu Server Guide" – Offizielle Ubuntu-Dokumentation
🛠️ Nützliche Tools
- VirtualBox – Virtuelle Maschinen für lokale Linux-Installationen
- WSL (Windows Subsystem for Linux) – Linux unter Windows nutzen
- PuTTY – SSH-Client für Windows
- MobaXterm – All-in-One Remote-Client (Windows)
- VS Code mit Remote-SSH – Code auf entfernten Servern bearbeiten
🌐 Online-Übungs-Umgebungen
- LinuxZoo – Kostenlose Linux-Shell zum Üben im Browser
- Terminus – Web-basierte Linux-Umgebung
- Google Cloud Shell – Kostenlose Linux-Umgebung von Google
- DigitalOcean Droplets – Günstige VPS zum Üben (ab 4€/Monat)