Где разместить мой локальный сайт, начиная с версии 2.4.7 apache2?

47

Недавно я установил Ubuntu 14.04, затем установил lamp-server и разместил свои веб-страницы в каталоге /var/www , но когда я открыл localhost в браузере, ничего не было. Я думаю, это произошло потому, что Zend обновил Apache.

Какова бы ни была причина, я хочу знать, где хранить мои php-файлы, чтобы я мог получить к ним доступ из моего браузера.

    
задан akabhirav 17.04.2014 в 11:06
источник

2 ответа

72

Версия 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
    
ответ дан Radu Rădeanu 17.04.2014 в 11:35
источник
26

Вместо того, чтобы модифицировать /etc/apache2/sites-available/000-default.conf обратно в старую версию, я предпочитаю хранить файлы файлов по умолчанию немодифицированными.

Причиной этого является то, что он не сломается во время следующего обновления, который может сбросить файл 000-default.conf .
Кроме того, такие модификации не выполняются только для того, чтобы нас раздражать, изменение было сделано по уважительной причине, так как это отчет об ошибках в Debian объясняет .

  

Наши веб-серверы установили корень документа по умолчанию в / var / www, тогда как   локальные администраторы сайта обычно используют /var/www/example.com. Это   последствия для безопасности, если посетители получают доступ к корню документа по умолчанию,   в обход корневого / предполагаемого / документа example.com. Это   проблематично, если конфиденциальные данные находятся за пределами предполагаемого   корень документа (например, считать гипотетическим   /var/www/example-com-db.conf).

Лучшим решением было бы переместить файлы сайтов из /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/

Еще одно возможное решение - создать еще один виртуальный хост и отключить значение по умолчанию с помощью sudo a2dissite 000-default

    
ответ дан Dan 19.04.2014 в 12:21