Где разместить мой локальный сайт, начиная с версии 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

Другие вопросы по тегам