Поради щодо усунення несправностей Apache

Спробуйте Наш Інструмент Для Усунення Проблем

Скільки разів ви встановлювали LAMP-сервер лише для того, щоб знайти Apache, схоже, не хочеться запускатись правильно? Або ви встановлюєте новий модуль лише для того, щоб Apache намагався завантажувати сторінки як файл, а не відображати їх на екрані?

Є сто і тисяча речей, які можуть помилитися з будь-якою установкою веб-сервера. Від нової інсталяції до інсталяції, яка працює давно, ви ніколи не знаєте, коли щось зірве ваш веб-сервер. Коли це трапляється, завжди приємно знати, що зазвичай застосовується Бритва Оккама.

У цьому підручнику ви знайдете поради, які допоможуть вам вирішити деякі більш поширені проблеми, які можуть з’явитися на веб-сервері Apache.

Ваш сервер справді працює?

Вірите чи ні, це траплялося з багатьма адміністраторами. Ви знімаєте сервер, займаєтесь деяким обслуговуванням, і коли ви переходите перевірити сервер, ви отримуєте помилки. Перше, що ви робите, природно, це перевірити /etc/apache2/apache.conf файл, щоб переконатися, що ваш синтаксис правильний. Але це ідеально! Як справи? Перше, що ви можете перевірити, це переконатися, що сервер працює. Але ви не хочете просто видавати команду запустити сервер або перезавантажити його. Замість цього видайте команду:

статус sudo /etc/init.d/apache2

Що має повернути щось на кшталт:

* Апаш працює (pid 9751).

Якщо ні, запустіть сервер з будь-якого:

sudo /etc/init.d/apache2 старт

або

sudo apache2ctl старт

ПРИМІТКА. Якщо ви використовуєте дистрибутив, такий як Fedora, SuSE або Mandriva, спочатку вам потрібно буде його користувачеві root і видайте вищезазначені команди БЕЗ використання судо .

Він не працює і не запуститься

Ви щойно внесли зміни у файл конфігурації Apache? Чи правильні зміни? Якщо ви не впевнені, можете скористатися apache2ctl команда для перевірки синтаксису вашого конфігураційного файла. Це робиться за допомогою команди:

sudo apache2ctl configtext

Наведена вище команда повинна звітувати:

Синтаксис ОК

Якщо ви не отримаєте ОК, ви отримаєте інформацію, яка вказує на помилки у вашому файлі конфігурації.

Apache хоче завантажити .php файли!

Це ще одне поширене питання. Якщо ви додасте новий інструмент на свій веб-сервер (наприклад, Drupal), якщо ваш файл конфігурації налаштовано належним чином, будь-який .php файл може не відображатися. Натомість у будь-якій спробі перегляду .php-файлу замість цього ваш браузер намагатиметься завантажити файл. Чому це? Apache потрібно повідомити, що певні розширення мають відображатися, а не завантажуватися. Це робиться з файлу конфігурації Apache. Відкрийте цей файл (на сервері Ubuntu це буде /etc/apache2/apache2.conf) і спочатку шукайте наступний рядок:

DirectoryIndex index.html

Якщо цей файл не включає index.php майже всі сайти, які використовують php, стануть марними.

Другий рядок, який потрібно шукати:

Додаток AddHandler / x-httpd-php .php

Якщо ви знайдете цей рядок, і він прокоментується, переконайтесь, що ви його відміняєте, видаливши символ '#'. Якщо його немає, додайте його внизу файла конфігурації.

І, як завжди, коли ви вносите зміни до конфігураційного файла, перезапустіть Apache.

Знайте, де шукати проблеми

Нарешті, важливо, щоб ви знали, куди спершу звернутись, коли вищезгадане не допоможе вам. Кожен раз, коли у мене виникають проблеми з Apache, де не застосовується бритва Occam, перше місце, на яке я звертаюсь, - це файли журналів.

Якщо ви заглянете / Var / log / apache2 Ви знайдете, принаймні, такі файли:

  • access.log: це відслідковує будь-яке з'єднання, здійснене до вашого сервера.
  • error.log: Це відслідковує будь-які помилки, які трапляються з Apache.
  • other_vhosts_access.log: саме тут віртуальний хост входитиме в журнал, коли віртуальному хосту не було призначено власний файл журналу.

Звичайно, по мірі розвитку вашого веб-сайту так будуть і доступні файли журналів. Незалежно від того, що ви знаходите / Var / log / apache2 , саме там завжди слід спочатку звертатися, коли виникають проблеми. Ще до Google.

Заключні думки

Тепер ви повинні мати можливість вирішувати деякі найпоширеніші проблеми з сервером Apache. І якщо ваша проблема не є звичайною, ви також знаєте, куди звернутися, щоб знайти підказки, які приведуть вас до правильного шляху до виправлення.