У меня есть то, что почти наверняка вопрос новичка. Я ожидал найти проблему при написании этого вопроса, но я все еще застрял.
Я хочу изменить DocumentRoot для apache, но я продолжаю получать сообщение об ошибке "DocumentRoot должен быть каталогом".
Ситуация:
- Код работает в виртуальной машине VMWare 4.0.4 build-744019
- Версия Linux - это выпуск Scientific Linux 6.4 (Carbon)
- Версия apache - Apache/2.2.15 (Unix) (это установка yum без ничего специальный)
В httpd.conf
DocumentRoot "/home/stave/www"
Когда я перезагружаюсь, я получаю сообщение
Starting httpd: Syntax error on line 292 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
Шаги, предпринятые до сих пор:
Я гарантировал, что каталог существует:
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
Я считал, что это может быть проблема привилегий, поэтому (это виртуальная машина для разработки, изолированная от Интернета, и я занимаюсь устранением неполадок, поэтому я не слишком беспокоюсь о безопасности), поскольку вы можете видеть, что я устанавливаю привилегии 777.
Я даже изменил пользователя, что apache работает как (и подтвердил, что изменение сработало с ps), чтобы сохранить его, чтобы гарантировать, что привилегии просто не должны быть проблемой.
Stackoverflow
Есть несколько ответов на переполнение стека, но большинство из них говорят "прочитайте сообщение об ошибке. Это говорит о том, что каталог фактически не существует". Другие подразумевали, что в конце может произойти косая черта, которая будет плохой.
Другие веб-сайты
Наиболее полезным я нашел этот, который советовал
Вероятно, вы получили ошибку "DocumentRoot должно быть каталогом", даже если это действительно каталог из-за расширений SELinux. Запустите system-config-securitylevel (или redhat-config-securitylevel), чтобы отключить SELinux для httpd или предоставить разрешения SELinux для этого каталог: chcon -R -h -t httpd_sys_content_t/path/to/directory *
Моя версия Linux не является Security Enhanced Linux, поэтому без понимания я все равно пробовал: никакого эффекта.
Текущая ситуация
У меня не хватало идей, чтобы попробовать, поэтому были бы очень благодарны любые диагностические вопросы или советы