Проблема:
Необходимо установить дополнительный сайт на Denwer который крутится на сервере Windows 2003.
Решение:
-
Создаем новую папку для сайта в папке Denwer home\localhost\ (например home\localhost\newsite) и, если есть, заливаем туда свой сайт.
-
Устанавливаем корректные права на папку home\localhost\newsite).
-
Открываем файл настроек httpd.conf из папки Denwer usr\local\apache\conf\
-
Прописываем новый Alias для сайта под старыми:
Старая запись:Код: Выделить всё
Alias /site/ /home/localhost/site/ <Location /site> Allow from all </Location>
Добавляем новую:
Код: Выделить всё
Alias /newsite/ /home/localhost/newsite/ <Location /newsite> Allow from all </Location>
Получаем:
Код: Выделить всё
Alias /site /home/localhost/site/ <Location /site> Allow from all </Location> Alias /newsite/ /home/localhost/newsite/ <Location /newsite> Allow from all </Location>
-
Находим запись
## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА.
##
## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80,
## измените номер порта в следующей далее директиве. -
Под ними прописаны настройки для текущего рабочего сайта, например:
Код: Выделить всё
#Listen $&{ip:-site.ru}:$&{port:-81} #NameVirtualHost $&{ip:-site.ru}:$&{port:-81} #<VirtualHost $&{ip:-site.ru}:$&{port:-81}> # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "/home/localhost/site/" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" #</VirtualHost>
Если в начале строк стоит двойная решетка (##), - значит эти строки закомментированы.
-
Копируем эти строки и вставляем скопированное ниже.
-
Правим скопированные строки:
Код: Выделить всё
#Listen $&{ip:-newsite.ru}:$&{port:-81}
Код: Выделить всё
#NameVirtualHost $&{ip:-newsite.ru}:$&{port:-81}
Код: Выделить всё
#<VirtualHost $&{ip:-newsite.ru}:$&{port:-81}>
Код: Выделить всё
# DocumentRoot "/home/localhost/newsite/"
Здесь параметры "ip" и "port" - ip адрес и порт, которые будет прослушивать сервер. В качестве адреса можно указывать имя хоста (предварительно проверив, что оно сопоставляется правильному адресу).
-
В итоге получаем в файле httpd.conf:
Код: Выделить всё
... ## ## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА. ## ## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80, ## измените номер порта в следующей далее директиве. ## ##Listen $&{ip:-site.ru}:$&{port:-81} ##NameVirtualHost $&{ip:-site.ru}:$&{port:-81} ##<VirtualHost $&{ip:-site.ru}:$&{port:-81}> ## DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" ## DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" ## DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" ## DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" ## DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" ## DocumentRoot "/home/localhost/site/" ## ServerName "%&/-www" ## ServerAlias "%&/-www" "%&/-www/www" $&{host:-} ## ## $&{directives:-} ## ## ScriptAlias /cgi/ "$^1/cgi/" ## ScriptAlias /cgi-bin/ "$^1/cgi-bin/" ##</VirtualHost> #Listen $&{ip:-newsite.ru}:$&{port:-81} #NameVirtualHost $&{ip:-newsite.ru}:$&{port:-81} #<VirtualHost $&{ip:-newsite.ru}:$&{port:-81}> # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "/home/localhost/newsite/" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" #</VirtualHost> ...
-
Сохраняем файл
-
Перезапускаем Denwer