it-swarm.com.de

Apache konnte nicht gestartet werden - ServerRoot muss ein gültiges Verzeichnis sein und das angegebene Modul kann nicht gefunden werden

Ich verwende den tragbaren Xampp-Server und habe Probleme mit dem Apache-HTTP-Server. Er sagt, "ServerRoot muss ein gültiges Verzeichnis sein"

Befehlszeilenausgabe:

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 35 of K:/../../../xampp/Apache/conf/httpd.conf: ServerRoot must be a valid directory

Apache could not be started

Ich habe die Zeile 35 von xampp/Apache/conf/httpd.conf überprüft und es war:

ServerRoot "/xampp/Apache"

Welche nicht existiert Meine Ordner sind:

K:/../../../xampp/Apache/conf     <- where the httpd.conf is
K:/../../../xampp/Apache/         <- the server root
K:/../../../xampp/Apache/modules  <- where server modules are

Wenn ich (in Zeile 35) in umstelle

ServerRoot ".."

Es sagt: 

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 65 of K:/../../../xampp/Apache/conf/httpd.conf: Cannot load modules/mod_access_compat.so into server: Unable to find the specified module

Apache could not be started

Ich habe geprüft, und modules/mod_access_compat.so existiert, daher kann ich nicht herausfinden, wie ich das Problem beheben kann.

Jede Hilfe wird geschätzt

24
BackSlash

Führen Sie einfach setup_xampp.bat von Shell (Shell von XAMPP Control Panel) aus und die Pfade sollten automatisch für die portable Version von XAMPP für Windows festgelegt werden. Es hat für mich gearbeitet.

46
Bostjan

navigieren Sie zur Datei httpd.conf im Verzeichnis "conf" in Apache24 oder zu Ihrer Apache-Datei.

Gehen Sie in die Zeile ServerRoot = ".." und ändern Sie den Wert in den Pfad, in dem sich Apache befindet, wie "C:\Programme\Apache24".

17
Guru

Wenn Sie einen Editor öffnen und zur genauen Zeile springen, die in der Fehlermeldung (in der Datei httpd.conf) angezeigt wird, sehen Sie Folgendes:

#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so

Die Pfade zu den Modulen, z. modules/mod_actions.so, werden alle relativ angegeben und sind relativ zu dem durch ServerRoot eingestellten Wert. ServerRoot ist am Anfang von httpd.conf (Strg-F für ServerRoot ") definiert.

ServerRoot wird normalerweise absolut festgelegt, was in Ihrem Posting K:/../../../xampp/Apache/ wäre.

Es kann jedoch auch relativ gesetzt werden, relativ zu dem Arbeitsverzeichnis ( cf. ). Wenn das Arbeitsverzeichnis der Apache bin-Ordner ist, verwenden Sie diese Zeile in Ihrem httpd.conf:

ServerRoot ../

Wenn das Arbeitsverzeichnis der Apache-Ordner ist, würde dies ausreichen:

ServerRoot .

Wenn das Arbeitsverzeichnis der Ordner C: ist (ein Ordner über dem Apache-Ordner), verwenden Sie Folgendes:

ServerRoot Apache

Für Apache-Dienste lautet das Arbeitsverzeichnis C:\Windows\System32 . Verwenden Sie also Folgendes:

ServerRoot ../../Apache
4
Pacerier

Ändern Sie den Pfad in der Datei httpd.conf in Ihr Setup. Dies wird das Problem beheben.

Define SRVROOT "C:\Apache24"   
ServerRoot "${SRVROOT}"
1
Dhiraj Surve

Verwenden Sie den Laufwerksbuchstaben mit Schrägstrich (c:/Apache/...).

1
hcupro

Führen Sie "setup_xampp.bat/.sh" und dann .__ aus. Löschen Sie "\" am Ende, damit Ihr ServerRoot wie "C: .....\Apache"NOaussehen sollte "C: .....\Apache \"

1
gusanare
  1. Navigieren Sie zu IhremXAMPP-Verzeichnis. Dort finden Sie einen Ordner mit dem NamenApache, öffnen Sie ihn und kopieren Sie seinen Pfad. Mein Pfad lautet "D:\Hacking Tools 2\Programs"\XAMPP V2\Apache "
  2. Öffnen SieApache\conf\httpd.confmit einem beliebigen Texteditor
  3. Scrollen Sie bis Zeile 30-40
  4. Sie finden einen Code wie diesen: ServerRoot "xampp\Apache"
  5. Ändern Sie es jetzt in das Apache-Verzeichnis, wie ich inStep # 1sagte, mein Pfad ist "D:\Hacking Tools 2\Programs\XAMPP V2\Apache", also , mein Code wird ServerRoot "D:\Hacking Tools 2\Programs\XAMPP V2\Apache" sein
  6. Es sollte irgendwie so aussehen: ServerRoot "D:\XAMPP\Apache"
  7. Gehen Sie nun zurück in das VerzeichnisXAMPPmain und führen Siexampp_start.exeaus.

Es hat für mich funktioniert, wenn es für Sie nicht funktioniert, kommentieren Sie einfach den Fehlerwert nach dem Öffnen der xampp_start.exe

Stellen Sie sicher, dass ServerRoot in httpd.conf korrekt auf den Apache-Pfad verweist. Andernfalls wird diese Meldung für jedes weitere Modul angezeigt. 

1
Greg Woz

Ich würde denken, dass ServerRoot absolut sein muss. Verwenden Sie etwas wie "/ Apache/docroot"

1
souser

Wenn Sie eine aktuelle Version verwenden, befindet sich im Stammverzeichnis ..__ ein Skript "setup_xampp.bat/.sh". Der Pfad muss absolut sein, aber das Skript ändert alle erforderlichen Pfade an Ihren aktuellen Speicherort.

1
0x126

Ich habe die Zeile 35 von xampp/Apache/conf/httpd.conf überprüft und es war:

ServerRoot "/ xampp/Apache"

Welche nicht existiert ...

Erstellen Sie das Verzeichnis oder ändern Sie den Pfad in das Verzeichnis, das Ihre Hypertext-Dokumente enthält.

0
LeeGee

Ich hatte genau das gleiche Problem mit Xampp Portable unter Windows 10 Home. Ich ging alle Vorschläge durch und keiner funktionierte. Ich habe es mit den Windows-Firewall-Einstellungen und einem Fehler von meiner Seite zum Laufen gebracht.

Mein USB-Stick war auf meinem Laptop mit Laufwerk E und auf meinem Desktop mit Laufwerk F gekennzeichnet. Einmal korrigierte ich das mit der Festplattenpartition und änderte den Laufwerksbuchstaben auf E für meinen Desktop zu Windows, fragte nach dem Zugriff für die Firewall und alles klickte.

Die Schritte, um den Laufwerksbuchstaben zu korrigieren, waren: 1. Drücken Sie die Windows-Taste und geben Sie Partition, "Festplattenpartitionen erstellen und formatieren" oben ein, drücken Sie die Eingabetaste 2. Suchen Sie im oberen Bereich das Laufwerk, nach dem Sie suchen, und klicken Sie darauf. 3. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Laufwerksbuchstaben und -pfad ändern. Klicken Sie auf okay. 4. Versuchen Sie nun, xampp control panel zu starten, und starten Sie Apache und MySQL 5., wenn Sie das erhalten Windows Firewall Klicken Sie auf Erlauben.

Ich kann nicht sagen, dass dies funktionieren wird, aber es hat für mich funktioniert und das habe ich zu dieser Diskussion hinzugefügt. Ich denke auch, dass es vielleicht nur die Firewall gewesen ist, die den einen oder anderen Laufwerksbuchstaben nicht zugelassen hat.

0
Kelly