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

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:| :) :wink: :D :lol: :( :cry: 8) :o :oops: :? :x :P :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen:
Ещё смайлики…

Markdown is OFF

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Корректный запуск Denwer на ОС Windows

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

UncleFather » 07 окт 2011 12:00, Пт

Казалось бы - что такого особенного в установке 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-хостинге НЕ РАБОТАЕТ!!!, см. ссылку.


Вернуться к началу