Сервер – это звучит…просто
АрхивСетевое окружение (архив)Как протестировать сайт, содержащий SSI и CGI, на своем компьютере под Windows? Да очень просто - пора заводить себе сервер...
Уже давно стало привычным, что большинство сайтов представляют собой не множество статичных HTML-страниц, имя которым - легион, и редактировать которые на разросшемся сайте - сплошное мучение, а динамически генерируемый контент. И любой веб-мастер, поддерживающий живой [1] сайт компании, рано или поздно приходит к выводу, что пора процесс неконтролируемого деления страничек прекращать.
Понятное дело, что уговорить руководство вкладывать сотни или тысячи у.е. в развитие корпоративного веб-сайта бессмысленно: во-первых, очень невелика вероятность окупаемости, а во-вторых, зачастую такой вариант принесет лишь тотальную зависимость от разработчика движка - чуть какой глюк, и ищи его с утра пораньше… Но довольно ощутимо облегчить себе труд все равно можно. Для этого уже давно существуют две технологии - SSI (Server Side Includes) и CGI (Common Getaway Interface). С помощью SSI вы избавите себя от нужды перелопачивать тонны страничек с целью добавить в них ссылку на новый раздел или заменить номер факса компании, а использование CGI-скриптов может придать сайту изрядную долю интерактивности в лице форума или гостевой книги, или даст возможность сделать авторизированный доступ к разделу. Но тут появляется одна загвоздка - если "обычный" HTML-сайт можно писать и тестировать хоть на любимом стареньком ноутбуке под Win3.1, то применение SSI-директив или скриптов на Perl требует тестирования на сервере. А если сервер стоит не у вас в конторе, а лежит где-то у провайдера, то подобное тестирование может обернуться еще большими проблемами (в особенности, если вы смутно знаете, что такое httpd и как редактировать httpd.conf, если вас еще к нему допустят). Тут встает вопрос об установке простого в конфигурировании веб-сервера под Windows.
Когда передо мной встала такая задача, я решил не связываться с продуктами горячо любимой MS, а поискать альтернативные решения. И нашел их целых два...
Решение первое, изящное
После недолгого блуждания по download-серверам отыскалась чудная программка Максима Феоктистова Small HTTP Server. Я даже думаю, что автор немного поскромничал - вполне можно было назвать и Smallest, так как весит сервер всего…28Кб! И при таком крохотном размере она спокойно поддерживает нехилый набор возможностей:
- Поддержка методов GET и POST HTTP/1.0
- Одновременная передача данных и прием запросов от нескольких удаленных пользователей.
- Запуск CGI-скриптов: PE *.exe Windows формат; MZ *.exe и *.com DOS форматы (только Win95/98); запуск perl-скриптов через запуск внешнего Perl-интерпретатора; обработка phtml-страниц через запуск внешнего PHP-интерпретатора; запуск приложений ассоциированных с типами файлов Windows.
- Server Side Includes (SSI).
- Internet Server Applications (ISA).
- Динамический вывод информации об обработанных запросах. Протокол может сохраняется на диске.
- Плюс - виртуальный хостинг, HTTP Proxy сервер и простой DNS сервер.
Программа очень легко настраивается при установке, а кроме того, любой параметр всегда можно изменить при запуске в режиме командной строки или написать несколько конфигурационных файлов с необходимыми настройками на все случаи применения. Этот сервер сослужил мне отличную службу на первом этапе разработки сайта, когда отлаживался режим работы SSI. С запуском EXE-скрипта на С проблем тоже не возникло, однако мне так и не удалось заставить работать Перл-скрипт. Данные из формы куда-то уходили и отображались в окошке мониторинга, но вот до скрипта они явно не добирались. Сначала я думал, что скрипт кривой, так как программист я тот еще, а уж в Перле с его закорючками вообще сходу без пол-литра (пива:)) никак, но после проверок 20 я плюнул и решил обратиться к "истокам".
Решение второе, живущее до сих пор
А истоком, точнее, конечным местом дислокации сайта, являлся один известный всем индеец из рода Апачей. Дистрибутивов под разные платформы у него великое множество, ну и про Форточки тоже не забыли. Ставится Апач легко и быстро, работает в ДОСовском окошке, но весит уже поболе своего предшественника по экспериментам - около 4Мб со всей документацией и модулями. Человеку, не видевшему Юникс или, на худой конец, ДОС, может показаться странным, что после установки сервер запускаться откажется. Но торопиться с переустановкой не следует - просто учитесь читать инструкцию до, а не тогда, когда больше ничего не помогает. Вся настройка сервера осуществляется путем редактирования файла httpd.conf (и, немного, mime.types) в поддериктории conf. В принципе, любой веб-мастер, более-менее разбирающийся в принципах функционирования веб-серверов и владеющий английским, сможет минут за 15-20 все корректно настроить. Если же что-то не получается, то на большую часть вопросов ответ можно найти здесь. Апач является полнофункциональным веб-сервером и будет поддерживать практически все, что вам будет нужно (если, конечно, вы ориентируетесь на *nix платформу) - при желании, можно оставить сервер крутиться и под Win95, лишь бы не висла:)
[1] - Я имею ввиду сайт, который обновляется не реже трех раз в неделю и имеет 40-70 посетителей в день - вполне типичная картина для большинства корпоративных сайтов.
[обратно к тексту]