Настройка виртуального хоста в WAMP

Создание виртуальных хостов, это хороший способ расположения нескольких доменов на одном IP. Это позволяет нескольким сайтам пользоваться общими параметрами системы (оперативной памятью и т.д.); Такая технология часто используется компаниями, предоставляемые виртуальный хостинг.

Разработчики обычно помещают свои сайты в папки www или htdocs. Для того чтобы использовать абсолютные пути (ссылки) в своих web-приложениях некоторые разработчики меняют содержание файла httpd.conf, а именно настраивая путь текущего проекта как root (корневой). После этого их проект доступен по адресу http://localhost

Но это не очень хороший способ т.к. при новом проекте придётся снова менять путь и так далее.

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

В первую очередь давайте отредактируем файл hosts, который находится по адресу C:\Windows\system32\drivers\etc\hosts. Вставьте следующую строку в конец файла:

127.0.0.1 mydomain.home

Эта строка фактически сообщает системе использовать адрес 127.0.0.1 для домена mydomain.home. Сохраните и закройте файл.

Далее нам надо изменить файлы httpd.conf и httpd-vhosts.conf. Для изменения первого файла зайдите в корневой каталог вашего Apache. В моём случае это C:\wamp\bin\apache\apache2.2.11\conf. Откройте файл httpd.conf и найдите строчку

#Include conf/extra/httpd-vhosts.conf

Раскомментируйте её (убрав знак #). Сохраните файл и закройте его. Теперь откройте каталог extra. В моём случае это C:\wamp\bin\apache\apache2.2.11\conf\extra. Теперь откройте файл httpd-vhosts.conf и добавьте следующий код в конец:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/your-local-folder"
    ServerName mydomain.home
    <directory "c:/wamp/www/your-local-folder">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
    </directory>
</VirtualHost>

Для того чтобы использовать виртуальные хосты надо выполнить два условия. Первое настроить хост для localhost для того, чтобы не потерять возможность обращаться к сайтам http://localhost/site; Второе условие, сообщить Apache где ему искать документы для домена mydomain.home. Все остальные строки нужны для того, чтобы иметь возможность пользоваться файлом . htaccess

Перезапустите Apache.

Теперь вы можете обращаться к вашему рабочему проекту по адресу http://mydomain.home

Для того чтобы добавить ещё один виртуальный хост, вам необходимо проделать все перечисленные шаги.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.codeforest.net/multiple-virtual-hosts-in-wamp
Перевел: Станислав Протасевич
Урок создан: 27 Февраля 2011
Просмотров: 59063
Правила перепечатки


5 последних уроков рубрики "Разное"

или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете
  • 27 Февраля 2011 22:06
    KAPPA
    Дякую!
  • 27 Февраля 2011 22:25
    admiral
    такая ошибка: You don't have permission to access / on this server. как исправит?
  • 28 Февраля 2011 00:57
    ZektraPlay
    Влить в каталог index.php, index.htm/html или что там у тебя является корневым по конфигу
  • 28 Февраля 2011 19:25
    Bender_ASS
    А где бы найти еще инфы про то как организовать хостинг ?
  • 2 Марта 2011 12:33
    Дмитрий Афанасьев
    Нормально
  • 2 Марта 2011 12:36
    kwon afff
    Хорошая статья
  • 15 Марта 2011 23:10
    Аmadeo
    Подскажите как настроить apache под vista? Подключение к серверу mysql $db не работает. Только через link, Связанные между собой поля формы и include тоже не работают. Думаю что дело в совместимости.Или можно настроить apache?
  • 31 Марта 2011 19:48
    akutagava
    До кучи, сайт можно запускать и локально с флешки http://usbwebserver.ru/
  • 29 Июня 2011 13:37
    fountain
    В httpd-vhosts.conf вставляю в конец: <VirtualHost 127.0.0.1> ServerName localhost DocumentRoot "C:/wamp/www" </VirtualHost> <VirtualHost *:80> ServerName site1 DocumentRoot "C:/wamp/www/site1" </VirtualHost> <VirtualHost *:80> ServerName site2 DocumentRoot "C:/wamp/www/site2" </VirtualHost> Но отрабатывает только первый блок. То есть и по адресу http://localhost и http://site1 и http://site2 он переходит в папку, которая указана в первом блоке. ТО есть в C:/wamp/www Если поменяю местами блоки: <VirtualHost *:80> ServerName site1 DocumentRoot "C:/wamp/www/site1" </VirtualHost> <VirtualHost *:80> ServerName site2 DocumentRoot "C:/wamp/www/site2" </VirtualHost> <VirtualHost 127.0.0.1> ServerName localhost DocumentRoot "C:/wamp/www" </VirtualHost> переходит по всем этим адресам в папку "C:/wamp/www/site1" сответственно. Что это может быть? где что еще может быть прописано?
  • 30 Июня 2011 09:02
    fountain
    Нашла косяк:<VirtualHost 127.0.0.1>..</VirtualHost> тоже нужно было прописать *:80 чтобы во всех местах совпадало с NameVirtualHost *:80. И второй вариант тоже сработал: повесила каждый vhost на разные ip. hosts: 127.0.0.1 localhost 127.0.0.2 site1 127.0.0.3 site2, ну и в httpd-vhosts.conf соответственно разные ip указать <VirtualHost 127.0.0.1>
  • 12 Ноября 2011 11:47
    oledjiks
    Привет, требуется помощь=) у меня дома инет раздается через роутер по dhcp, подскажите как мне настроить wamp чтобы он был виден из инета?
  • 16 Февраля 2016 12:38
    VitaliyYanchuk
    Статья по теме добавления виртуальных хостов в Apache https://shneider-host.ru/blog/dobavlenie-virtualnyh-hostov-v-apache.html
^ Наверх ^