"Денвер"

"Денвер"

В современном веб-строительстве уже достаточно давно стала заметна тенденция разработки всех более-менее серьезных проектов как сайтов динамических, способных взаимодействовать с пользователем в интерактивном режиме. Поэтому довольно скоро у освоившего HTML возникает естественное желание дополнить свой арсенал знанием языков, используемых в веб-программировании.

Какой бы язык ни был избран, будь то VBScript, Perl или какой-нибудь еще, в любом случае написанные скрипты надо где-то попробовать в действии перед выкладкой готового проекта на хост. Другими словами, необходим собственный web-сервер, с помощью которого можно будет проверить работу своих программ.
На рынке веб-серверов лидирующие позиции по количеству инсталляций сегодня занимают Apache и Microsoft IIS. Существуют и достаточно успешно применяются и другие продукты, например, NCSA, iPlanet и другие, но их использование пока остается все-таки менее распространенным решением. Это не означает, что альтернативные системы хуже — вовсе нет, просто так сложилась современная ситуация, и это нельзя не учитывать. Поэтому главными героями нескольких следующих публикаций станут именно Ms IIS и Apache.
Microsoft Internet Informa-tion Services работает только под Microsoft Windows и по умолчанию поддерживает языки программирования VBScript и JScript. Список языков можно впоследствии расширить. Более подробный разговор о нем впереди. Сегодня мы остановимся на лидере — сервере Apache.

История Apache берет свое начало с апреля 1995 года, когда Apache group, исправив некоторые ошибки и расширив возможности весьма популярного на тот момент веб-сервера httpd 1.3, разработанного NCSA (National Center for Supercomputing Applications), выпустила версию, названную Apache 0.6.1.
Apache работает на многих платформах: UNIX, Linux, BSD, Solaris и даже MacOS. Лидирующей платформой здесь является UNIX. Есть и версии, совместимые с ОС Microsoft Windows. Возможность использования свободного программного обеспечения и хорошие характеристики продукта сделали свое дело — Apache используется примерно на шестидесяти процентах веб-узлов. Совместно с Apache, как правило, используются языки программирования РНР и Perl, хотя могут быть и другие варианты — это зависит от поставленных задач.
Если вы планируете воспользоваться бесплатным или недорогим хостингом, то это с высокой степенью вероятности означает использование вашим потенциальным хостером FreeBSD или Linux в качестве ОС и Apache в качестве веб-сервера. Поэтому именно с рассмотрения Apache мы и начнем нашу работу.

Как уже упоминалось, Apache является многоплатформенной системой. При разработке собственного веб-проекта с целью последующего его размещения на конкретном хостинге в идеале, конечно, было бы неплохо использовать родную для Apache среду, еще лучше совпадающую с таковой у хостера. Это позволило бы практически свести на нет риск того, что прекрасно работающие на локальной машине скрипты в "боевых" условиях на реальном сервере почему-то ведут себя не так, как ожидалось, или не работают вовсе. Однако, исходя из того, что в большинстве своем на домашних компьютерах, которые собственно и становятся базой непосредственной разработки, используется ОС Microsoft Windows различных версий, перспектива установки другой операционной системы и переучивания на новые инструменты веб-разработки только для того, чтобы отладить несколько скриптов, согласитесь, не всегда оправдана.
Тем более, что, как уже упоминалось выше, существует Windows-вариант Apache. Кроме этого, все популярные и необходимые пакеты, реализующие поддержку дополнительных возможностей при работе с этим веб-сервером, в частности, поддержку языков программирования, также имеют версии, совместимые с этой операционной системой.
Это значительно упрощает нашу задачу, которую теперь можно сформулировать более конкретно: нам нужен работающий под Microsoft Windows веб-сервер Apache в комплекте с РНР или Perl — кому что больше нравится. Кроме этого, нам нужна еще и СУБД, ведь для решения весьма широкого круга задач нам может понадобиться возможность взаимодействия с базами данных. При избранных нами вводных условиях вполне логичным будет выбор СУБД MySQL, весьма популярной при решении задач разработки различных веб-проектов, которая также имеет Windows-версию.

Следующий выбор, который нам предстоит сделать, — определить, будем ли мы устанавливать каждый пакет по отдельности или же воспользуемся готовым интегрированным пакетом-инсталлятором, содержащим предварительно подобранные и настроенные "в комплекте". Первый вариант подразумевает более-менее удовлетворительное знакомство с принципами организации, настройки и администрирования Apache и его модулей, а также определенные временные затраты на приведение всего этого хозяйства в работоспособное состояние. Наградой избравшим этот путь будут значительно более глубокие познания о данном пакете и особенностях его функционирования вкупе со значительным моральным удовлетворением собственными возможностями.
Второй вариант позволяет быстро начать работу собственно над вашим проектом, не тратя время на настройку собственно тестового веб-сервера, значительно сократить время на загрузку из Internet полных дистрибутивов необходимых программ (а эта разница измеряется разами) и вообще абстрагироваться от задач администрирования, сосредоточившись на своих непосредственных задачах. Подобные пакеты можно, в принципе, применять не только по прямому назначению, то есть для тестирования собственноручно написанных скриптов для своих веб-страниц, но и как (условно) полноценный сервер в рамках, например, локальной сети. Конечно, в таком качестве ими лучше не пользоваться — все-таки это пока не их задача, — но сама возможность при определенных условиях может представляться достаточно заманчивой. Конечно, такой вариант имеет свои особенности, о которых необходимо помнить и о которых будет рассказано ниже. Так что если вас пока не интересуют нюансы настройки веб-сервера Apache и некоторые теоретически возможные проблемы с последующей совместимостью, то этот вариант выглядит предпочтительным.
Одним из лучших пакетов такого типа является "Денвер", разработанный и поддерживаемый Дмитрием Котлеровым. Адрес официального сайта — http://web.dklab.ru . Размер дистрибутива — около двух мегабайт.

Как говорится в сопроводительной документации, "предлагаемый комплекс программ позволяет запустить полноценный веб-сервер Apache с поддержкой PHP, Perl и сервер MySQL на машине, работающей под управлением MS Windows 95/98/Me/NT/2000/XP. Как правило, при установке не требуется никакой настройки, комплекс может использоваться даже неподготовленными пользователями. Тем не менее, он может найти применение не только для обучения азам веб-программирования, но и для отладки интерактивных сайтов, программ, использующих базу данных MySQL, написанных на языках PHP и Perl" — добавить к этому уже нечего: все понятно.
"Денвер" может похвастаться такими качествами, как модульность, допускающая загрузку дополнительных расширений, отсутствие необходимости конфигурирования, возможность работать с РНР и как с модулем Apache, и используя CGI.
Для того, чтобы получить этот пакет, необходимо посетить сайт и скачать избранный вариант комплекса. Они отличаются версиями включенных в пакет программ. В результате вы получите файл с названием типа "2003-02-10_Base_a1.3.27_p4.3.0_m3.23.53_pma2.3.0.exe". Как нетрудно догадаться, это означает, что он был создан в феврале 2003 года и должен содержать Apache 1.3.27, PHP 4.3.0 и MySQL 3.23.53. Можно выбрать файл, содержащий другой набор компонентов, если предложенный вас чем-нибудь не устраивает.
После запуска инсталлятор проверяет наличие в системе некоторых необходимых компонентов, в частности, WinSock2. Затем запрашивается путь к директории, в которую вы желаете установить пакет. По умолчанию предлагается C:\WebServers.
Особенностью пакета является то, что для имитации Unix-системы он создает отдельный виртуальный диск, используя утилиту substr. При этом вся реальная работа ведется с созданной ранее папкой C:\WebServers (или другой, избранной вами). Новый виртуальный диск потом можно будет подключать и отключать по мере надобности. В каталоге WebServers программой создается структура каталогов, подобная структуре, привычной для Unix, что несколько облегчает дальнейшую работу.

Далее инсталлятор предлагает выбрать из двух вариантов запуска комплекса. При первом виртуальный диск создается при загрузке Windows. Дальнейший старт веб-сервера осуществляется вручную. Это даст вам некоторые дополнительные возможности при работе с командной строкой и работе с установленными программами без запуска самого Apache. Второй подразумевает создание виртуального диска при непосредственном запуске сервера. В принципе, работают оба варианта, и вы можете выбирать любой по вкусу. Необходимо только помнить, что разработчик настоятельно рекомендует использовать первый вариант.
На этом процесс установки можно считать завершенным. Занимает эта процедура буквально несколько минут. Если все прошло нормально, то при запуске сервера с помощью созданного инсталлятором на Рабочем столе ярлыка должно открыться окно, похожее на рис.1. Можно попробовать перезапустить сервер, остановить его и снова запустить с помощью имеющихся ярлыков. Если при этом возникнут какие-либо проблемы, появятся соответствующие сообщения, позволяющие выявить и устранить неполадку.
Теперь можно переходить к тестированию. Для этого запускаем браузер и вводим в адресную строку "http://localhost/".
Это зарезервированный адрес, относящийся к нашему новоиспеченному серверу на локальной машине. Должна открыться страница, показанная на рис.2. Она помимо всего прочего содержит ссылки на тестовые скрипты различных типов.
Это позволяет протестировать работу CGI и Perl, взаимодействие с MySQL, а также получить подробную информацию об установленных пакетах. Обязательно проверьте их работу.
Документация по работе с "Денвером", к сожалению, не входит в только что установленный комплекс. Ее при желании необходимо загрузить отдельно. Находятся данные пакеты на уже упоминавшемся сайте "Денвера" по адресу http://web.dklab.ru/dis.
Какие же выводы можно сделать из сказанного выше? Стоит ли работать с этим пакетом? Мнения на этот счет могут быть разными. На мой взгляд, "Денвер" вполне достоин внимания, тем не менее, не заменяя полностью традиционный вариант установки Apache для Microsoft Windows. В этой ситуации напрашивается некоторая аналогия с авиацией.

Как известно, при подготовке пилотов боевых самолетов используются два органично дополняющих друг друга класса учебных машин. Это является гарантией получения хорошего результата.
Курсант вначале осваивает учебно-тренировочный самолет, основное назначение которого — помочь максимально быстро и безопасно освоить основы летного мастерства: взлететь, сделать "коробочку", приземлиться, научиться выполнять базовые фигуры высшего пилотажа. Пройдя этот этап, будущий высококлассный пилот уже вполне может летать самостоятельно.
Потом курсант пересаживается на учебно-боевой самолет. Хороший УБС — это не тот, который летает быстрее и выше конкурентов, а тот, чьи характеристики и поведение в воздухе максимально близко соответствуют повадкам и свойствам конкретного боевого самолета.
Не случайно в этом качестве используются специальные модификации состоящих на вооружении машин. На такой технике курсанты оттачивают пилотаж и тактику применения в различных условиях. Многие УБС могут использоваться и в реальных боевых действиях. После этого пилот уже смело может занимать место в кабине самого современного самолета.
"Денвер" — это, если позволите, первый случай. Его возможностей вполне достаточно для "быстрого старта" и знакомства с технологиями веб-разработки и даже реализации некоторых собственных проектов.
Для учебных целей это выбор, близкий к оптимальному, а урезанная функциональность в данном случае не является критичным параметром.

Алексей Кутовенко, alteridem@tut.by


Компьютерная газета. Статья была опубликована в номере 20 за 2003 год в рубрике soft :: интернет

©1997-2024 Компьютерная газета