Де розмістити свій локальний веб-сайт, починаючи з версії 2.4.7 apache2?


50

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

Яка б причина не була, я хочу знати, де зберігати свої файли php, щоб я мав доступ до них зі свого браузера.


Хоча це не відповідь на питання ФП, в таку відповідь може допомогти деяким відвідувачам , які наштовхнутися на це питання, намагаючись виправити споріднену задачу: askubuntu.com/a/525120/1183
Augustin

Відповіді:


76

Версія apache2, яка була опублікована при випуску Ubuntu 14.04, становить 2.4.7, і, починаючи з цієї версії, здається, що з міркувань безпеки новий кореневий каталог для сервера:

/var/www/html

Отже, відтепер ви повинні розмістити файли для свого (локального) веб-сайту. Ви не повинні мати цю проблему знову з майбутніми оновленнями.


У будь-якому випадку, якщо ви хочете змінити цей каталог на інший, вам слід змінити (як корінь) наступний рядок з /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

10
Цікаво, що я намагався шукати міркування, що стоять за цим кроком. Якщо когось цікавить, я знайшов цей звіт про помилку в Debian, який пояснює це.
День

4
Після цієї зміни мені стає заборонена помилка.
Даршана

1
@Darshana Конфігурація за замовчуванням в apache2.4 не дозволяє apache отримувати доступ до нічого зовні /var/www/html. Якщо розмістити свій сайт в будь-якому іншому місці, ніж у цьому каталозі (або його підкаталогах), ви отримаєте помилку 403. Вам потрібно додати <Directory /path/to/your/site>директиву до своїх конфігурацій VHost з requireдирективою в ній.
Dan

Це не спрацювало для мене.
користувач124384

Те саме тут .. Його тепер дає мені Помилка 403 заборонена! Як я можу це вирішити (простішим способом, БУДЬ ЛАСКА)
abhishah901

27

Замість того, /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).

Кращим рішенням буде переміщення файлів сайтів з /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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.