Zum Inhalt springen
> 💻 🧠 Code 1001 > 🚀 Vollständige Anleitung: Wie man Apache in XAMPP unter Windows startet (mit allen häufigen Problemen)

🚀 Vollständige Anleitung: Wie man Apache in XAMPP unter Windows startet (mit allen häufigen Problemen)

  • von

🧭 Einführung

XAMPP ist ein lokales Serverpaket, das Apache, MySQL (MariaDB), PHP und Perl enthält.
Der Apache-Dienst ist das Herzstück: Er liefert Ihre Website aus, wenn Sie http://localhost öffnen.

Viele Entwickler stoßen jedoch beim Starten von Apache auf Probleme:

  • ❌ „Der Apache2.4-Dienst konnte nicht gestartet werden. Fehlercode 1“
  • ⚠️ „Port 80 wird bereits verwendet“
  • 🔒 „Ihre Verbindung ist nicht privat“ oder „NET::ERR_CERT_COMMON_NAME_INVALID“

Diese Anleitung erklärt jeden Schritt — von der Installation bis zur Behebung aller typischen Fehler.


🧩 Installation von XAMPP

  1. Laden Sie die neueste Version von XAMPP von der offiziellen Website herunter:
    👉 https://www.apachefriends.org/download.html
  2. Installieren Sie XAMPP in einem einfachen Pfad (ohne Leerzeichen oder Sonderzeichen), z. B.: E:\xampp
  3. Starten Sie nach der Installation das XAMPP Control Panel als Administrator.

🟢 Apache zum ersten Mal starten

  1. Klicken Sie im XAMPP Control Panel auf Start neben Apache.
  2. Wenn alles funktioniert, sehen Sie: Apache ... running
  3. Öffnen Sie im Browser: http://localhost/ Die XAMPP-Begrüßungsseite sollte erscheinen.

Wenn Apache nicht startet — lesen Sie weiter.


❗ Häufige Probleme und Lösungen


⚙️ 1. „Der Apache2.4-Dienst konnte nicht gestartet werden. Fehlercode 1“

Ursache: Die Konfigurationsdatei ist beschädigt oder der SSL-Schlüssel fehlt.

Überprüfung:

Öffnen Sie PowerShell oder CMD als Administrator:

cd E:\xampp\apache\bin
.\httpd.exe -t

Wenn Sie sehen:

AH00526: Syntax error on line 158 of E:/xampp/apache/conf/extra/httpd-ssl.conf:
SSLCertificateKeyFile: file 'E:/xampp/apache/conf/ssl/server.key' does not exist or is empty

fehlt das SSL-Zertifikat.

Lösung:

Erstellen Sie ein neues selbstsigniertes Zertifikat:

cd E:\xampp\apache\bin
.\openssl.exe req -x509 -nodes -days 1095 -newkey rsa:2048 `
 -keyout "../conf/ssl/server.key" `
 -out "../conf/ssl/server.crt"

Sie können einfach Enter drücken oder Ihre Daten eingeben:

Land: DE
Bundesland: Deutschland
Stadt: Berlin
Organisation: hypo69
Common Name: localhost

🔒 2. „Ihre Verbindung ist nicht privat“ oder NET::ERR_CERT_COMMON_NAME_INVALID

Ursache: Moderne Browser (Chrome, Edge, Firefox) akzeptieren keine Zertifikate mehr mit nur CN=localhost.
Sie erfordern das Feld subjectAltName (SAN).

Lösung:

  1. Erstellen Sie eine neue Datei: E:\xampp\apache\conf\openssl-local.cnf
  2. Fügen Sie diesen Inhalt ein: [ req ] default_bits = 2048 prompt = no default_md = sha256 x509_extensions = v3_req distinguished_name = req_distinguished_name [ req_distinguished_name ] C = DE ST = Deutschland L = Berlin O = hypo69 OU = Dev CN = localhost [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost IP.1 = 127.0.0.1
  3. Erstellen Sie das Zertifikat: cd E:\xampp\apache\bin .\openssl.exe req -config "E:\xampp\apache\conf\openssl-local.cnf" ` -x509 -nodes -days 1095 -newkey rsa:2048 ` -keyout "../conf/ssl/server.key" ` -out "../conf/ssl/server.crt"
  4. Fügen Sie das Zertifikat in den Windows-Zertifikatsspeicher hinzu: Import-Certificate -FilePath "E:\xampp\apache\conf\ssl\server.crt" ` -CertStoreLocation Cert:\LocalMachine\Root (oder manuell: Zertifikat installieren → Lokaler Computer → Vertrauenswürdige Stammzertifizierungsstellen)
  5. Starten Sie Apache neu: net stop apache2.4 net start apache2.4

✅ Jetzt sollten https://localhost und https://127.0.0.1 ohne Warnungen funktionieren.


🔌 3. „Port 80 oder 443 wird bereits verwendet“

Überprüfung:

netstat -ano | findstr :80
netstat -ano | findstr :443

Wenn ein Port belegt ist, finden Sie den Prozess:

tasklist | findstr <PID>

Häufige Verursacher:

  • Skype
  • IIS (World Wide Web Publishing Service)
  • VMware
  • Edge Update Service

Lösung:

  1. Beenden oder deaktivieren Sie den störenden Dienst.
  2. Oder ändern Sie die Apache-Ports:

Bearbeiten Sie E:\xampp\apache\conf\httpd.conf:

Listen 80

→ Ändern Sie es in:

Listen 8080

Dann in E:\xampp\apache\conf\extra\httpd-ssl.conf:

Listen 443

→ Ändern Sie es in:

Listen 8443

Öffnen Sie dann:

http://localhost:8080
https://localhost:8443

🔥 4. „Service Control Manager 7024: Ungültige Funktion“

Ursache: Der Apache-Dienst ist in der Windows-Registrierung beschädigt.

Lösung:

Registrieren Sie den Apache-Dienst neu:

cd E:\xampp\apache\bin
httpd.exe -k uninstall
httpd.exe -k install

📄 5. Apache-Fehlerprotokolle

Alle Protokolle befinden sich hier:

E:\xampp\apache\logs\error.log

Lesen Sie die letzten Zeilen:

Get-Content E:\xampp\apache\logs\error.log -Tail 30

⚙️ Nützliche Diagnosebefehle

BefehlBeschreibung
httpd.exe -tÜberprüft die Apache-Konfiguration
httpd.exe -SZeigt virtuelle Hosts an
net start apache2.4Startet den Apache-Dienst
net stop apache2.4Stoppt den Apache-Dienst
netstat -anoZeigt aktive Ports
`tasklistfindstr PID`
certmgr.mscÖffnet den Zertifikats-Manager
services.mscÖffnet die Windows-Dienste

🌐 Virtuelle Hosts (lokale Domains) einrichten

Sie können Ihr Projekt billing-crm unter https://crm.local öffnen, anstatt localhost/billing-crm.

  1. Bearbeiten Sie die Hosts-Datei: C:\Windows\System32\drivers\etc\hosts Fügen Sie hinzu: 127.0.0.1 crm.local
  2. Bearbeiten Sie: E:\xampp\apache\conf\extra\httpd-vhosts.conf Fügen Sie hinzu: <VirtualHost *:443> ServerName crm.local DocumentRoot "E:/xampp/htdocs/billing-crm" SSLEngine on SSLCertificateFile "E:/xampp/apache/conf/ssl/server.crt" SSLCertificateKeyFile "E:/xampp/apache/conf/ssl/server.key" </VirtualHost>
  3. Überprüfen Sie die Konfiguration: httpd.exe -t
  4. Starten Sie Apache neu und öffnen Sie: https://crm.local

🧠 Tipps und häufige Stolperfallen

ProblemUrsacheLösung
Apache startet nicht beim SystemstartPortkonfliktStarten Sie XAMPP manuell
„Verbindung nicht sicher“SAN fehltZertifikat mit alt_names neu erstellen
HTTPS reagiert nichtfalscher Port oder SchlüsselÜberprüfen Sie httpd-ssl.conf
Firefox zeigt weiterhin Warnungeigener Zertifikatsspeicherserver.crt manuell importieren
index.php leerbeschädigtes ProjektWiederherstellen aus Git oder Backup

🎯 Zusammenfassung

SchrittZielBefehl
Konfiguration prüfenApache-Syntax überprüfenhttpd.exe -t
SSL generierenlocalhost-Zertifikat erstellenopenssl req -config ...
Zertifikat vertrauenHTTPS-Warnungen vermeidenImport-Certificate
Ports prüfen80/443 überprüfennetstat -ano
Apache startenDienst ausführennet start apache2.4

📚 Fazit

Nach diesen Schritten:

  • Apache läuft fehlerfrei.
  • HTTPS funktioniert ohne Browserwarnungen.
  • localhost, 127.0.0.1 und Domains wie crm.local sind vollständig vertrauenswürdig.
  • Sie können Websites lokal entwickeln und testen wie auf einem echten Produktionsserver.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert