Веб-сервер – програма, яка запущена на локальній чи віддаленій машині, і головне її призначення – дозволяти користувачеві переглядати веб-документи. Коли в адресному рядку вводиться адреса сайту, при натисканні клавіші Enter браузер формує якийсь запит, спрямований віддаленого комп’ютера — веб-сервера.

Apache HTTP-сервер (скорочення від англ. a patchy server) – одна з найбільш популярних і поширених програм, створених для веб-розробників і адміністраторів інтернет-ресурсів. За даними незалежних дослідників, Apache встановлений на 50% комп’ютерів всіх користувачів HTTP-серверів.

Головними перевагами Apache є стабільність, швидкість і гнучкість, і обумовлені вони модульною організацією, а також тим, що веде розробку відкрита група програмістів, хоч і під офіційною назвою Apache Software Foundation.

Apache підтримує величезну кількість операційних систем і апаратних платформ, і досить часто його використовують під управлінням операційної системи Windows. Важливо й те, що даний web-сервер поширюється абсолютно безкоштовно.

Про те, як встановити сервер Apache для операційної системи Windows 7, піде мова в даній статті.

Установка Apache

В першу чергу необхідно завантажити останню версію дистрибутива Apache без підтримки SSL і запустити установку. У вітальному вікні потрібно натиснути «Next», прочитати ліцензійну угоду розробника і підтвердити свою згоду з ним.

Потім, у вікні установки необхідно заповнити поля так, як показано на зображенні нижче, а в полі «Administrator’s Email Address» вказати адресу своєї електронної пошти, натиснути «Next» і встановити перемикач в положення «Custom».

Apache: встановлення та налаштування веб-сервера
Apache: встановлення та налаштування веб-сервера

Далі, переходимо до наступного кроку процесу «установка Apache». За замовчуванням веб-сервер робить інсталяцію в папку C:Program FilesApache Software FoundationApache 2.2.

Apache: встановлення та налаштування веб-сервера

Далі необхідно створити папку www на диску C і вказати її як настановної папки для Apache, натиснути «Next» в цьому і «Install» в наступному вікні. Коли установка закінчиться, натисніть «Finish».

Якщо все пройшло успішно, в треї повинен з’явитися значок управління веб-сервером Apache. Зупинити і перезапустити його можна, клацнувши на значку лівою кнопкою миші.

Apache: встановлення та налаштування веб-сервера

Клікнувши по тому ж значку правою кнопкою миші, можна перейти до різних системних служб операційної системи або відкрити монітор Apache.

Apache: встановлення та налаштування веб-сервера

Для того щоб перевірити чи працює встановлений сервер Apache, наберіть в адресному рядку вашого браузера http://localhost

Apache: встановлення та налаштування веб-сервера

Якщо з’явилася сторінка з надихаючою написом «It works!», отже, установка Apache пройшла успішно, і він функціонує правильно.

Базове налаштування веб-сервера

Хоч Apache і є досить зручним і виключно надійним, не всі готові його використовувати як локальний сервер з ряду причин, і основна — відсутність навіть в середовищі Microsoft Windows якогось графічного конфігуратора, що досить незвично для більшості користувачів.

Налаштування сервера здійснюється за допомогою ручного редагування конфігураційного файлу httpd.conf. Однак, всупереч уявленням про незрозумілість і складність даного процесу, нічого складного в цій операції немає з двох причин: по-перше, для того, щоб зробити з тільки що встановлений Apache сервер, який налаштований для прийнятною і комфортної роботи, у файлі конфігурації потрібно поміняти зовсім небагато даних, а по-друге — коментарі httpd.conf містять чимало корисної інформації, необхідної для того, щоб розібратися з налаштуванням.

Що необхідно?

  • Запустити Apache під платформою Windows 7;
  • Зберігати в зручній для користувача директорії файли майбутнього сайту (наприклад, C:www);
  • Не відчувати проблем з кодуванням, а зокрема — з відображенням кирилиці;
  • Можливість працювати з декількома сайтами одночасно.

Щоб успішно вирішити ці проблеми, зайдіть в папку з встановленим Apache, знайдіть і відкрийте в папці conf файл httpd.conf. Зверніть увагу, що рядки, що починаються з «решітки», є текстовими коментарями, а в якості налаштувань веб-сервера використані рядки, на початку яких значок «решітки» відсутня.

Для початку потрібно виконати настройку тій директорії, яка буде використовуватися сервером в якості папки веб-сайту. Знайдіть у тексті рядок, що починається з DocumentRoot. Дана директива визначає, яка папка буде кореневої.

Виправте її на DocumentRoot «C:/www«. Слід уточнити, що слеш в цьому файлі повинні бути нахилені вправо, а не вліво, як, мабуть, вже звикли користувачі Windows. Після вищевказаних маніпуляцій, проблема з розташуванням вашого сайту вирішена.

Далі необхідно встановити для директорії правила безпеки. В Apache для цієї мети використовується директива Directory:

Options (визначає, які серверні функції будуть доступні)
AllowOverride (визначає, які директиви .htaccess можуть переважати над такими ж httpd.conf)
Order (встановлює певні правила доступу до сервера)

Список використовуваних параметрів:

Options. Можливі наступні варіанти:

  • Includes – використання SSI дозволено;
  • IncludesNOEXEC – використання SSI дозволено з обмеженнями (не допускаються #include і #exec);
  • Indexes – дозволено використання індексних файлів, і якщо URL-адреса вказує на директорію сайту (наприклад, www.domain.ru/dir/), в якій не існує індексного файлу, буде показано вміст даної директорії, а якщо цієї опції немає – видається повідомлення про те, що доступ заборонений;
  • ExecCGI – виконання сценаріїв CGI дозволено;
  • FollowSymLinks – сервер слід за наявними символічним посиланням директорії (використовується в Unix-системах);
  • SymLinksIfOwnerMatch – сервер слід за наявними символічним посиланням директорії лише в тому випадку, якщо файл має одного власника з посиланням;
  • All – все вищеописане разом дозволено;
  • None – все вищеописане разом заборонено;
  • MultiViews – можливість підбору певного контенту і його видачі в залежності від уподобань браузера (навіть якщо все включено (All Options). Вказується окремо).

AllowOverride. Варіанти:

  • AuthConfig – дозволяє використовувати директиви для авторизації;
  • FileInfo – дозволяє використання директив для роботи з різними типами документів;
  • Indexes – дозволяє використання директив для роботи з файлами індексації;
  • Limit – дозволяє використання директив для визначення доступу до хосту;
  • Options – дозволяє використання директив для роботи з певними специфічними функціями директорій;
  • All – все вищевказане разом;
  • None – нічого з вищевказаного разом.

Order. Варіанти:

  • Deny, Allow – Deny визначається перед директивою Allow, доступ дозволений за замовчуванням, крім хостів, які вказані в наступній після Deny from рядку;
  • Allow,Deny – Allow визначається перед директивою Deny, доступ заборонений за замовчуванням, крім хостів, які вказані в наступній після Allow from рядку;
  • Mutual-failure – дозволений доступ тільки таких хостів, які відсутні в Deny і присутні в Allow.

На основі всього вищесказаного, спробуйте налаштувати ваш сервер. У файлі httpd.conf директива Directory за замовчуванням існує відразу в двох примірниках — і . Перший варіант чіпати не слід, тому в другому встановіть параметри наступним чином:

Options Indexes FollowSymLinks
AllowOverride None
Order allow, deny
Allow from all

Кажучи іншими словами, для папки C:/www і всіх її підпапок обрані наступні параметри:

  • З можливої функціональності наявного сервера можна індекси в директоріях і переходи по символічних посиланнях;
  • Можливість параметричного перевизначення з допомогою файлів .htaccess повністю відсутня, однак з огляду на те, що ви маєте повний доступ до сервера, вона не є актуальною – все можна налаштувати через httpd.conf;
  • Доступ до веб-сервера дозволений зі всіх хостів.

Тепер збережіть файл httpd.conf і перезавантажте Apache з допомогою Apache Monitor або командою apache –k restart в командному рядку. Налаштування кореневої папки сайту закінчена.

Слід перевірити, чи правильно ви все зробили. Створіть найпростішу веб-сторінку в папці C:www, відкрийте браузер і введіть http://127.0.0.1/ваша_созданная_страница. Сторінки повинна відкритися. В іншому разі необхідно ретельно перевірити всі зміни у файлі httpd.conf на правильність.

Якщо сторінка успішно відкрилася, є ймовірність, що замість кириличних символів ви побачите неправильні символи. Відображатися вони можуть з двох причин. По-перше, веб-сервер надає браузеру, який запросив сторінку, кодування за замовчуванням. По-друге, як не дивно, кодування ця кириличної не є.

Якщо горезвісний Internet Explorer в подібних випадках визначає кодування з самої сторінки, то, приміром, Mozilla Firefox і Opera до подібних дій схильності зовсім не мають, та спосіб виставлення кодування в браузері вручну навряд чи можна назвати зручним. Отже, необхідно налаштувати Apache на видачу за замовчуванням необхідної кодування.

Знайдіть у файлі httpd.conf рядок, що починається на AddDefaultCharset. Швидше за все, там вказана кодування ISO-8859-1, в якій відсутні кириличні символи. Поміняйте ISO-8859-1 на windows-1251, збережіть файл і перезавантажте Apache. Тепер коректне відображення російської мови на вашому сайті буде працювати в будь-якому браузері.

У сервері Apache досить просто налаштувати роботу з декількома сайтами. Адреси, які можна використовувати для них — 127.0.0.2, 127.0.0.3 і т. д. При цьому по мережі видно буде тільки той, який є сайтом за замовчуванням (127.0.0.1), однак для локальної роботи це не є критичним. Розділ файлу httpd.conf, в якому проводиться налаштування усього необхідного для цього, знаходиться в самому кінці і іменується VirtualHosts.

Для того, щоб додати додатковий сайт, створіть директорію, що використовується в якості його кореневої, наприклад, C:www2. Припустивши, що сайт буде відгукуватися на адресу 127.0.0.2, дайте йому ім’я site911 і в самому кінці розділу VirtualHosts додайте наступні рядки:

ServerAdmin webmaster@site911
ServerName site911
DocumentRoot «C:/www2»
ScriptAlias /cgi/ «C:/www2/cgi/»
ErrorLog «C:/www2/error.log»
CustomLog «C:/www2/custom.log» common

Перезапустіть сервер Apache. Набравши в адресному рядку браузера 127.0.0.1, ви потрапите на ваш перший локальний сайт, а набравши 127.0.0.2 – на другий локальний сайт. Слід мати на увазі, що всередині кожного контейнера VirtualHosts можуть використовуватися абсолютно будь-які директиви веб-сервера Apache, завдяки чому можна кожен сайт налаштовувати наидетальнейшим чином.

Підсумок

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

Якщо ж ви вирішили впритул зайнятися адмініструванням сайтів, наступним вашим кроком має стати вивчення зв’язки Apache PHP MySQL, адже без системи управління базами даних, а також без підтримки одного з найпоширеніших мов веб-програмування та веб-інструмент для адміністрування системи MySQL не обходиться ні один сервер на просторах всесвітньої мережі. Як говориться, «важко в навчанні, але легко в бою».

Бажаємо успіху у вивченні цього нелегкого, але цікавого справи!