У цій статті розміщена розповідь як встановити і налаштувати Apache-сервер на стандартний домашній комп’ютер, що працює під управлінням Windows, щоб на ньому можна було зайнятися розробкою і написанням CGI-програм. Виконавши всі наведені тут етапи, ви зможете запускати і перевіряти на своєму комп’ютері всі програми, представлені на цьому сайті в якості прикладів.
1. Скачайте Web-сервер Apache
Сервер Apache ви можете завантажити з сайту компанії за адресою http://www.apache.org. Клацніть на посиланні з ім’ям download і виберіть саму повую версія сервера для платформи Win32. Ім’я файлу буде швидше за все зразок apache_1_3_9_win32.exe.
2. Виберіть Web-сервер Apache
Після того як пакет установки завантажений, вам слід встановити програму. Сервер Apache використовує стандартну процедуру установки, тому вам потрібно лише двічі клацнути на файлі пакета установки, прийняти умови ліцензії, вказати папку для програми і вибрати тип установки.
Рекомендуємо встановити сервер так (шість кроків):
subst f: C:INTERNET
і перезавантажте комп’ютер. У вас повинен з’явитися віртуальний порожній диск F:.
УВАГА: є відомості, що в Windows 95/98 є помилка, в результаті якої іноді subst-шляху «самі по собі» перетворюються в абсолютні. Тобто, наприклад, в розглянутому вище прикладі команди
f:
cd
cd
dir
(а точніше, команда dir у своєму заголовку) помилково виведуть, що поточна директорія C: (а не F:, як це повинно бути). Зазначена помилка найчастіше проявляється непрацездатності Perl-транслятора. Так що особисто ми не рекомендуємо Вам використовувати subst. Замість цього скористайтесь пунктом 1.
Рекомендуємо все ж розмістити Apache у зазначеному на початку каталозі, так як він максимально відповідає каталогу для реального Web-сервера Інтернету. Адже чим ближче в плані конфігурації ми будемо до такого сервера, тим краще і ефективніше зможемо працювати.
Вітаємо — Apache встановлений! Тепер найнеприємніше — його параметри.
3. Налаштуйте файлу конфігурації Apache mime.types
text/html html, htm
Змініть її на
text/html html, htm shtml shtm sht
Слід зауважити, що якщо Ви з якихось причин не хочете псувати файл mime.types, то можна замість цього прописати у файлі httpd.conf (див. нижче) рядки виду
AddType text/html html, htm shtml shtm sht
4. Налаштуйте файлу httpd.conf
Увага! Це — найвідповідальніший момент установки. Просимо дотримуватися інструкції БУКВАЛЬНО.
ServerAdmin [email protected]
ServerName ApacheServer
Тільки не забудьте розкоментувати поле ServerName, тобто прибрати символ «#» перед цим параметром (за замовчуванням він закомментирован)!
DocumentRoot f:/www
Зрозуміло, можете вказати будь-яку іншу директорію, якщо хочете. У будь-якому випадку, не забудьте її створити, краще зробіть це прямо зараз!
Options Indexes Includes
AllowOverride All
Таким чином, в цьому блоці будуть зберігатися установки для всіх директорій за замовчуванням (т. к. це — коренева директорія).
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
Це — установки для директорії з Вашими html-документами. Якщо хочете, можете встановити іншу директорію, головне, щоб вона збігалася з тією, яка прописана в параметрі DocumentRoot
UserDir f:/home
Це буде директорія, в якій зберігалися б домашні сторінки користувачів, якщо б це був справжній Web-сервер, а також кореневі каталоги віртуальних хостів (див. нижче). Не забудьте також створити цей каталог.
DirectoryIndex index.htm index.html
Це — так звані файли індексу, які автоматично видаються сервером при зверненні до директорії, якщо не зазначено ім’я html-документа. В принципі, можна додати сюди і інші імена, наприклад, index.phtml, якщо Ви будете працювати з PHP і т. д.
ScriptAlias /cgi-bin/ «f:/cgi-bin/»
Так, саме так, з двома слэшами. Це буде та директорія, в якій повинні зберігатися Ваші CGI-скрипти. Якщо хочете, можете вказати інше ім’я, наприклад:
ScriptAlias /mycgi/ «f:/mycgidir/»
Подібний параметр говорить Apache про те, що, якщо буде вказано шлях виду http://localhost/cgi-bin, то насправді слід звернутися до директорії f:/cgi-bin.
AllowOverride All
Options ExecCGI
AddHandler cgi-script .bat .exe
Це говорить Apache про те, що файли з розширенням .exe і .bat потрібно розглядати як CGI-скрипти.
AddHandler server-parsed .shtml .shtm .sht
Або, якщо Ви хочете, щоб і звичайні файли html оброблялися SSI, напишіть так:
AddHandler server-parsed .shtml .shtm .sht .html .htm
Вітаємо — Ви налаштували Apache, і він повинен працювати! Для запуску сервера натисніть Пуск->Програми->Apache Web Server->Start Apache as console app, при цьому з’явиться вікно, дуже схоже на Сеанс MS-DOS, і нічого більше не станеться. Не закривайте його і не чіпайте до кінця роботи з Apache.
Кілька слів про те, як можна спростити запуск і завершення сервера. У Windows можна призначити кожному ярлику функціональну комбінацію клавіш, натиснувши на які, Ви запустите цей ярлик. Так що клацніть правою кнопкою на панелі завдань, у контекстному меню виберіть Властивості, потім Налаштування меню і кнопку Додатково. У вікні Провідника призначте ярлику Start Apache as console app комбінацію Ctrl+Alt+A, а ярлику Shutdown Apache as console app — Ctrl+Alt+S
5. Перевірте Web-сервера
- Перевірка html: у директорії f:/www з html-документами Apache створіть файл index.html. Тепер запустіть браузер і наберіть:
http://localhost/index.htmlабо просто
http://localhost/
Завантажиться Ваш файл.
- Перевірка CGI: в директорії f:/cgi-bin для CGI-скриптів створіть файл test.bat з таким змістом:
@echo off
echo Content-type: text/html
echo.
echo.
dirТепер у браузері наберіть:
http://localhost/cgi-bin/test.bat
У вікні відобразиться результат команди DOS dir. (Хотілося б відзначити, що зазначений тест працює не на всіх версіях Windows: іноді замість того, щоб виконати файл test.php, Apache виводить в браузер його вміст. З чим це пов’язано — не зовсім ясно, однак, здається, можна позбутися від зазначеної помилки шляхом маніпулювання з Реєстром. Якщо у Вас test.bat не запускається, не турбуйтеся: навряд чи Ви коли-небудь будете писати скрипти у вигляді bat-файлів, тим більше, що це несумісно з Unix.)
- Перевірка SSI: аналогічна перевірці html. Використовуйте, наприклад, директиву
Якщо bat-файли Ваш Apache запускати не хоче (див. вище), то дочекайтеся установки Perl або PHP.
6. Перевірте виконання CGI-програми
Якщо ви отримали сторінку з надпиьсю про правильній роботі, вам потрібно переконатися, що сервер може виконувати CGI-програми. Для цього ви повинні написати просту програму, помістити її в правильний каталог і перевірити, як вона виконується Web-сервер.
Нижче ви бачите текст простий перевірочної програми на мові Perl.
#!/usr/local/bin/perl
use CGI;
$query = new CGI;
print $query->header;
print «Проверкап»;
print «Перевірка пройшла успішно.»;
Скопіюйте текст цієї програми Блокнот, збережіть його у файлі test.pl і помістіть файл в каталог cgi-bin кореневого каталогу вашого сервера. Перший рядок у цій програмі треба змінити так, щоб вона відображала дійсний стан интерпритатора Perl на вашому комп’ютері.
Примітка: Перший рядок важлива при роботі під управлінням UNIX, так як саме в ній вказується, яка програма повинна обробляти цей текст. Версія Apache для Windows теж дотримується цієї угоди.
Тепер можете перевірити виконання цієї програми, набравши в адресному рядку броузера наступне:
http://localhost/cgi-bin/test.pl
Якщо все працює правильно, ви повинні побачити у вікні броузера сторінку HTML-код якої зазначений в операторах print. Результат виконання цієї програми ви можете побачити натиснувши тут. Російський текст може бути відображений броузером неправильне кодування. Якщо це сталося, то у вікні вручну выставте кодування Кирилица (Windows). Як встановлювати кодування HTML-сторінки повертається CGI-програмою, щоб броузер її завжди вірно відображав, буде розказано пізніше.
Ця програма перевіряє правильність установки компонентів для CGI-програмування. Зокрема, при виконанні цієї програми перевіряється наступне.
- Web-сервер налаштований і налаштований правильно і може виконувати CGI-програми.
- Програма поміщена у відповідний каталог, сервер розпізнає файли в цьому каталозі програми.
- Інтерпретатор Perl встановлений і працює правильно; шлях до програми интерпритатора правильно вказаний в першому рядку.
- Бібліотеки, які входять в комплект поставки Perl, встановлені правильно, зокрема CGI.pm.
При написанні статті використовувалися матеріалу сайту http://www.dklab.ru.