Настройка WEB-сервера Apache под Windows Server 2003 в картинках

Итак, Apache установлен. Приступим к настройке.
Найдите файл httpd.conf. Если вы придерживались нашей инструкции по установке Apache, этот файл находится по пути c:\Server\Apache\conf\



Откройте его в текстовом редакторе, желательно с подсветкой синтаксиса. Мы используем для этой цели SciTE.

Найдите вхождение ServerName
Раскомментируйте его (здесь и далее под этим понятием подразумевается "убрать символ # в начале строки") и приведите к виду
ServerName localhost:80


Это имя сервера.

Найдите вхождение ServerRoot
Раскомментируйте его и приведите к виду
ServerRoot "C:/server/Apache"

Это корневая директория сервера (не сайта!).

Найдите вхождение Listen
Раскомментируйте его и приведите к виду
Listen 80

Означает, что сервер принимает входящие подключения по этому порту.

Найдите вхождение ServerAdmin
Раскомментируйте его и приведите к виду
ServerAdmin your@email.name

Это e-mail админа.

Найдите вхождение DocumentRoot
Раскомментируйте его и приведите к виду
DocumentRoot "C:/Sites/home/localhost/www" 

Это директория, в которой расположены файлы, видимые извне при обращении к серверу по IP.

Найдите вхождение
<Directory "C:/server/Apache/htdocs">

В этом блоке, до строки
</Directory>

Найдите вхождение
<Directory "C:/server/Apache/htdocs">

Замените её на
Directory "C:/Sites"

Это директория, в которой расположены сайты.

Найдите вхождение
Options Indexes Includes

Раскомментируйте его. Это позволит просматривать директории без индексных файлов. В дальнейшем, после настройки, в целях безопасности можно закомментировать эту строку обратно.

Найдите вхождение
AllowOverride All
Раскомментируйте его. Это разрешит файлы .htaccess.

Найдите и раскомментируйте вхождения
Order allow,deny
Allow from all

Это откроет доступ к серверу извне.

Закончили обработку блока
<Directory "C:/server/Apache/htdocs"> - </Directory> 

Найдите вхождение
<IfModule dir_module>

В этом блоке найдите строку:
DirectoryIndex

Приведите её к виду:
DirectoryIndex index.php index.html index.htm index.html.var

Это типы файлов, запрашиваемых по умолчанию.

Найдите вхождение
<Directory "C:/Server/Apache/cgi-bin"> 

Этот блок, вплоть до строки
</Directory>
замените целиком на следующий:
<Directory "C:/Sites/home/localhost/cgi">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory> 

Это путь для CGI скриптов.

Найдите вхождение
AddDefaultCharset

Раскомментируйте его и приведите к виду
AddDefaultCharset WINDOWS-1251
AddCharset WINDOWS-1251 .cp-1251   .win-1251

Это кодировки по-умолчанию.

Найдите вхождение
Include conf/extra/httpd-vhosts.conf

Раскомментируйте его. Это подключит файл конфигурации httpd-vhosts.conf.

Закройте файл. Откройте файл httpd-vhosts.conf. Он находится по пути
c:\Server\Apache\conf\original\extra\




Найдите вхождение
NameVirtualHost

Раскомментируйте его и приведите к виду
NameVirtualHost 192.168.1.33:80

Это IP сетевого интерфейса нашего компьютера, который смотрит в локальную сеть. Если у вас другое значение, вставьте его. Отметим, что доступ к интернету может быть и через другой интерфейс.

Найдите блок, начинающийся с вхождения
<virtualhost>

и заканчивающийся последним
</virtualhost>

Замените этот блок целиком на следующий:
<VirtualHost 192.168.1.33:80>
   ServerAdmin me@localhost
   ServerName site1.domain
   DocumentRoot "c:\Sites\home\site1.domain\www"
   <Directory "c:\Sites\home\site1.domain\www">
      Options Indexes FollowSymLinks Includes ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
   </Directory>
   ErrorLog error_log
   CustomLog access_log common
</VirtualHost>

<VirtualHost 192.168.1.33:80>
   ServerAdmin me@localhost
   ServerName site2.domain
   DocumentRoot "c:\Sites\home\site2.domain\www"
   <Directory "c:\Sites\home\site2.domain\www">
      Options Indexes FollowSymLinks Includes ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
   </Directory>
   ErrorLog error_log
   CustomLog access_log common
</VirtualHost> 


Это наши тестовые сайты.

Откройте файл hosts. Найти его можно по пути
c:\WINDOWS\system32\drivers\etc\




Приведите его содержимое к виду
127.0.0.1       localhost
192.168.1.33	localhost
192.168.1.33	site1.domain 
192.168.1.33	site2.domain 


Создайте каталог c:\Sites\home\. Внутри него создайте 3 каталога:
localhost\
site1.domain\
site2.domain\



В каждом из них создайте папку www, в которые поместите файлы index.html.
Содержание их будет соответственно:

<h1>ЭТО LOCALHOST<br> ЗАРАБОТАЛО!</h1>

для c:\Sites\home\localhost\www\index.html

<h1>ЭТО САЙТ 1<br> ЗАРАБОТАЛО!</h1>

c:\Sites\home\site1.domain\www\index.html

<h1>ЭТО САЙТ 2<br> ЗАРАБОТАЛО!</h1>

c:\Sites\home\site2.domain\www\index.html

Откройте Apache Service Monitor, упоминавшийся в статье "Установка Apache на Windows Server 2003 в картинках".



Перезапустите сервер.
Откройте браузер, наберите в адресной строке localhost и нажмите Enter. Должно получиться



Наберите в адресной строке site1.domain и нажмите Enter. Должно получиться



Наберите в адресной строке site2.domain и нажмите Enter. Должно получиться



Установите соединение с интернетом. Допустим, у вас подключение PPP с "белым" IP адресу, т.е. извне по нему можно установить соединение с компьютером.
Наберите в адресной строке URL произвольного анонимайзера, нажмите Enter и дождитесь загрузки страницы.
Выясним, какой IP присвоил компьютеру провайдер. Вызовите контекстное меню правым кликом по текущему подключению, выберите пункт "Состояние".



Откроется диалог "Состояние подключения", в котором нужно перейти на вкладку "Сведения".



IP, обозначенный в графе "IP-адрес клиента", наберите в адресной анонимайзера, уже открытого в строке браузера и нажмите Enter.



Должно получиться



Как видите, мы зашли на сайт расположенный на нашем компьютере, извне, по IP-адресу. Чтобы присвоить сайту URL, нужно зарегистрировать домен и привязать его к компьютеру с помощью службы FreeDNS и т.п. Но это тема для другой статьи...
    


denrush # 20-11-2010, 02:26
все сделал как напимано, тока по localhost cnhfybew не выводит его тоже в httpd-vhosts прописать надо как site*.domain

Имя*
URL
e-mail*
проверочный код
приватный комментарий