Корректный запуск Denwer на ОС Windows

Microsoft Internet Security and Acceleration (ISA) Server
Microsoft Internet Information Services
Kerio Connect
Kerio Mail Server
Kerio Firewall
UserGate
DHCP, DNS, SMTP, POP, WWW, FTP


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1503
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Корректный запуск Denwer на ОС Windows

Сообщение UncleFather »

Казалось бы - что такого особенного в установке Denwer. Запустил setup - и все работает.
И действительно, все бы было хорошо, если б мы могли выполнить установку Denwer от имени обычного пользователя. Но, как правило, мы работаем под учеткой администратора либо локального компьютера, либо даже администратора домена.
Соответственно, и Denwer будет запускаться под учетной записью администратора, что крайне нехорошо для обеспечения должной безопасности web-сайта да и всей системы Windows. Так, например, любой, запустивший скрипт под Denwer получит доступ ко всем настройкам и файлам компьютера.
Поэтому, чтобы обеспечить безопасную работу Denwer на ОС Windows, необходимо настроить запуск этого сервиса в автоматическом режиме от имени обычного пользователя.

  1. Прежде всего, необходимо настроить автоматическое монтирование диска, который использует Denwer. Для этого:

    • Убираем из автозагрузки ярлык "Create virtual drive for Denwer", указывающий на файл ...\denwer\Boot.exe

    • Согласно последнему методу Чтобы диск подключался на ранней стадии загрузки Windows из статьи, настраиваем подключение диска Денвера на ранней стадии загрузки.

  2. Создаем на компьютере локальную учетную запись с правами локального пользователя.

  3. В групповых политиках даем этой учетной записи права на "Вход в качестве пакетного задания"

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

    • C:\MyWeb\usr\local\apache\bin\

    • C:\MyWeb\usr\local\apache\conf\vhosts.conf

    • C:\MyWeb\usr\local\apache\logs\

    • C:\MyWeb\tmp\

    • C:\MyWeb\denwer\scripts\lib\

    • %SystemRoot%\system32\cmd.exe

    • %SystemRoot%\system32\Drivers\etc\hosts

  5. Устанавливаем права на запись и изменение для этой учетной записи на папки своего сайта, в которые необходимо записывать какие-либо данные, например C:\MyWeb\home\localhost\MySite\Files\Downloads

  6. От имени этой же учетной записи создаем запланированное (назначенное) задание запускающее Denwer при запуске компьютера. То есть в параметрах задания, в поле "Запускать от имени", указываем именно нашу новую учетную запись). В поле "Выполнить" указываем исполняемый файл запуска Denwer: "C:\MyWeb\denwer\Run.exe", "рабочая папка" - "C:\MyWeb\denwer\"

    1.JPG

    "Назначить задание" - "При включении компьютера"

    2.JPG

Перезагружаемся. Статус нашего нового назначенного задания "Работает" будет висеть не долго - всего несколько секунд - пока активно окно запуска Denwer. Далее - в активных процессах можно будет увидеть два процесса "httpd.exe" запущенных от имени пользователя, созданного в пункте 2. Это означает, что наш сайт работает, и работает от имени обычного пользователя.

Если же процессов "httpd.exe" не появилось среди активных процессов, то нужно смотреть файл ошибок Denwer: C:\MyWeb\tmp\control_error_log.txt

Виртуальный каталог в Denwer.

Сколько ни искал - не нашел возможности создания виртуального каталога в Denwer.
Что такое виртуальный каталог (папка) - это папка, находящаяся на web или ftp сервере, но ссылающаяся на другое место, либо на другой ресурс в сети. То есть для пользователей сайта эта папка находится на web сервере, а реальное же ее местоположение знает только администратор.

Единственным решением для создания чего-то подобного в связке Denwer + Windows, является создание символьной ссылки (junction point) NTFS. Подробности здесь.
Пример:
Для создания "виртуального каталога" VirtFolder в папке своего сайта C:\MyWeb\home\localhost\MySite\Files\, ссылающегося на D:\Users\Folders\Home\Docs\, необходимо выполнить команду:

Код: Выделить всё

linkd C:\MyWeb\home\localhost\MySite\Files\VirtFolder D:\Users\Folders\Home\Docs

Папка VirtFolder (а точнее - символьная ссылка на папку) создастся сама и будет сохраняться после перезагрузок.

PS: Chmod на Windows-хостинге НЕ РАБОТАЕТ!!!, см. ссылку.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение