Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [ 29 ] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

( Замечание

Обратите внимание на то, что мы добавили дополнительно секцию <VirtualHost> для хоста localhost. Если этого не сделать, то все запросы к нему (то есть, по адресу 127.0.0.1) будут обработаны name-based хостом hacker. Происходит это, видимо, из-за того, что хосты в секции <VirtualHost> имеют больший приоритет при обработке, чем главный хост, который мы создали ранее.

Директива NameVirtualHost говорит серверу, что указанный IP-адрес может использоваться несколькими виртуальными хостами, поэтому для обработки запросов, поступающих на этот адрес, нужно привлекать протокол HTTP 1.1 (который, собственно, и поддерживает технику работы с name-based хостами).

При желании можно добавить и другие параметры в блоки <VirtualHost> (например, Directoryindex и т. д.) Не переопределенные параметры наследуются виртуальным хостом от главного. Однако не советую злоупотреблять настройками в этих секциях - лучше сделать их в файле htaccess в директории нужного хоста, потому что компания, которая предоставляет (будет предоставлять) вам "настоящие" виртуальные хосты в Интернете, вряд ли позволит менять данные блоки.

Но как же система узнает, что хост cracker сопоставлен с адресом 127.0.0.2, а hacker - name-based хост? Для решения проблемы надо немного подправить системный файл hosts, который находится в каталоге C:\wiNDOWS для операционных систем Windows 95/98/Millenium и C:\wiNNT\SYSTEM32\DRiVERS\etc для Windows NT и Windows 2000.

ServerAdmin webmaster@hacker.ru

ServerName hacker

DocumentRoot "z:/home/hacker/www"

ScriptAlias /cgi/ "z:/home/hacker/cgi/"

ErrorLog z:/home/hacker/error.log

CustomLog z:/home/hacker/access.log common </VirtualHost>

#----cracker

<VirtualHost cracker>

ServerAdmin webmaster@cracker.ru

ServerName cracker

DocumentRoot "z:/home/cracker/www"

ScriptAlias /cgi/ "z:/home/cracker/cgi/"

ErrorLog z:/home/cracker/error.log

CustomLog z:/home/cracker/access.log common </VirtualHost>



Не путайте файл hosts (без расширения) с файлом hosts.sam, который, скорее всего, также расположен в том же каталоге! Последний файл является просто демонстрационным примером Microsoft и никак не используется системой. Если файла hosts не существует, его необходимо создать.

Файл hosts - обгчный текстовый файл, и в него может быть заранее включена только одна строка:

127.0.0.1 localhost

Именно эта строка и задает соответствие имени localhost адресу 127.0.0.1.

( Замечание

Ради справедливости следует сказать, что имя localhost работает и без указанной выше строки. Ну и выдумщики же эти парни из компании Microsoft!

Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

1 Листинг 4.4. Файл hosts

127.0.0.1 localhost hacker 127.0.0.2 cracker

Обратите внимание на то, что хост hacker описан на той же строке, что и localhost. Дело в том, что в файле hosts должны указываться только уникальные IP-адреса. Если же одному адресу сопоставляется сразу несколько хостов, то один из них (тот, который идет первым) объявляется главным, а остальные - его псевдонимами. В нашем случае localhost - главный, а hacker - его псевдоним. Apache при получении запроса на адрес 127.0.0.1 узнает, что он пришел хосту с именем hacker, и активизирует соответствующий блок <VirtualHost>.

Итак, мы создали виртуальные хосты со следующими свойствами:

Хост hacker:

□ имя - hacker;

□ доступен по адресу http: hacker;

□ расположен в каталоге z:/home/hacker;

□ каталог для хранения документов - z:/home/hacker/www, доступный по адресу http: hacker/;

□ каталог для CGI - z:/home/hacker/cgi, доступный по адресу

http: hacker/cgi/;

□ файлы журналов хранятся в z:/home/hacker.



( Замечание

Необходимо заметить, что главный хост (невиртуальный, тот, который мы создали ранее) по-прежнему доступен по адресу http: 127.0.0.1 или http: localhost. Более того, его директория cgi-bin "видна" всем существующим виртуальным хостам, так что вы можете ее использовать.

После всех изменений не забывайте перезапускать Apache.

Просто завершить сервер, нажав на кнопку Закрыть в правом верхнем углу его окна, недостаточно - нужно воспользоваться пунктом Stop Apache в меню Пуск I Программы Apache Web Server Management. В противном случае закроется только окно Apache, а сам сервер останется работать в фоновом режиме, так что изменения, внесенные в httpd.conf, не будут активизированы.

Хост cracker:

□ имя - cracker;

□ доступен по адресу http: cracker или http: 127.0.0.2;

□ размещен в каталоге z:/home/cracker;

□ каталог для хранения документов - z:/home/cracker/www, доступен по адресу

http: cracker/;

□ каталог для CGI - z:/home/cracker/cgi, доступен по адресу

http: cracker/cgi/;

□ файлы журналов содержатся в z:/home/cracker.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [ 29 ] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189