Как тестировать сайт на SSI в домашних условиях?!
Вводная ситуация: мне нужно собрать сайт на SSI, но у меня нет постоянного соединения с оплатой "только трафика", зато есть повременка, которая и так изрядно опустошает мой карман. Решение вполне очевидно - установить веб-сервер на свою машину, сделать сайт и затем выложить его на "постоянное место жительства".
Personal Web Server от Микрософт оказался слишком велик для того, чтобы я изъял его из сети, и, именно тогда я задумался об альтернативных вариантах. Путем построения простейшего запроса на Яндексе был выявлен сайт, ставший в дальнейшем моим спасителем. Small HTTP Server - вот, чему посвящен этот небольшой ресурс.
Скачать можно самую последнюю версию (2.03), причем регистрация для "жителей бывшего СНГ" бесплатная, без таковой программа работает всего 21 день, а потом начинает очень (даже слишком) активно призывать пользователя поощрить разработчика (5 USD).
Дистрибутив сервера "весит" 68 kb (шестьдесят восемь килобайт!). Даже меньше, чем многие веб-странички. Причем, при кажущейся незамысловатости программы, она вполне функциональна, для того, чтобы, используя ее, можно было не только собрать несколько страничек, но и разрабатывать достаточно серьезные perl'овые скрипты, тестировать объемные сайты и т.д. Естественно, что потребуется внешний PERL-интерпретатор под вашу операционку, но и это в сети не проблема - ищите ссылки на вышеупомянутом сайте. Кроме того, сервер может обрабатывать phtml-страницы (опять же, через запуск внешнего интерпретатора). И, конечно, SSI и ISA. Реализована многозадачность с регулируемым количеством подключений, виртуальный хостинг, а также встроены простые DNS и Proxy-серверы.
Сразу после загрузки можете смело запускать единственный файл - это и есть весь дистрибутив. Установка сопряжена со значительными трудностями, которые могут возникнуть у новичков. Однако если вы раньше вступали во взаимоотношения по типу "сервер-администратор", то проблем точно не будет. Чайнику же придется довольствоваться английскими подсказками программы установки, а также FAQ и форумом на сайте. Обратите внимание на две последние вкладки программы установки: если вас пока не интересуют прокси и DNS-возможности сервера, то можете вполне сосредоточиться на особенностях хранения лога (вкладка "General"), привязке внешних интерпретаторов ("HTTP") - у меня получилось раза с пятого, установке "файла по умолчанию" (там же) и количества "одновременных пользователей" ("HTTP" / "Count of remote"). После того, как все настройки будут сделаны, можно смело жать "Set&Exit" и… не отправляться варить кофе, поскольку установка займет от 3 до 7 секунд в зависимости от занятости машины в этот момент - дольше у меня не получалось. Можно пользоваться…
Как проверить качество установки? Патогномоничным признаком является появление надписи "index.shtml Error. File not found" (это в случае, если вы не положили в корневую директорию стартовый файл) или, как вариант, появление первой страницы вашего сайта, уже лежащего в нужном каталоге, при наборе адреса "127.0.0.1" в браузере. Когда один из двух вариантов развития событий будет иметь место, то можно смело переключиться на другую деятельность, связанную с созданием нового сайта, т.е. версткой, отладкой скриптов и т.д.
Как выглядит работающий сервер? Смотри предыдущий абзац. Кроме того, если флажок "Startup" при установке программы был отмечен, а "Start Hide" - нет, то при перезагрузке компьютера в районе системных часов появится значок программы, при нажатии на который появляется достаточно аскетическое окно программы с логом обращений к серверу. В самом верху окна можно познакомиться с автором программы (Макс Феоктистов), а также с текущими параметрами сервера: Root dir, Port, Number of connections и т.д. В памяти компьютера сервер занимает около 900 килобайт, что позволяет держать его загруженным постоянно.
Дополнительные настройки программы осуществляются с помощью командной строки, изменяя которую в свойствах ярлыка (или .bat-файла), можно добиться необходимого результата, начиная от задания новой "корневой директории", заканчивая установкой порта, отличного от 80. Также особыми параметрами может контролироваться динамический DNS-клиент и Proxy-сервер. Альтернативным вариантом настройки является конфигурационный файл: правила его написания подробно разобраны на сайте, от себя хочу лишь добавить, что он не показался мне надежным (хотя это скорее было связано с моей невнимательностью) - так что лучше пользоваться параметрами командной строки.
Помимо всех хороших черт, у программы имеются и определенные недостатки. Во-первых, это настройки путем модификации командной строки, что вряд ли покажется удобным большинству пользователей. Мне, например, несмотря на довольно большой стаж работы с компьютером, не приходилось раньше редактировать командную строку путем внесения изменений в свойства ярлыка… хотя проблем, конечно, не возникло, но "неприятный осадок остался". Хотелось бы все-таки иметь возможность редактировать параметры через простенький интерфейс (вроде 2000 год на дворе).
Второй недостаток - это нестабильность работы сервера. За несколько месяцев его использования было выявлено, что программа очень критично переживает некорректные SSI-тэги, а также сильно нервничает, если во время загрузки страницы нажать "Stop" в браузере. Обе эти ситуации приводят к зависанию сервера, что, впрочем, легко устраняется путем его перезапуска, который происходит почти моментально.
В целом программа производит достаточно неплохое впечатление и может смело занять место не только на машине "веб-мастера - надомника", но и выступать в роли сервера для поддержки корпоративной конференции или форума. Естественно в локальной сети, поскольку от более или менее серьезных атак сервер практически не защищен, хотя автор и работает над этим (судя по сообщениям на сайте). Дополнительную информацию о программе можно получить как на вышеуказанном сайте, так и просто поискав в сети - обсуждают сервер достаточно широко, причем отзывы, как правило, положительные.