У меня есть компьютер Ubuntu 14.10, который используется для тестирования локальных веб-сайтов, он не обслуживает Интернет. На нем у меня настроено семь сайтов. Однако, когда я получаю доступ к двум из семи, я получаю Apache2 Ubuntu Default Page
вместо своей собственной страницы индекса.
Насколько я могу судить, я настроил все семь с использованием одного и того же процесса, поэтому я не знаю, чего не хватает этим двум. Кроме того, в моем каталоге журналов Apache у меня есть два файла журналов, error
и access
для каждого из двух неправильно работающих сайтов, но все они пусты. При перезапуске apache2
сервиса ошибок нет. Я повторил свои шаги несколько раз, и я не вижу никакой разницы между рабочими сайтами и неработающими сайтами.
Какие варианты у меня есть для диагностики этой проблемы? Могу ли я как-то заставить больше подробных журналов ошибок? Где-нибудь еще есть журнал, на который я могу сослаться?
Вот пример .conf
файла для одного из неисправных сайтов:
<VirtualHost *:80>
ServerName www.local_example.com
ServerAlias local_example.com
ServerAdmin address@example.com
DocumentRoot /var/www/Websites/example.com
<Directory /var/www/Websites/example.com/>
Options Indexes FollowSymLinks MultiViews
# pcw AllowOverride None
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>
ErrorLog /home/example/Apache_Logs/local_example.com_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/example/Apache_Logs/local_example.com_access.log combined
ServerSignature On
</VirtualHost>
/etc/apache2/sites-available
? Если да, то вы их включилиsudo a2ensite <your_site_name>
? Есть ли в файле журнала ошибок Apache по умолчанию что-нибудь? И у вас есть файлы ServerAlias или ServerName, настроенные в ваших файлах виртуального хоста? Если вы отключите сайт по умолчаниюsudo a2dissite 000-default
(вы можете повторно включить его с помощьюsudo a2ensite 000-default
), он работает? Кроме того, может быть, вы просто забыли перезапустить Apache?sites-available
. В журнале ошибок по умолчанию ничего нет. Я определилServerAlias
в файле hosts. Я отключил000-default
сайт, но это ничего не изменило. Я перезагружал и перезагружал apache много раз..conf
файл к своему вопросу.Ответы:
Попробуйте следующее
Включить подробные журналы
Найдите переменную LogLevel и обновите ее с предупреждения по умолчанию до информации или отладки. отладка произведет наибольшее количество вывода.
Перезапустите Apache
Apache включает в себя симпатичный маленький инструмент проверки синтаксиса
Проверка определений виртуальных хостов
источник
Для меня одно из предложений от @Dan решило это.
Видимо конфигурация сайта по умолчанию переопределяла мою конфигурацию vhost.
источник
после установки index.html имеет более высокий приоритет, поэтому вы все еще видите страницу Ubuntu по умолчанию, проверьте эту папку var / www / html / rename или просто удалите эту страницу
источник
Оказывается, проблема была в разрешениях.
Когда вы храните веб-сайт в каталоге, который находится за пределами
/var/www
и связан символической ссылкой, исходный каталог и его родительский каталог должны иметь разрешения755
.По какой-то неизвестной причине два неправильно работающих сайта имели разные разрешения, и работа
chmod -R 755
с каталогом веб-сайта и его родительским каталогом решила проблему.источник
chmod -R 755
каталог, потому что все находящиеся там файлы будут помечены как «исполняемые» ...find
. Что - то вроде этого:find top-dir-name -type d -exec chmod 755 {} \;
.