Где разместить мой локальный сайт, начиная с версии 2.4.7 apache2?
Я недавно установил Ubuntu 14.04, затем я установил lamp-server
и разместил мои веб-страницы в /var/www
каталог, но когда я открыл localhost в браузере не было ничего. Я думаю, что это произошло потому, что Zend обновил Apache.
Какой бы ни была причина, я хочу знать, где хранить мои php-файлы, чтобы я мог получить к ним доступ из своего браузера.
2 ответа
Версия apache2, которая была опубликована при выпуске Ubuntu 14.04, - это 2.4.7, и, начиная с этой версии, кажется, что по соображениям безопасности новый корневой каталог для сервера:
/var/www/html
Итак, с этого момента вы должны размещать файлы для своего (локального) веб-сайта. Вы не должны иметь эту проблему снова с будущими обновлениями.
В любом случае, если вы хотите изменить этот каталог на другой, вы должны изменить (как root) следующую строку из /etc/apache2/sites-available/000-default.conf
файл (sudo nano /etc/apache2/sites-available/000-default.conf
):
DocumentRoot /var/www/html
в
DocumentRoot /path/to/another/directory
После этого, чтобы новые изменения вступили в силу, необходимо перезапустить сервер apache, используя следующую команду:
sudo service apache2 restart
Вместо модификации /etc/apache2/sites-available/000-default.conf
Возвращаясь к старой версии, я предпочитаю оставить файлы пакета по умолчанию без изменений.
Причина этого в том, что во время следующего обновления он не сломается, что может привести к сбросу 000-default.conf
файл.
Кроме того, такие модификации сделаны не просто для того, чтобы раздражать нас, модификация была сделана по уважительной причине, как объясняется в этом отчете об ошибках в Debian.
Наши веб-серверы [sic] устанавливают корневой каталог документа по умолчанию на / var / www, тогда как локальные администраторы сайта обычно используют /var/www/example.com. Это имеет последствия для безопасности, если посетители получают доступ к корню документа по умолчанию, минуя корневой каталог / предполагаемый / документ сайта example.com. Это проблематично, если конфиденциальные данные размещаются вне предполагаемого корня документа (например, рассмотрим гипотетический файл конфигурации /var/www/example-com-db.conf).
A better solution would be to move the sites files from /var/www
в /var/www/html/
,
# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/
Also, another possible solution is to create another Virtual Host and disable the default one with the command sudo a2dissite 000-default