Ponowne uruchomienie Apache powoduje, że DocumentRoot musi być katalogiem, nawet jeśli jest katalogiem i wydaje się, że nie ma problemów z uprawnieniami
Mam pytanie, które prawie na pewno jest nowicjuszem. Spodziewałem się znaleźć ten problem pisząc to pytanie, ale nadal tkwię.
Chcę zmienić DocumentRoot dla apache, ale ciągle pojawia się komunikat o błędzie „DocumentRoot musi być katalogiem”.
Sytuacja:
Kod działa w wirtualnej maszynie VMWare 4.0.4 build-744019Wersja linux to wersja naukowa Linux Linux 6.4 (Carbon)Wersja apache to Apache / 2.2.15 (Unix) (jest to instalacja mniamu bez niczego specjalnego)W httpd.conf
DocumentRoot "/home/stave/www"
Po ponownym uruchomieniu otrzymuję wiadomość
Starting httpd: Syntax error on line 292 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
Dotychczasowe kroki:
Zapewniłem, że katalog istnieje:
ls -asl /home/stave
4 drwxrwxrwx. 2 stave stave 4096 Feb 9 09:08 www
It even has a file in it "index.html", so I am very sure that the directory exists
Uznałem, że może to być problem z przywilejami, więc (jest to maszyna do wirtualnego rozwoju odizolowana od Internetu i rozwiązuję problemy, więc nie martwię się zbytnio o bezpieczeństwo), jak widać, ustawiłem uprawnienia na 777.
Zmieniłem nawet użytkownika, który działa jako apache (i potwierdziłem, że zmiana zadziałała z ps), aby zapewnić, że uprawnienia nie powinny być problemem.
Przepełnienie stosu
Istnieje kilka odpowiedzi przepełnienia stosu, ale większość z nich mówi „przeczytaj komunikat o błędzie. Mówi, że katalog faktycznie nie istnieje”. Inni sugerowali, że na końcu może pojawić się ukośnik, który będzie zły.
Inne strony internetowe
Najbardziej przydatne znalazłemto to doradzało
Prawdopodobnie wystąpił błąd „DocumentRoot musi być katalogiem”, nawet jeśli jest to katalog z powodu rozszerzeń SELinux. Uruchom system-config-securitylevel (lub redhat-config-securitylevel), aby wyłączyć SELinux dla httpd lub nadać uprawnienia SELinux do tego katalogu: chcon -R -h -t httpd_sys_content_t / path / to / directory *
Moja wersja linuksa to nie Linux Enhanced Security, więc bez zrozumienia próbowałem go mimo to: bez efektu.
Obecna sytuacja
Brakuje mi pomysłów na wypróbowanie, więc wszelkie pytania diagnostyczne lub porady byłyby bardzo mile widziane