Веб-сервер – програма, яка запущена на локальній чи віддаленій машині, і головне її призначення – дозволяти користувачеві переглядати веб-документи. Коли в адресному рядку вводиться адреса сайту, при натисканні клавіші 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». За замовчуванням веб-сервер робить інсталяцію в папку C:Program FilesApache Software FoundationApache 2.2.
Далі необхідно створити папку www на диску C і вказати її як настановної папки для Apache, натиснути «Next» в цьому і «Install» в наступному вікні. Коли установка закінчиться, натисніть «Finish».
Якщо все пройшло успішно, в треї повинен з’явитися значок управління веб-сервером Apache. Зупинити і перезапустити його можна, клацнувши на значку лівою кнопкою миші.
Клікнувши по тому ж значку правою кнопкою миші, можна перейти до різних системних служб операційної системи або відкрити монітор Apache.
Для того щоб перевірити чи працює встановлений сервер Apache, наберіть в адресному рядку вашого браузера http://localhost
Якщо з’явилася сторінка з надихаючою написом «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 не обходиться ні один сервер на просторах всесвітньої мережі. Як говориться, «важко в навчанні, але легко в бою».
Бажаємо успіху у вивченні цього нелегкого, але цікавого справи!