====== Apache Friends (XAMPP) für Windows & Linux ======
**Dokument-Erstellt:** 2026.06\\
**Dokument-Angepasst:**
===== Lernziel =====
Das Lernziel ist es, eine lokale Entwicklungsumgebung für Webanwendungen mithilfe von XAMPP (Apache Friends) sowohl unter Windows als auch unter Linux aufzubauen. Am Ende dieser Einheit kannst du Apache, MySQL/MariaDB und PHP auf beiden Betriebssystemen starten, verwalten und eine Test-Webseite lokal aufrufen.
===== Voraussetzungen =====
* Grundlegendes Verständnis von Client-Server-Architekturen
* Basiswissen in HTML und PHP von Vorteil
* Administratorrechte auf dem jeweiligen Betriebssystem (bzw. ''sudo''-Rechte unter Linux)
===== Theorie =====
**Apache Friends** ist ein Non-Profit-Projekt zur Förderung des Apache-Webservers und die Organisation hinter **XAMPP**. XAMPP ist eine einfach zu installierende Distribution, die den Apache-Webserver, MariaDB (früher MySQL), PHP und Perl enthält.
Da XAMPP plattformunabhängig (Cross-Platform) ist, eignet es sich ideal, um lokal auf deinem Windows- oder Linux-Rechner Webanwendungen zu entwickeln, bevor du sie auf einen produktiven Webserver überträgst.
===== Kommandos =====
Je nach Betriebssystem erfolgt die Steuerung der Dienste unterschiedlich:
==== Linux Terminal ====
# Starten aller XAMPP-Dienste
sudo /opt/lampp/lampp start
# Stoppen aller XAMPP-Dienste
sudo /opt/lampp/lampp stop
# Status der Dienste überprüfen
sudo /opt/lampp/lampp status
# Grafische Oberfläche (Control Panel) unter Linux starten
sudo /opt/lampp/manager-linux-x64.run
==== Windows Eingabeaufforderung (cmd) ====
Unter Windows nutzt du meist das grafische Control Panel. Alternativ kannst du die Dienste über die Kommandozeile steuern (als Administrator ausführen):
# Apache als Dienst starten (wenn als Service installiert)
net start Apache2.4
# MySQL als Dienst starten (wenn als Service installiert)
net start MySQL
===== Schritt-für-Schritt Anleitung =====
- **Schritt 1: Download von XAMPP**
Besuche die offizielle Website von Apache Friends unter [[https://www.apachefriends.org/]] und lade den passenden Installer für dein System herunter:
* Für Windows: ''.exe''-Datei
* Für Linux: ''.run''-Installer (64-Bit)
- **Schritt 2: Installation durchführen**
* **Windows:** Führe die ''.exe'' aus. Installiere XAMPP am besten direkt im Hauptverzeichnis ''C:\xampp'', um Rechteprobleme (UAC) zu vermeiden.
* **Linux:** Mache die Datei ausführbar und starte den Installer mit Root-Rechten:
chmod +x xampp-linux-x64-*-installer.run
sudo ./xampp-linux-x64-*-installer.run
Standardmäßig wird XAMPP unter Linux in das Verzeichnis ''/opt/lampp/'' installiert.
- **Schritt 3: Dienste starten**
* **Windows:** Öffne das **XAMPP Control Panel** über das Startmenü und klicke bei Apache und MySQL auf **Start**.
* **Linux:** Starte die Dienste im Terminal über ''sudo /opt/lampp/lampp start'' oder nutze die grafische Oberfläche (siehe Kommandos).
- **Schritt 4: Installation überprüfen**
Öffne einen Webbrowser und rufe [[http://localhost]] auf. Du solltest direkt auf das XAMPP-Dashboard weitergeleitet werden. Die Datenbankverwaltung findest du unter [[http://localhost/phpmyadmin]].
- **Schritt 5: Das Webverzeichnis (htdocs) nutzen**
Erstelle ein Testprojekt, um zu sehen, ob PHP-Dateien korrekt verarbeitet werden.
* Pfad unter **Windows:** ''C:\xampp\htdocs\''
* Pfad unter **Linux:** ''/opt/lampp/htdocs/'' (Hinweis: Zum Erstellen von Ordnern/Dateien brauchst du hier ggf. ''sudo''-Rechte!)
Erstelle einen Ordner namens ''testprojekt'' und darin die Datei ''index.php'' mit folgendem Inhalt:
XAMPP läuft erfolgreich!";
phpinfo();
?>
Rufe das Projekt anschließend über [[http://localhost/testprojekt/]] im Browser auf.
===== Siehe auch =====
- [[sammlung:webserver_basics|Grundlagen von Webservern]]
- [[sammlung:dateirechte_uebersich|Dateirechte unter Linux verstehen]]
===== Weiterführende Links =====
* [[https://www.apachefriends.org/|Offizielle Apache Friends Webseite]]
* [[https://www.apachefriends.org/community.html|Apache Friends Community & Support-Foren]]
{{tag>cli xampp apache php mysql windows linux webentwicklung}}