J'utilise un serveur portable xampp et je rencontre des problèmes avec le serveur http Apache: "ServerRoot doit être un répertoire valide"
Sortie de ligne de commande:
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
J'ai vérifié la ligne 35 de xampp/Apache/conf/httpd.conf et c'était:
ServerRoot "/xampp/Apache"
Ce qui n'existe pas. Mes dossiers sont:
K:/../../../xampp/Apache/conf <- where the httpd.conf is
K:/../../../xampp/Apache/ <- the server root
K:/../../../xampp/Apache/modules <- where server modules are
Si je change (à la ligne 35) en
ServerRoot ".."
Ça dit:
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
J'ai vérifié, et modules/mod_access_compat.so existe, donc je ne peux pas comprendre comment résoudre ce problème.
Toute aide serait appréciée
Il suffit d’exécuter setup_xampp.bat à partir de Shell (Shell à partir du panneau de configuration XAMPP) et les chemins doivent être définis automatiquement pour la version portable de XAMPP pour Windows. ça a marché pour moi.
accédez au fichier httpd.conf dans conf direcotry dans Apache24 ou à tout autre fichier Apache.
Allez à la ligne ServerRoot = ".." et remplacez la valeur par le chemin où se trouve Apache, par exemple "C:\Program Files\Apache24".
Si vous ouvrez un éditeur et passez à la ligne exacte indiquée dans le message d'erreur (dans le fichier httpd.conf
), voici ce que vous verriez:
#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
Les chemins d'accès aux modules, par exemple modules/mod_actions.so
, sont tous déclarés relativement, et ils sont par rapport à la valeur définie par ServerRoot
. ServerRoot
est défini en haut de httpd.conf
(ctrl-F pour ServerRoot "
).
ServerRoot est généralement défini absolument, ce qui serait K:/../../../xampp/Apache/
dans votre message.
Mais il peut également être défini relativement, relatif à le répertoire de travail ( cf. ). Si le répertoire de travail est le dossier Apache bin
, utilisez cette ligne dans votre httpd.conf
:
ServerRoot ../
Si le répertoire de travail est le dossier Apache, cela suffira:
ServerRoot .
Si le répertoire de travail est le dossier C: (un dossier au-dessus du dossier Apache), utilisez ceci:
ServerRoot Apache
Pour les services Apache, le répertoire de travail serait C:\Windows\System32
, utilisez donc ceci:
ServerRoot ../../Apache
Changez le chemin ci-dessous dans le fichier httpd.conf de votre configuration Cela résoudra le problème.
Define SRVROOT "C:\Apache24"
ServerRoot "${SRVROOT}"
Utilisez la lettre de lecteur avec des barres obliques pour vous lancer (c:/Apache/...).
Exécutez "setup_xampp.bat/.sh" puis Supprimez "\" à la fin pour que votre ServerRoot ressemble à "C: .....\Apache"NO "C: .....\Apache \"
ServerRoot "xampp\Apache"
ServerRoot "D:\Hacking Tools 2\Programs\XAMPP V2\Apache"
ServerRoot "D:\XAMPP\Apache"
Cela a fonctionné pour moi, si cela ne fonctionne pas pour vous, commentez avec la valeur d'erreur après avoir ouvert le fichier xampp_start.exe
Assurez-vous que votre ServerRoot
dans httpd.conf pointe correctement sur le chemin Apache. Sinon, vous verrez ce message pour chaque module supplémentaire.
Je pense que ServerRoot doit être absolu. Utilisez quelque chose comme "/ Apache/docroot"
Si vous utilisez une version réelle, il existe un script "setup_xampp.bat/.sh" dans le répertoire racine . Le chemin doit être absolu, mais le script modifie tous les chemins nécessaires en votre emplacement actuel.
J'ai vérifié la ligne 35 de xampp/Apache/conf/httpd.conf et c'était:
ServerRoot "/ xampp/Apache"
Ce qui n'existe pas. ...
Créez le répertoire ou modifiez le chemin d'accès au répertoire contenant vos documents hypertexte.