Not Acceptable
An appropriate representation of the requested resource / could not be found on this server.
Available variants:
- , type text/html, language ca
- , type text/html, language cz
- , type text/html, language de
- , type text/html, language da
- , type text/html, language et
- , type text/html, language en
- , type text/html, language es
- , type text/html, language fr
- , type text/html, language it
- , type text/html, language ltz
- , type text/html, language nl
- , type text/html, language pt
- , type text/html, language sv
Apache/1.3.12 Server at localhost Port 80
Щелкните на ссылку index.html.en и вы попадете на главную страницу веб-сервера, с которой можно попасть на документацию по веб-серверу - ссылка documentation (http://127.0.0.1/manual/index.html).
Теперь переходим к работе с виртуальными хостами. Веб-сервер Apache, IIS или любой другой обслуживает не один веб-сайт, а несколько десятков. Каждый из них имеет свое символическое имя, но все они указывают на один и тот же IP-адрес в базе данных DNS. На локальной машине мы не будем развертывать DNS-сервер, чтобы завести несколько веб-сайтов. Настройка DNS-сервера выходит за рамки данной книги. В операционных системах Unix и Windows есть, так называемая, локальная база DNS - это файл hosts. В Unix он лежит в каталоге /etc, в Windows - c:\windows, в WinNT - c:\WINNT\system32\drivers\etc. Любое приложение, прежде чем соединится с узлом, вызывает системную функцию gethostbyname, которая возвращает IP-адрес. Система, прежде чем обращаться к DNS-серверу просматривает файл hosts на наличие в нем данного имени хоста. Формат этого файла предельно простой.
# IP-адрес имя хоста 127.0.0.1 localhost 127.0.0.1 it.ru
Таким образом вы можете передопределить для программ своей машины и IP-адрес microsoft.com. Но это переопределение будет действовать только для вашей машины, т.к. бругие компьютеры будут получать IP-адрес microsoft.com с DNS-серверов.
Добавьте в свой файл hosts вторую строчку из приведенного примера. И затем, в конфигурационный файл Apache httpd.conf добавьте следующее строки:
NameVirtualHost 127.0.0.1
<VirtualHost it.ru> ServerAdmin igor@itsoft.ru DocumentRoot c:\projects\www\itsoft ServerName it.ru ErrorLog c:\projects\www\itsoft\logs\error.log CustomLog c:\projects\www\itsoft\logs\custom.log combined ScriptAlias /cgi-bin "c:\projects\www\itsoft\cgi-bin" </VirtualHost>
NameVirtualHost задает IP-адрес, на котором будут висеть веб-узлы. Этих директив может быть несколько. Теоретически, в сервере имеется несколько сетевых карт, и у каждой сетевой карты может быть несколько IP-адресов. Чаще всего у вас будет одна карточка с реальным IP-адресом и одна или две сетевых карты с виртуальным IP-адресом локальной сети, т.к. ваш сервер еще будет обеспечивать доступ компьютеров локальной сети к Интернет. В директиве VirtualHost должен стоять IP-адрес, но можно также указать и имя хоста, указывающего на этот IP. В нашем случае, это имя хоста it.ru, которое указывает на 127.0.0.1. ServerAdmin содержит адрес электронной почты, который будет выдаваться клиентам при возникновение каких-либо ошибок, например, при аварийном заверении CGI-программы. DocumentRoot задает путь к корню веб-сервера. ServerName содержит имя веб-сервера. Далее идут пути к логам веб-сервера. Стого рекомендую размещать логи в корне самого веб-сайта, а не где-нибудь еще. В реальной жизни вы вряд ли будете иметь доступ ко всему жесткому диску сервера. У веб-мастера будет доступ по ftp только к содержимому папки веб-сайта. Так что, если логи будут не внутри папки веб-сайта, то их не сможет просматривать веб-мастер. И наконец, ScriptAlias /cgi-bin "c:\projects\www\itsoft\cgi-bin" задает папку, где будут лежать исполняемые файлы. Имя этой папки не обязательно cgi-bin, но желательно придерживаться исторических традиций. Поясню более детально, что это за каталог. По умолчанию, при запросе любого файла с веб-сервера, он тут же начнется скачиваться клиенту. При запросе же исполняемого файла из папки cgi-bin, этот файл сначала будет запущен веб-сервером, а потом клиенту будет передано то, что напечатает этот исполняемый файл на стандартный поток вывода( STDOUT ). Обратите внимание, что при запросе исполняемого файла из папки, не прописанной в httpd.conf как ScriptAlias /cgi-bin "PathToFolder", вы получите сам исполняемый файл, а не результат его работы. Особо будьте бдительны, если вы будете использовать не бинарные исполняемые файлы, а скриптовые исполняемые файлы. Злоумышленник, заполучив их, сможет прочитать и найти дыру в вашем веб-узле. Невинная гостевая книга или отправка почтового сообщения могут привести не только к неправильной работе этих скриптов и падению веб-узла, но и падению\зависанию всего сервера со всеми размещенными на нем веб-узлами.
Далее создайте папку по адресу c:\projects\www\ с именем itsoft. Путь и имя лучше переправьте. Так вы натолкнетесь на ошибки, связанные с неправильным путем и лучше усвоите материал, исправляя их. В папке itsoft создайте файл index.html, поддиректорию logs с файлами error.log и custom.log. Теперь перезагрузите веб-сервер Apache. Наберите в броузере it.ru и вы увидите содержание index.html. Вот так вы создали свой первый веб-сайт. Теперь можете размещать на нем документы и скрипты. Далее вас ждет увлекательное путешествие по различным технологиям построения веб-сайтов.
|