Инструменты пользователя

Инструменты сайта

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Оставить на чай
  • Экспорт в PDF
  • Наверх

  • software:denwer:denwer

    Denwer

     Денвер - локальный сервер. Скачать Денвер, установить WAMP сервер для localhost (PHP 5.3.13, MySQL 5.1, PostgreSQL 8.4 etc.) Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, локальный сервер (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.

    Возможности проекта

    Про установку сервера и различных дополнений к нему написано несколько статей, одну из которых — свою — я не устаю приводить в ссылках: 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 и т.д.

    Гербалайф, гербалайф...

    Если вы когда-нибудь качали дистрибутивы по модему, наверное, вы задавались вопросом: каков абсолютный минимум размера дистрибутивов, чтобы с ними уже можно было работать. Давайте посчитаем:

    Apache: 4.7 MB; PHP5: 9.7 MB; MySQL5: 23 MB; phpMyAdmin: 2 МБ. Итого: 40 MB Видно, что как раз эти компоненты и содержатся в базовом пакете Денвера, но занимает он… около 8.2 мегабайт! Вероятно, вы не поверите, что исходные дистрибутивы могут вот так взять и «похудеть» более чем в 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). Они просто будут для него «как родные». Вы можете также задавать логику запуска и завершения дополнительных сервисов по аналогии с тем, как это сделано в базовом пакете. Так что, если вам нужна какая-то система, которой нет в пакетах расширений, смело ставьте и конфигурируйте ее вручную.

    Итак, если вы решили установить Денвер, ознакомьтесь со статьей Устанавливаем Денвер. Там же вы найдете и ссылки на необходимые дистрибутивы. Удачной работы!..

    Зачем вообще нужен локальный сервер?

    В последнее десятилетие во всем мире наблюдается настоящий бум среди Web-разработчиков (по преимуществу это программисты). Они устанавливают у себя на Windows-машине сервер Apache с различными дополнениями к нему: PHP, Perl, MySQL и т.д. — преимущественно в целях более удобной отладки сайтов.

    Многие (преимущественно дизайнеры) могут спросить: зачем вообще нужен локальный Web-сервер, когда страницы можно открывать и так — прямо с диска? Если это обычные (статические) HTML-страницы, то да, сервер не нужен. Однако даже для такой мелочи, как SSI (Server-side Includes — директивы в страницах, позволяющие вставлять на нужное место содержимое других файлов), уже необходим сервер. Не говоря уж о скриптах — они без сервера просто не запустятся.

    Обычно все эти проблемы решают при помощи FTP-клиентов: закачивают исправленные страницы и скрипты на «настоящий» сервер в Интернете, смотрят, что получилось, затем лезут в редактор, исправляют, снова закачивают и т.д. до бесконечности. Главный недостаток такого подхода очевиден: необходимо все время быть подключенным к Интернету. Также очень желательно иметь хорошую связь, потому что в противном случае работа будет продвигаться крайне медленно.

    Мне относительно регулярно приходят письма со следующим — обычно завуалированным — вопросом: чем отличается «просмотр страниц, открывая файл в браузере» от «просмотра с использованием сервера». В первом случае вы выбираете в меню что-то вроде Файл — Открыть — Обзор и выбираете нужный файл на диске. Браузер показывает его без всякой обработки, и путь в его адресной строке выглядит примерно вот так:

    Если же вы открываете страницу «через сервер», происходит совершенно иное. Вообще, вы должны привыкнуть к мысли, что ваш «локальный» сервер ничем не хуже любого другого, расположенного в Интернете. А значит, он тоже содержит сайты (один или несколько), у каждого из которых есть определенное имя. Доступ к этим сайтам осуществляется, как обычно: вы указываете в адресной строке URL — обычно имя сайта и путь к документу на нем:

    Уже при сравнении этих двух картинок можно видеть, что при открытии страницы «через браузер» пользователь в общем случае видит совсем не то же самое, что при открытии файла (сравните хотя бы заголовки окон).

    Кстати, на последней картинке имя сайта — dklab. Конечно, такое имя выглядит несколько странно — у него нет суффикса .ru, что делает его недоступным для всех остальных пользователей Сети. Однако на локальной машине сайт открывается замечательно, к тому же, я никогда не спутаю dklab.ru (сайт в Интернете) с dklab (сайт на локальной машине).

    Кто и зачем это делал

    Все началось с того, что однажды вечером я получил очередную пачку писем от пользователей статьи Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке (хорошо еще, что электронных). Вопросы, в основном, были однотипными и либо не решались вовсе, либо решались в течение одной минуты, что было связано с банальными ошибками в httpd.conf (забыли убрать комментарий, или, наоборот, что-то куда-то вставить, и т.д.)

    В этот самый момент мне и подумалось: пожалуй, 3110 писем с прошлогоднего весеннего краха TheBat в папке, посвященной Apache, — это, мягко говоря, чересчур. Нужно было что-то срочно предпринять. Вот так и появилась идея создания «Джентльменского набора Web-разработчика».

    Насчет людей, участвующих в проекте, можно сказать много хорошего. Итак, в ролях:

    Дмитрий Котеров Автор проекта «Денвер». Антон Сущев (Ant) Ведущий разработчик функционала Денвера. Модерация форума. Михаил Ливач (Maus) Поддержка пользователей. Помощь в разработке Денвера. И, конечно, все это работает лишь потому, что разработчики Apache, PHP, Perl, MySQL, phpMyAdmin и т.д. трудились и трудятся в поте своего лица (и не только), создавая программы и серверы, пользующиеся теперь такой популярностью. Спасибо вам!

    Устанавливаем Денвер

    Итак, вы решили установить Денвер. Он имеет нечто вроде ядра, или «сердца» — так называемый «базовый пакет», занимающий около 5.5 MB. Все остальное поставляется в виде пакетов расширений, о которых речь пойдет в других статьях (см. Содержание). Базовый пакет содержит большинство необходимых программ и утилит:

    • Инсталлятор (поддерживается также инсталляция на 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 и т.д.

    Подготовка к работе с сетью

    Чтобы сразу расставить все точки над «ё», давайте убедимся, что ваш компьютер действительно настроен для работы с сетью. Обычно именно так и бывает по умолчанию, но все же…

    Многие ассоциируют слово «сеть» с Интернетом, локальной сетью или хотя бы модемом. И совершенно напрасно. Фраза «настроим сеть» может иметь смысл даже в том случае, когда ни одного из перечисленных устройств у компьютера нет! Здесь имеется в виду лишь установка драйверов и сетевых протоколов, которые позволят Apache запуститься и работать на локальной машине. Итак, самый простой тест: откройте Пуск — Выполнить и введите там команду:

    После нажатия Enter вы должны увидеть примерно следующую картину:

    Удачный ping: все в порядке

    Процесс продолжается несколько секунд. Если вы это видите, то все в порядке, и вы можете приступать к инсталляции дистрибутива. Если же, например, окно лишь «мигнет» (откроется и тут же закроется), либо же будут выведены какие-нибудь нелицеприятные сообщения, значит, сетевые протоколы у вас не установлены, а потому читайте дальше.

    Вы, наверное, уже поняли, что ваша задача сейчас — добиться, чтобы адрес 127.0.0.1 «пинговался». В случае проблем:

    • Пользователям Windows 98/ME необходимо зайти в Панель управления — Установка и удаление программ — Установка Windows и добавить там Удаленный доступ к сети. При этом автоматически установятся и все нужные протоколы.
    • Пользователям Windows 2000, XP, 2003, Vista, Windows 7 и т.д. — проверить, что команде ping не мешает установленный вручную антивирус или фаервол. Попробуйте отключить эти программы: если помогает, то нужно разбиратся с их настройками.

    Установка дистрибутива

    Запустите скачанный инсталлятор Денвера. Вы увидите перед собой нечто вроде следующего:

    Окно инсталлятора

    Вас спросят о том, в какой каталог вы хотели бы установить комплекс (по умолчанию используется C:\WebServers, вам нужно лишь нажать Enter, чтобы согласиться с этим выбором). В указанном каталоге будут расположены абсолютно все компоненты системы, и вне его никакие файлы в дальнейшем не создаются (исключая ярлыки на Рабочем столе).

    Настоятельно рекомендуем вам устанавливать комплекс в каталог первого уровня — то есть, C:\WebServers, а не, например, C:\My\WebServers. Дело в том, что инсталляторы пакетов расширений ищут базовый комплект именно на первом уровне по всем дискам. И, если не находят, заставляют вас ввести имя директории вручную. Наверное, вам не нужны лишние проволочки при установке расширений?.. Далее вам предложат ввести имя виртуального диска, который будет связан с только что указанной директорией. Рекомендуем вам согласиться со значением по умолчанию (Z:). Важно, что диска с этим именем еще не должно содержаться в системе — чаще всего так и происходит с диском Z:.

    После этого начнется копирование файлов дистрибутива, а под конец вам будет задан вопрос, как именно вы собираетесь запускать и останавливать комплекс. У вас есть две альтернативы:

    1. Создавать виртуальный диск при загрузке машины (естественно, инсталлятор позаботится, чтобы это происходило автоматически), а при остановке серверов его (диск) не отключать. На мой взгляд, это наиболее удобный режим, и я сам пользуюсь только им.
    2. Создавать виртуальный диск только по явной команде старта комплекса (при щелчке по ярлыку запуска на Рабочем столе). И, соответственно, отключать диск от системы — при остановке серверов. В некоторых версиях Windows 98 имеется ошибка, в результате которой диск с первого раза не отключается — мои эксперименты и исследования показали, что это именно ошибка в subst, а не что-то иное.

    Собственно, вот и все. Вы сможете выполнить установку комплекса, имея всего 2 клавиши на клавиатуре: Enter и Y (чтобы ввести Yes).

    Первый запуск Денвера

    Наконец, установка завершена. Сразу же щелкайте по созданному инсталлятором ярлыку Start Denwer на Рабочем столе, а затем, дождавшись, когда все консольные окна исчезнут, открывайте браузер и набирайте в нем адрес: http://localhost/denwer/. Выходить из Интернета при этом не обязательно.

    Запустите комплекс и введите такой адрес в браузере

    Некоторые ОС имеют обыкновение при первом запуске Internet Explorer-а вызывать Мастер подключения. Если это произошло на вашей машине, прикажите горе-мастеру «отвалить» — якобы, вы уже настроили подключение самостоятельно.

    Если тестовая страница все же не загрузится, проверьте:

    • Отключен ли у вас прокси-сервер в настройках браузера? Подробнее здесь.
    • Запущен ли Денвер? Если да, нет ли ошибок при щелчке на пиктограмме пера (справа внизу)?
    • Не запущен ли у вас какой-то другой Web-сервер, который мешает Денверу (часто бывает в Windows XP)? Например, Microsoft IIS? Если да, отключите его.

    Наконец, если ничего не помогает, загляните в список часто задаваемых вопросов, а затем, если проблема не решится, отправьте детальное описание ошибки в форум.

    Денвер прошел тестирование в следующих ОС:

    • Windows 95/98/ME;
    • Windows NT/2000/XP/2003;
    • Windows Vista, Windows 7.

    Работа с виртуальными хостами

    Вниманию пользователей Windows NT, 2000 или XP (и старше). Прежде, чем продолжить, убедитесь, что у вас запущена служба «DNS-клиент». Это можно сделать, открыв Панель управления — Администрирование — Службы. В противном случае виртуальные хосты работать не будут.

    Если вы занимаетесь разработкой Web-сайтов, вам наверняка хотелось бы обслуживать одним сервером сразу несколько хостов. Иными словами, введя в браузере путь http://localhost, вы попадете на один сайт, а, напечатав http://test1.ru, — совсем на другой (но тоже на локальной машине).

    Добавить новый виртуальный хост в Денвере чрезвычайно просто. Пусть это будет test1.ru. Вам нужно проделать следующее:

    • Создать в папке /home директорию с именем, совпадающим с именем виртуального хоста (в нашем случае test1.ru). Да-да, вы правильно поняли: имя директории содержит точку. Эта директория будет хранить директории документов доменов третьего уровня для test1.ru. Непонятно?.. Например, имя abc.test1.ru связывается сервером с директорией /home/test1.ru/abc/, а имя abc.def.test1.ru — с /home/test1.ru/abc.def/. Ну и, конечно, поддиректория www соответствует адресам www.test1.ru и просто test1.ru. В общем, дешево и сердито. На рисунке показано, как может выглядеть директория /home. Не забудьте создать папку www в директории виртуального хоста, ведь именно в ней будут храниться его страницы и скрипты!
    • Перезапустить сервер, воспользовавшись, например, ярлыком Restart Denwer на Рабочем столе.

    Это все, что нужно сделать. А где же, вы спросите, модификация httpd.conf и файла hosts?.. Ее просто нет. Файл httpd.conf вообще не меняется никогда. Чуть посложнее с файлом hosts: он модифицируется автоматически, подстраиваясь под текущую конфигурацию каталогов в /home. При этом используется весьма интеллектуальный алгоритм для распознавания, какие хосты были внесены Денвером, а какие пользователь добавил самостоятельно, вручную (если он, конечно, захочет это сделать). То есть, автоматическое изменение файла hosts еще не означает, что в нем пропадут все комментарии и вы не сможете больше никогда редактировать его «руками». И, конечно, при остановке комплекса по ярлыку Stop Denwer файл hosts восстанавливается в то состояние, которое и должно быть.

    Я не говорю «в предыдущее», потому что это, вообще говоря, не так. Представьте, что комплекс запущен и пользователь открыл hosts в Блокноте и добавил в него какой-нибудь хост. Например, он назначил домену microsoft.ru тот же IP-адрес, что имеет porno.com. После останова серверов этот адрес не удалится, а будет сохранен в исходном виде, в то время как все виртуальные хосты «отключатся». Действует принцип: «вычищай только то, что нагадил сам».

    Воюем с Контроллером удаленного доступа

    Как только вы начнете создавать виртуальные хосты, Контроллер удаленного доступа на некоторых системах может сойти с ума. Он будет при первом открытии хоста предлагать вам альтернативу наподобие следующей:

    Он не хочет работать

    или даже вот так:

    Он совсем не хочет работать

    Слава богу, это происходит не каждый раз. Видите, как он извивается, чтобы только не дать человеку поработать?.. Так вот, в этом случае вы должны быть тверды: всегда выбирайте Подключиться или Повторить.

    Ни в коем случае не давайте ему ответ Автономно, слышите?..

    Но если ваш Контроллер удаленного доступа закусил удила и на ответ Подключиться начинает яростно набирать номер на модеме, идите в Сервис — Свойства обозревателя — Подключение и в разделе Настройка удаленного доступа поставьте флажок Не использовать (или Never Dial a connection).

    Это рекомендации для пользователей Windows 2000. На всех остальных системах пункты меню и кнопки могут называться немного по-другому, но смысл остается тот же.

    Воюем с прокси-сервером

    Многие версии Windows поставляются со включенным по умолчанию прокси-сервером. Это может вызвать кое-какие проблемы при работе с Денвером (впрочем, легко разрешимые).

    • Если после запуска Денвера страница http://localhost не работает, вероятнее всего, вам нужно отключить прокси-сервер в настройках браузера. Для «простых» хостов (вроде localhost, test, dklab и т.д.) обычно достаточно флажка «Не использовать прокси-сервер для локальных адресов» на вкладке Свойства обозревателя — Подключение — Настройка сети — Дополнительно.
    • Если localhost работает, а test1.ru (и вообще хосты, имя которых состоит из нескольких частей) — нет, то, вероятно, ваш браузер не может распознать последний хост как локальный. Такое, увы, бывает. Вам необходимо либо полностью отключить прокси-сервер, либо же перечислить хосты в списке Подключение — Настройка сети — Дополнительно — Исключения.

    Решение проблем

    Прежде, чем кидаться задавать вопрос в форум, проверьте: возможно, ответ уже есть в списке часто задаваемых вопросов по Денверу. С вероятностью 85% так и окажется: ведь вы не первый, кто использует проект.

    Если же в FAQ ответа на ваш вопрос нет, задайте его в форуме.

    Но прежде, чтобы не попасть впросак и не потерять время на бесплодные препирательства с модераторами, прочитайте и усвойте материал статьи Как правильно задавать вопросы. Можете быть уверены: знания, почерпнутые оттуда, еще не раз пригодятся вам в жизни.

    Файлы для загрузки

    Ссылки и Дополнения

    Обсуждение

    Ваш комментарий:

    Внимание! Оставляя комментарий Вы соглашаетесь с пониманием и несете ответственность за свои действия гл.2 ст.18 Федерального закона №38-ФЗ «О рекламе» и ст.3 п.1 Федерального закона №152-ФЗ «О персональных данных»
    70 +13 = 
     
    software/denwer/denwer.txt · Последнее изменение: 2024/02/27 19:28 — vladpolskiy