Про установку сервера и различных дополнений к нему написано несколько статей, одну из которых — свою — я не устаю приводить в ссылках: Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке. До недавнего времени установка всей «кухни» была делом довольно кропотливым. Теперь же инсталляцию и конфигурирование компонентов можно произвести автоматически, и поможет в этом Денвер.
Давайте посмотрим, что же включает в себя базовый (основной) пакет Денвера:
* Инсталлятор (поддерживается также инсталляция на flash-накопитель). * Apache, SSL, SSI, mod_rewrite, mod_php. * PHP5 с поддержкой GD, MySQL, sqLite. * MySQL5 с поддержкой транзакций. * Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home, править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить. * Система управления запуском и завершением всех компонентов Денвера. * phpMyAdmin — система управления MySQL через Web-интерфейс. * Эмулятор sendmail и SMTP-сервера (отладочная «заглушка» на localhost:25, складывающая приходящие письма в /tmp в формате .eml); поддерживается работа совместно с PHP, Perl, Parser и т.д.
Гербалайф, гербалайф...
Если вы когда-нибудь качали дистрибутивы по модему, наверное, вы задавались вопросом: каков абсолютный минимум размера дистрибутивов, чтобы с ними уже можно было работать. Давайте посчитаем:
Видно, что как раз эти компоненты и содержатся в базовом пакете Денвера, но занимает он... около 5.5 мегабайт! Вероятно, вы не поверите, что исходные дистрибутивы могут вот так взять и «похудеть» более чем в 7 раз без потери функциональности. За счет чего же удалось достичь таких результатов?
* Дистрибутивы были тщательным образом «прочесаны». Все компоненты, которые используются сравнительно редко, вынесены в отдельные пакеты расширений. Таким образом, 90% разработчиков смогут сразу же начать работать, а оставшимся 10% достаточно лишь докачать и установить при помощи инсталляторов дополнительные пакеты. * Обычно дистрибутивы снабжаются различными ненужными файлами, вроде истории изменений или инструкций по установке. Незачем говорить, что Денвер их не содержит. * Для упаковки архива используется один из самых мощных архиваторов — 7-Zip.
Пакеты расширений
Если вы — профессиональный разработчик, вам, наверное, потребуются дополнительные пакеты:
* полная версия ActivePerl 5.8; * PHP5 с полным набором модулей; * язык программирования Python; * СУБД PostgreSQL или InterBase/FireBird версий 1 и 2; * старый-добрый PHP версии 3 или 4; * или даже Parser студии Лебедева.
Все это вы можете скачать и установить, причем «грязную работу» возьмет на себя инсталлятор, входящий в пакет. Архитектура
Отличительной особенностью Денвера является его полная автономность. Она заключается в следующем.
* Денвер устанавливается в один-единственный каталог и вне его ничего не изменяет. Он не пишет файлы в Windows-директорию и не «гадит» в Реестре. При желании вы можете даже поставить себе сразу два Денвера, и они не будут конфликтовать. * Никакие «сервисы» NT/2000 не «прописываются». Если вы запустили Денвер, то он работает. Если завершили — то перестает работать, не оставляя после себя следов. * Системе не нужен деинсталлятор — достаточно просто удалить каталог. * Установив Денвер однажды, вы можете затем просто переписывать его на другие машины (на произвольный диск в произвольную директорию). Это не приведет ни к каким побочным эффектам. * Все конфигурирование и настройка под конкретную машину происходит автоматически.
Эти же правила распространяются и на пакеты расширений.
В целях упрощения работы компонентов комплекса и улучшения совместимости с реальным Unix-хостером при старте создается специальный виртуальный диск, присоединенный к основной директории. Виртуальный диск — это просто синоним для некоторой папки на реальном, или физическом, диске. Подключается он при помощи команды subst, о чем заботятся скрипты Денвера. Вы можете работать с виртуальным диском, как с обычным. При этом все операции в действительности будут производиться с указанной директорией. Механизм работы виртуальных дисков встроен в ОС и не ведет к каким-либо издержкам и замедлениям.
За счет применения виртуального диска Денвер «изнутри» похож на маленький Unix: у него есть своя директория /home, /usr, /tmp... Различные компоненты и серверы расположены так, как это принято в Unix. Например, в /home располагаются виртуальные хосты, а в /usr — программные компоненты. Такая архитектура в действительности не имеет ничего общего с системой Cygwin (хотя и похожа). Тем не менее, некоторые пакеты расширений Денвера могут использовать Cygwin для своих внутренних целей, но это всегда «прозрачно» для пользователя.
Вопреки распространенному мнению, Денвер не является чем-то статическим и неизменным. Никто не мешает вам устанавливать поверх него дополнительные программы и компоненты (например, сервер СУБД PostgreSQL). Они просто будут для него «как родные». Вы можете также задавать логику запуска и завершения дополнительных сервисов по аналогии с тем, как это сделано в базовом пакете. Так что, если вам нужна какая-то система, которой нет в пакетах расширений, смело ставьте и конфигурируйте ее вручную.