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, так что может быть деинсталлирован путем простого удаления своей папки.
[править] Основные отличия комплекса от аналогов
- Модульность, расширяемость, компактность. Нет необходимости выкачивать многомегабайтные дистрибутивы отдельных компонентов. Базовая версия Денвера, включающая Apache+SSL+PHP5+MySQL5+phpMyAdmin, имеет размер всего около 5.4МБ и при этом полностью функциональна.
- Поддержка и автоматическое конфигурирование сразу нескольких проектов, каждый из которых представлен отдельным виртуальным хостом.
- Централизованная система запуска и остановки всех компонентов Денвера. Благодаря своей автономности, после остановки Денвер полностью «изчезает» из системы и может быть скопирован в другую директорию или даже удален.
- Эмулятор sendmail: возможность отладки скриптов, отправляющих почту. Все письма, созданные в PHP-скриптах, не отправляются наружу, а складываются в специальную директорию /tmp/!sendmail.
- Пакеты расширений. Для Денвера существует множество компонентов, которые можно инсталлировать позже (PostgreSQL, Python, FireBird, Parser, старые версии PHP4 и PHP4, MySQL4 и т. д.). Все они доступны для скачивания на официальном сайте Денвера и снабжены инсталлятором. Вы также можете устанавливать любые другие сервисы вручную, а также обновлять компоненты Денвера из официальных дистрибутивов без каких-либо проблем.
- Программы, входящие в состав комплекса, написаны различными разработчиками; их особенности иногда могут затруднить совместное функционирование. Возможны также принципиальные различия различных версий одной и той же программы, что зачастую затрудняет установку и настройку. Компоненты Денвера конфигурировались и тестировались для обеспечения полноценной работы в составе комплекса.
[править] Состав базового пакета Денвера
- Apache 2 с поддержкой SSL и mod_rewrite.
- PHP5: выполняемые файлы, модуль для веб-сервера Apache, дистрибутивный и адаптированный конфигурационный файл, библиотека GD, mодули поддержки MySQL и sqLite.
- MySQL5 с поддержкой InnoDB, транзакций и русских кодировок (windows-1251).
- phpMyAdmin — панель управления базой данных MySQL, а также скрипт, упрощающий добавление нового пользователя MySQL.
- Отладочный эмулятор sendmail (/usr/sbin/sendmail), не отправляющий письма, а записывающий их в директорию /tmp/!sendmail.
- Система автоматического поиска виртуальных хостов и обновления системного файла 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 виртуальных хостов:
- http://localhost (содержит скрипты тестирования и различные утилиты);
- http://test1.ru;
- http://custom-host:8648 (хост, имеющий свой собственный IP-адрес и порт);
Поддерживаются также виртуальные хосты с доменными именами третьего и выше уровней. Примеры того, как 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
[править] В ролях
- инициатор проекта
- программирование инсталлятора
- программирование системы запуска/останова
- поддержка пакетов расширений
- система документации и дополнительные утилиты
- перевод комментариев в php.ini и mime.types
- модификация исходников сервера Apache
Maus[2]
- исправление багов
- новые версии компонентов
Антон Сущев[3]
- скрипт поиска
- тестирование новых версий
Игорь Светликов
- модуль поддержки технологии Parser
[править] Примечания
[править] Ссылки
- Домашняя страница: http://denwer.ru
- Контакты: http://forum.dklab.ru/denwer
[править] См. также
Denwer относится к теме «Программное обеспечение» |