Страница 1 из 1

Denwer Как установить дополнительный сайт (виртуальный хост)

СообщениеДобавлено: 13 июл 2012 14:35, Пт
UncleFather
Проблема:

Необходимо установить дополнительный сайт на 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