Denwer

Материал из Викиреальностя
(перенаправлено с «Денвер»)
Перейти к: навигация, поиск

Содержание

[править] Назначение

Джентльменский Набор Web-разработчика («Д.н.w.р», читается «Денвер» — почти как название города) — самый известный проект Лаборатории dk (dklab.ru), набор дистрибутивов (Apache+SSL, PHP5 в виде модуля, MySQL5, phpMyAdmin и т. д.) и программная оболочка, используемые Web-разработчиками (программистами и дизайнерами) для отладки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет.

Денвер работает в ОС Windows 95/98/Me/NT/2000/XP/Vista.

Ключевая особенность Денвера — поддержка работы сразу с несколькими проектами, каждый из которых располагается на отдельном виртуальном хосте. Виртуальные хосты для проектов создаются автоматически: например, вам достаточно скопировать файлы проекта в /home/ИмяПроекта/www, и он тут же станет доступен по адресу http://ИмяПроекта (DOCUMENT_ROOT также будет корректным). Это особенно удобно в работе веб-студий, разрабатывающих параллельно несколько сайтов, а также «в связке» с системами контроля версий CVS или Subversion. Схема именования директорий может быть легко настроена персонально на ваш хостинг в шаблоне виртуальных хостов (см. комментарии в httpd.conf).

Все компоненты Денвера уже настроены и готовы для работы (в частности, корректно настроена русскоязычная кодировка MySQL, SSL и т. д.). Кроме того, вы можете обновлять любой из сервисов Денвера (Apache, PHP, MySQL и т. д.) вручную, просто копируя новые версии дистрибутивов поверх старых.

Денвер автономен: он может располагаться в любой директории на диске (или даже на флэш-накопителе). Он также не изменяет системных файлов Windows, так что может быть деинсталлирован путем простого удаления своей папки.

[править] Основные отличия комплекса от аналогов

  1. Модульность, расширяемость, компактность. Нет необходимости выкачивать многомегабайтные дистрибутивы отдельных компонентов. Базовая версия Денвера, включающая Apache+SSL+PHP5+MySQL5+phpMyAdmin, имеет размер всего около 5.4МБ и при этом полностью функциональна.
  2. Поддержка и автоматическое конфигурирование сразу нескольких проектов, каждый из которых представлен отдельным виртуальным хостом.
  3. Централизованная система запуска и остановки всех компонентов Денвера. Благодаря своей автономности, после остановки Денвер полностью «изчезает» из системы и может быть скопирован в другую директорию или даже удален.
  4. Эмулятор sendmail: возможность отладки скриптов, отправляющих почту. Все письма, созданные в PHP-скриптах, не отправляются наружу, а складываются в специальную директорию /tmp/!sendmail.
  5. Пакеты расширений. Для Денвера существует множество компонентов, которые можно инсталлировать позже (PostgreSQL, Python, FireBird, Parser, старые версии PHP4 и PHP4, MySQL4 и т. д.). Все они доступны для скачивания на официальном сайте Денвера и снабжены инсталлятором. Вы также можете устанавливать любые другие сервисы вручную, а также обновлять компоненты Денвера из официальных дистрибутивов без каких-либо проблем.
  6. Программы, входящие в состав комплекса, написаны различными разработчиками; их особенности иногда могут затруднить совместное функционирование. Возможны также принципиальные различия различных версий одной и той же программы, что зачастую затрудняет установку и настройку. Компоненты Денвера конфигурировались и тестировались для обеспечения полноценной работы в составе комплекса.

[править] Состав базового пакета Денвера

  1. Apache 2 с поддержкой SSL и mod_rewrite.
  2. PHP5: выполняемые файлы, модуль для веб-сервера Apache, дистрибутивный и адаптированный конфигурационный файл, библиотека GD, mодули поддержки MySQL и sqLite.
  3. MySQL5 с поддержкой InnoDB, транзакций и русских кодировок (windows-1251).
  4. phpMyAdmin — панель управления базой данных MySQL, а также скрипт, упрощающий добавление нового пользователя MySQL.
  5. Отладочный эмулятор sendmail (/usr/sbin/sendmail), не отправляющий письма, а записывающий их в директорию /tmp/!sendmail.
  6. Система автоматического поиска виртуальных хостов и обновления системного файла hosts, а также конфигурации Apache. Благодаря ей добавление нового виртуального хоста (или домена третьего уровня) заключается в простом создании каталога в /home (см. по аналогии с уже существующими хостами) и перезапуске комплекса. Все изменения вносятся в конфигурационные и системные файлы автоматически, но вы можете управлять этим процессом при помощи механизма шаблонов хостов (см. /usr/local/apache/conf/httpd.conf за детальными разъяснениями).

На официальном сайте Денвера доступны дополнения («пакеты расширения»), расширяющие возможности базового комплекта:

  • PHP версии 3 в виде CGI-программы;
  • PHP версии 4 в виде CGI-программы;
  • дополнитльные модули для Apache;
  • дополнительные модули для PHP;
  • полная версия ActivePerl;
  • интерпретатор ActivePython.
  • сервер MySQL версии 4;
  • модули поддержки технологии Parser;
  • СУБД PostgreSQL;
  • СУБД FireBird версий 2 и 1.3
  • другие популярные модули.

[править] Установка и настройка

Все дистрибутивы поставляются в виде самораспаковывающихся инсталляторов. После запуска программа установки задаст ряд вопросов о параметрах настройки Денвера.


[править] Запуск и остановка сервера

Управление запуском и остановкой всех компонентов Денвера осуществляется посредством файлов denwer\Run.exe и denwer\Stop.exe, находящиеся в директории комплекса.

  • старт сервера: файл denwer\Run.exe
  • остановка сервера: файл denwer\Stop.exe
  • остановка и отключение виртуального диска: файл denwer\SwitchOff.exe

После установки и первого запуска комплекса рекомендуем сразу же запустить браузер, набрав в нем следующий URL: "http://localhost». Вы должны попасть на тестовую страницу Денвера. Выбрав те или иные ссылки, вы можете протестировать каждый компонент Денвера отдельно.

Внимание: если при наборе этого адреса в браузере выскакивает сообщение об ошибке, проверьте, отключен ли у вас в настройках прокси-сервер. См. также FAQ по адресу http://faq.denwer.ru

[править] Структура каталогов

HTML-документы должны находиться в директориях /home/<имя_хоста>/www. По умолчанию сконфигурированы 3 виртуальных хостов:

Поддерживаются также виртуальные хосты с доменными именами третьего и выше уровней. Примеры того, как Apache ищет директории документов хостов в этом случае:

Доменное имя Директория документов
abcd.test1.ru /home/test1.ru/abcd
ab.cd.test1.ru /home/test1.ru/ab.cd
test.localhost /home/localhost/test
ab.cd.localhost /home/localhost/ab.cd

Директория /usr/local содержит программные компоненты — выполняемые и конфигурационные файлы Apache, PHP, MySQL. Авторы постарались сохранить это расположение приближенным к принятому в среде UNIX. Но имеются серьезные отличия — не все компоненты пакета распределены по соответствующим директориям. Полной аналогии с ОС UNIX в любом случае не добиться, но данное размещение выполняемых и конфигурационных файлов позволяет несколько легче ориентироваться в компонентах сервера.

[править] Ресурсы интернет

Домашняя страница, документация и статьи по Apache/PHP/Perl/MySQL

http://denwer.ru http://forum.dklab.ru/denwer/ http://faq.denwer.ru

Официальный сайт Apache http://www.apache.org/

Официальный сайт PHP http://www.php.net/

Официальный сайт MySQL http://www.mysql.com/

Официальный сайт phpMyAdmin http://phpmyadmin.sourceforge.net/

Perl для платформы Win32 — ActivePerl http://www.activestate.com/Products/ActivePerl/

Официальный сайт технологии Parser: http://www.parser.ru/

Список изменений: http://www.denwer.ru/changes.html

[править] В ролях

Дмитрий Котеров[1]:

  • инициатор проекта
  • программирование инсталлятора
  • программирование системы запуска/останова
  • поддержка пакетов расширений
  • система документации и дополнительные утилиты
  • перевод комментариев в php.ini и mime.types
  • модификация исходников сервера Apache

Maus[2]

  • исправление багов
  • новые версии компонентов

Антон Сущев[3]

  • скрипт поиска
  • тестирование новых версий

Игорь Светликов

  • модуль поддержки технологии Parser

[править] Примечания

[править] Ссылки

[править] См. также

Denwer относится к теме «Программное обеспечение»   ±