UncleFather » 13 июл 2012 13:35, Пт
Проблема:
Необходимо установить дополнительный сайт на 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>
Если в начале строк стоит двойная решетка (##), - значит эти строки закомментированы.
-
Копируем эти строки и вставляем скопированное ниже.
-
Правим скопированные строки:
Код: Выделить всё
#NameVirtualHost $&{ip:-newsite.ru}:$&{port:-81}
Код: Выделить всё
#<VirtualHost $&{ip:-newsite.ru}:$&{port:-81}>
Здесь параметры "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
[size=150][b]Проблема:[/b][/size]
Необходимо установить дополнительный сайт на Denwer который крутится на сервере Windows 2003.
[size=150][b]Решение:[/b][/size]
[list]
[*] Создаем новую папку для сайта в папке Denwer [i][b]home\localhost\[/b][/i] (например [i][b]home\localhost\newsite[/b][/i]) и, если есть, заливаем туда свой сайт.
[*] Устанавливаем корректные права на папку [i][b]home\localhost\newsite[/b][/i]).
[*] Открываем файл настроек [i][b]httpd.conf[/b][/i] из папки Denwer [i][b]usr\local\apache\conf\[/b][/i]
[*] Прописываем новый Alias для сайта под старыми:
Старая запись:
[code]
Alias /site/ /home/localhost/site/
<Location /site>
Allow from all
</Location>
[/code]
Добавляем новую:
[code]
Alias /newsite/ /home/localhost/newsite/
<Location /newsite>
Allow from all
</Location>[/code]
Получаем:
[code]
Alias /site /home/localhost/site/
<Location /site>
Allow from all
</Location>
Alias /newsite/ /home/localhost/newsite/
<Location /newsite>
Allow from all
</Location>[/code]
[*] Находим запись [quote]## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА.
##
## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80,
## измените номер порта в следующей далее директиве.[/quote]
[*] Под ними прописаны настройки для текущего рабочего сайта, например:
[code]
#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>[/code]
Если в начале строк стоит двойная решетка ([i][b]##[/b][/i]), - значит эти строки закомментированы.
[*] Копируем эти строки и вставляем скопированное ниже.
[*] Правим скопированные строки:
[code]#Listen $&{ip:-newsite.ru}:$&{port:-81}[/code]
[code]#NameVirtualHost $&{ip:-newsite.ru}:$&{port:-81}[/code]
[code]#<VirtualHost $&{ip:-newsite.ru}:$&{port:-81}>[/code]
[code]# DocumentRoot "/home/localhost/newsite/" [/code]
Здесь параметры [i][b]"ip"[/b][/i] и [i][b]"port"[/b][/i] - ip адрес и порт, которые будет прослушивать сервер. В качестве адреса можно указывать имя хоста (предварительно проверив, что оно сопоставляется правильному адресу).
[*] В итоге получаем в файле [i][b]httpd.conf[/b][/i]:
[code]
...
##
## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА.
##
## Если вы хотите по умолчанию запускать 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>
...[/code]
[*] Сохраняем файл
[*] Перезапускаем Denwer[/list]