

Для разработки страниц сайта написанных с использованием современных серверных технологий необходим тестовый сервер установленный на ваш компьютер.
Apache, MySQL, and PHP Weekend Crash Course.
Автор этой книги гарантирует всем желающим, что изучение HTTP сервера Апаче, MySQL, и PHP займет не более недели! Через несколько дней вы можете, хвастаться тем, что уже всё знаете об Web-сервере Apache, базах данных MySQL и скриптах PHP. Даже если вы никогда раньше не слышали о трёх этих технологиях, через пару дней вы сможите совместно использовать Apache, MySQL и PHP благодаря разработанному и изложенному автором интенсивному курсу обучения из 30 быстрых сессий, Вы будете в состоянии настроить Web-сервер Apache на любой платформе: Windows® или Linux®, вместе со всеми тремя интегрированными технологиями.
Steven M. Schafer.
Книги. Компьютеры и интернет. Интернет и локальные сети.
Возможна установка Apache 2.2.16 на следующих операционных системах: Windows NT 4.0
Microsoft Windows Server 2000
Microsoft Windows XP Professional
Microsoft Windows Server 2003
Microsoft Windows Server 2007
Microsoft Windows Server 2008
Microsoft Windows Vista.
На 32 и 64-разрядных версиях
Концепция виртуальных хостов позволяет создавать, конфигурировать и обслуживать на одном (физическом) веб-сервере Apache множество сайтов. Виртуальный хост может быть «привязанным к IP-адресу», - используется отдельный IP-адрес для каждого сайта или «привязанным к имени» - один IP-адрес для нескольких сайтов с различными именами.
Существует два способа конфигурирования Apache 2.2 для поддержки некоторого числа виртуальных хостов:
Возможен и смешанный вариант конфигурирования.
Все версии, начиная с Apache 1.1., наряду с традиционным основанном на IP адресе, методом поддерживают и метод на основе имени виртуальных хостов. Последний вариант виртуальных хостов называют хост-привязанными или не-IP виртуальными хостами.
Преимущества, от использования поддержки виртуальных хостов на основе имени
NameVirtualHost 127.0.0.8:80 - привязывает виртуальные хосты (в приведенном ниже примере) к именам сайтов указанных в секциях:
<VirtualHost 127.0.0.8:80>
ServerName www.dummy-host.httpserver.ru
......
и
<VirtualHost 127.0.0.8:80>
ServerName www.dummy-host2.httpserver.ru
......
При получении запроса сервер проверяет, соответствует ли входящий адрес и порт, описанным в секциях VirtualHost 127.0.0.8:80 и имеется ли запись - 127.0.0.8:80 в директиве NameVirtualHost. Если соответствует, то он перебирает секции VirtualHost, в заголовках которых указан входящий адрес. Запросы на адрес 127.0.0.8 и 80-й порт будут распределяться только между вышеуказанными виртуальными хостами.
# Сайт - www.name.ru - размещен в каталоге - C:/www/htdocs/name.ru/www
<VirtualHost 127.0.0.6:80>
ServerAdmin webmaster@name.ru
DocumentRoot
/www/htdocs/name.ru/www
ServerName www.name.ru
ErrorLog c:/www/htdocs/name.ru/logs/name.ru-error.log
CustomLog c:/www/htdocs/name.ru/logs/name.ru-access.log common
<IfModule alias_module>
ScriptAlias /cgi-bin/ "c:/www/htdocs/name.ru/cgi-bin/"
</IfModule>
<IfModule mime_module>
AddOutputFilter INCLUDES .shtml .php
</IfModule>
<Directory "c:/www/ htdocs /name.ru/www">
Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
AllowOverride All
Order allow,deny
Allow from all
AddHandler server-parsed .shtml .shtm .html .htm
</Directory>
</VirtualHost>
# Обратите внимание. В директиве AddHandler server-parsed .shtml .shtm .html .htm
# указаны файлы не только с расширением .shtml но
и .shtm .html .htm.
# Сделано это для того, чтобы желающий иметь сервер для отладки Веб-страниц, не
# задумывался - в файлы с каким расширением помещать директивы SSI и Perl-скрипты.
# Сайт - www.name1.ru - размещен в каталоге - C:/www/public_html/name1.ru/www
<VirtualHost 127.0.0.7:80>
ServerAdmin webmaster@name1.ru
DocumentRoot /www/public_html/name1.ru/www
ServerName www.name1.ru
ErrorLog c:/www/public_html/name1.ru/logs/name1.ru-error.log
CustomLog c:/www/public_html/name1.ru/logs/name1.ru-access.log common
<IfModule alias_module>
ScriptAlias /cgi-bin/ "c:/www/public_html/name1.ru/cgi-bin/"
</IfModule>
<Directory "c:/www/public_html/name1.ru/www">
Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
AllowOverride All
Order allow,deny
Allow from all
AddHandler server-parsed .shtml .shtm
</Directory>
</VirtualHost>
Термин Виртуальный - якобы существующий, получил распространение в конце 80-х годов. Компьютеры того времени не имели жестких дисков и при включении могли только подвести считывающую головку дисковода к первой дорожке гибкого диска. В начале работы, с пятидюймового системного диска емкостью 256 Кб загружались в память основные компоненты операционной системы (OS-DOS). Затем, с другой дискеты, программное обеспечение, например, Бейсик. Созданная на нем программа записывалась на гибкий диск. Для её исполнения необходимо было загрузить в память интерпретатор Бейсика. То есть, постоянно работал дисковод, приходилось менять гибкие диски, что занимало много времени. На определенном этапе, с увеличением емкости памяти, появилась возможность часть её выделять и присваивать имя. В эту, именованную, допустим, как диск N, область памяти (получившую название - виртуальный диск), переписывалось нужное программное обеспечение. Отпадала необходимость постоянно обращаться к гибким дискам, что в десятки раз увеличивало производительность работы.
Дальше не все однозначно - существует множество определений.
Веб-узел - узел — каждый подключенный к Интернету компьютер, независимо от выполняемых функций (сервер, компьютер клиента, DNS и FTP-сервер и т. д.) — имеет свой уникальный IP-адрес. Иначе обмен информацией - невозможен. Иначе узел - это адрес. Любой узел является хостом. Например, немного безобидных сведений о вас:
Виртуальные хосты - это концепция, позволяющая нескольким логическим веб-серверам располагаться на одном физическом сервере (возможно с одним IP адресом)
Протокол HTTP/1.0 прямо не поддерживал виртуальные хосты. Веб-сервер, управляющий доменами, различал запросы по IP адресу или по номеру порта, для виртуальных хостов. Серверу необходим был для каждого домена отдельный IP адрес. В связи с ростом Интернета (только русскоязычная его часть насчитывает около 500000 сайтов), количество свободных IP адресов сократилось. Можно было добавлять к IP-адресу различные номера портов. Но это было бы неудобным для пользователей.
В HTTP/1.1 добавлено, для HTTP запроса, поле HOST - это дает возможность веб-серверам обслуживать множество доменов по одному IP адресу и порту.
См. пример выше - dummy-host.httpserver.ru и dummy-host2.httpserver.ru.
Хост — не обязательно отдельный узел, например — виртуальный хост. Часто хост имеет собственное уникальное доменное имя. Главное отличие хоста от узла — то, что он может быть виртуальным.
Значит - расположенное ниже и встречающееся определение виртуальных хостов - не совсем верное, т. к. на одном компьютере можно разместить и более одного виртуального хоста, основанных на IP-адресах
Виртуальный хост — это хост, не имеющий уникального IP-адреса в WWW и, поэтому, доступный только по имени, например, DNS-имени, т. е. к нему нельзя обратиться по IP-адресу.
Остановимся на наиболее обтекаемом определении -
Термин виртуальный хост относится к практике размещения более чем одного веб-сайта (см. пример выше - www.name.ru и dummy-host.httpserver.ru) - на одной машине.
На следующей странице приведено описание настройки параметров файлов httpd-userdir.conf и hosts