...
...

Домашний Web-сервер

Домашний Web-сервер Часто возникает ситуация, когда необходимо проверить полный вид html-страницы. Однако чаще всего это невозможно при работе в домашних условиях. Технологии SSI, CGI и, конечно, PHP, требуют наличия сервера. Согласитесь, тестировать свой сайт в онлайне на сервере не очень удобно. Как же быть? Оказывается все очень просто: достаточно просто внимательно прочитать эту статью и скачать некоторый софт.

Вам необходимо будет просто установить на Ваш домашний компьютер (пусть даже и не подключенный к Интернету) специальную программу - Web-сервер. Для обзора будет использоваться web-сервер Apache. Последняя версия этого сервера - 1.3.12. Самое главное то, что это чуть ли не единственный сервер, который позволяет работать в Windows 95/98 с технологиями PHP, CGI и Perl-скриптами одновременно так же просто и непринужденно, как будто у Вас стоит операционная система Unix.

Сразу хочу выразить благодарность Дмитрию Котерову (dklab@dizain.ru, http://www.dizain.ru/dklab ) за помощь, при написании статьи.
Установка Apache
. Итак, Вы решились установить на свой компьютер Apache для Windows 95/98. В таком случае Вам следует запастись терпением и для начала скачать дистрибутив сервера. Его размер составляет 3,02 Мб. Далее необходимо строго выполнять все перечисленные операции, не пропуская и не откладывая ничего. Только в таком случае у Вас заработает сервер.

3
Запустите только что скачанный файл. В появившемся диалоге нажмите кнопку Yes, а затем кнопку Next . Теперь нажмите Browse . Вручную задайте директорию для установки: d:\usr\local\apache и нажмите кнопку OK . Выберите тип установки Сustom и уберите флажок Source Code (если, конечно, не хотите посмотреть исходные тексты Apache). Этим Вы сэкономите себе 3 Мбайта. Нажмите Next и подождите, пока будут копироваться файлы Apache. На запрос о перезагрузке компьютера ответьте "Перезагрузить". Все, Apache установлен! Теперь самое неприятное — его настройка.

3
  • Откройте директорию d:\usr\local\apache\conf. Откройте находящийся там файл mime.types. Найдите в нем такую строчку:

  • text/html html htm

    Измените ее на

    text/html html htm shtml shtm sht

    3
    Внимание! Это — самый ответственный момент установки. Прошу очень серьезно соблюдать инструкции.


    Откройте директорию d:\usr\local\apache\conf. Откройте с помощью программы "Блокнот" находящийся там файл httpd.conf. Это — единственный файл, который Вам осталось настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно: те, о которых упоминается далее. Во избежание недоразумений не трогайте все остальное. Следует заметить, что в нем каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте особо на них внимание.

  • В поле ServerAdmin укажите Ваш E-mail адрес, который будет показываться в сообщениях об ошибке сервера. Например:

  • ServerAdmin my@email.com

  • В поле ServerName напишите любое слово — на работе это не сказывается, например: ServerName MyServer.

  • Только не забудьте раскомментировать поле ServerName, то есть убрать символ "#" перед этим параметром (по умолчанию он закомментирован)!

  • В поле DocumentRoot укажите ту директорию, в которой будут храниться Ваши html файлы, например: DocumentRoot d:/document.

  • Разумеется, можете указать и любую другую директорию, если хотите. В любом случае, не забудьте ее создать!

  • Найдите блок, начинающийся строкой <Directory/> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Его нужно изменить на

  • <Directory />,

    Options Indexes Includes,

    AllowOverride All,

    </Directory>.

    Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это корневая директория).

  • Найдите аналогичный блок, начинающийся <Directory "d:/usr/local/apache/htdocs"> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок следует заменить на

  • <Directory "d:/document">,

    Options Indexes Includes,

    AllowOverride All,

    Order allow,deny,

    Allow from all,

    </Directory>.

    Это — установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, главное, чтобы она совпадала с той, которая прописана в параметре DocumentRoot.

  • Идем дальше. Установите UserDir, например, так:

  • UserDir d:/home

    Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов (см. ниже). Не забудьте также создать этот каталог.

  • Установите DirectoryIndex так:

  • DirectoryIndex index.htm index.html

    Это — так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д.

  • Найдите и пропишите такой параметр:

  • ScriptAlias /cgi-bin/ "d:/cgi-bin/"

    Да, именно так, с двумя слэшами. Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например:

    ScriptAlias /cgi/ "e:/mycgidir/"

    Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории d:/cgi-bin.

  • Теперь следует найти и настроить блок параметров, начинающийся с <Directory "d:/cgi-bin"> и заканчивающийся </Directory>. Это установки для Вашей CGI-директории (если Вы установили для нее другое имя на предыдущем шаге, соответственно модифицируйте путь). Там должно быть:
  • <Directory "d:/cgi-bin">,

    AllowOverride All,

    Options ExecCGI,

    </Directory>.

  • Настройте следующий параметр:
  • AddHandler cgi-script.bat

    Это говорит Apache о том, что файл с расширением.bat нужно рассматривать как CGI-скрипты.

  • И последнее — установите:
  • AddHandler server-parsed.shtml.shtm.sht

    Или, если Вы хотите, чтобы и обычные файлы html обрабатывались SSI, напишите так:

    AddHandler server-parsed.shtml.shtm.sht.html.htm

    Поздравляю — Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск-> Программы-> Apache Web Server-> Start Apache, при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache.

    Несколько слов о том, как можно упростить запуск и завершение сервера. В Windows можно назначить любому ярлыку функциональную комбинацию клавиш, нажав которые, Вы запустите этот ярлык. Так что щелкните правой кнопкой на панели задач, в контекстном меню выберите Свойства, затем Настройка меню и кнопку Дополнительно . В открывшемся Проводнике назначьте ярлыку Start Apache комбинацию Ctrl+Alt+A . Теперь при нажатии комбинации Ctrl+Alt+A у Вас будет открываться сервер Apache.

    3
    Виртуальные хосты — хосты, имеющие уникальный адрес в Интернет, эмулируемые и поддерживаемые сервером.

    Итак, вы установили Apache. Получили, таким образом, директорию d:/document для хранения документов и d:/cgi-bin для CGI. Но вот беда: в Интернете вы поддерживаете несколько серверов, а Apache создал для вас только один. Конечно, можно структуру этих нескольких серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем server1 и адресом 127.0.0.2, а другой с именем server2 и адресом 127.0.0.3 . Конечно, вместо " server1 " и " server2 " Вам нужно будет указать желаемые имена Ваших виртуальных хостов. Советую назвать их так же, как и на Вашем настоящем Web-сервере — это может многое упростить при программировании скриптов.

    Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории d:/home с именем, совпадающим с именем сервера. Например, сервер server1 будет храниться в директории d:/home/server1, которую Вам необходимо создать прямо сейчас. В этой директории будут находиться:

  • файл access.log с журналом доступа к виртуальному серверу;
  • файл errors.log с журналом ошибок сервера;
  • директория document, где будут храниться html-документы;
  • директория cgi для хранения CGI-программ.

  • Последние две директории (www и cgi) Вам тоже необходимо создать прямо сейчас.

    Далее, для установки виртуального хоста необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия:

  • Откройте директорию d:\usr\local\apache\conf. Откройте находящийся там файл httpd.conf. Перейдите в его конец, Вам предстоит добавить туда несколько строк.
  • Пропишите следующие строки в конце файла после всех комментариев:
  • #——server1

    <VirtualHost 127.0.0.2>

    ServerAdmin webmaster@server1.com

    ServerName server1

    DocumentRoot "d:/home/server1/document"

    ScriptAlias /cgi/ "d:/home/server1/cgi/"

    ErrorLog d:/home/server1/error.log

    CustomLog d:/home/server1/access.log common

    </VirtualHost>

    При желании можно добавить и другие параметры (например, DirectoryIndex и т.д.). Вообще, непереопределенные параметры наследуются виртуальным хостом от главного.

  • Теперь надо немного подправить системный файл hosts, который находится в c:\windows\hosts (такого файла может не быть по умолчанию — в этом случае его надо создать). hosts — обычный текстовый файл, и в нем обычно заранее прописана только одна строка:
  • 127.0.0.1 localhost

    Именно эта строка и задает соответствие имени localhost адресу 127.0.0.1 . Надо сказать, что имя localhost работает и без указанной выше строки. Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

    127.0.0.1 localhost

    127.0.0.2 server1

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

  • Имя — server1;
  • Доступен по адресу http://server1 (или http://127.0.0.2 );
  • Расположен, соответственно, в директории d:/home/server1;
  • Директория для хранения документов — d:/home/server1/document, доступная по адресу http://server1/ ;
  • Директория для CGI — d:/home/server1/cgi, доступная по адресу http://server1/cgi/;
  • Файлы журналов хранятся в d:/home/server1.

  • Ну вот, мы создали один виртуальный хост! Если будет необходимо сделать второй, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. Главное, не забудьте в этом случае указать другой IP-адрес (лучше всего указывать их последовательно, начиная с 127.0.0.2, затем 127.0.0.3 и т.д. — в этом случае все работает корректно). Желательно также для этих целей не указывать IP-адрес http://127.0.0.1, так как это адрес главного сервера.

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

    Установка PHP


    В отличие от установки Apache, установка PHP короче, однако, это не означает, что проще. Дело в том, что, во-первых, у PHP нет нормальной setup-программы, как у Apache, а во-вторых, при его установке необходимо также настраивать сервер.

    Итак, прежде всего, поговорим о каталоге, в котором у Вас будут находиться файлы PHP. Лучше всего его установить в каталог d:/usr/local/php3. Если Вы не имеете такой каталог (хотя, если Вы читали инструкцию по установке Apache, все должно быть в порядке), то Вы можете установить PHP в другой каталог. Но тогда могут возникнуть проблемы. Поэтому я настоятельно рекомендую разместить PHP на тот диск, где установлен Apache (то есть D:\), и в директорию d:\usr\local\php3.

    Теперь, как обычно, по порядку описываю действия по установке PHP.

    3
  • Создайте директорию d:/usr/local/php3 (если хотите другое имя, см. рассуждения выше). Это та директория, в которую будет установлен PHP.
  • Скачайте дистрибутив PHP. Его размер составляет 904 Кб. Это zip-архив, который Вы должны будете открыть, чтобы разархивировать. Разворачивайте его в директорию d:/usr/local/php3.
  • Откройте в проводнике Windows директорию d:/usr/local/php3 и нажмите правой кнопкой мыши на файле PWS-php4.reg, выберите в контекстном меню пункт объединить — этим Вы автоматически добавите в Реестр некоторые установки, касающиеся PHP.
  • 3
  • В файл конфигурации Apache conf/mime.types добавьте такую строку:

  • application/x-httpd-php3 phtml php3

  • Теперь откройте файл conf/httpd.conf и добавьте в его конец (но перед блоков виртуальных хостов, если они там есть, если нет — то в самый конец) такие строки:
  • <Directory "D:/usr/local/php3">

    Options ExecCGI

    </Directory>

    ScriptAlias "/D:/usr/local/php3/" "D:/usr/local/php3/"

    Action application/x-httpd-php3 "/D:/usr/local/php3/php.exe"

    Ну вот, пожалуй, и все. Если Вы все сделали правильно, то PHP установлен.

    Напомню, что php-скрипты — это не то же самое, что cgi-скрипты. В частности, если cgi-скрипты обычно располагают в /cgi-bin/, то php-скрипт должен лежать в директории с документами. Иными словами, файл с написанный на php должен лежать в директории d:/document/


    Установка Perl


    Это совсем просто, за исключением, может быть, выбора директории для Perl. А именно, Вы ДОЛЖНЫ разместить Perl в той же директории, в которой он находится на Вашем настоящем Web-сервере. Заметьте, что это очень важно, так как Perl требует, чтобы в каждом скрипте первой строкой стоял путь к Perl-интерпретатору; например, эта строка может выглядеть так:

    #!/usr/local/bin/perl

    Эту же строку можно было бы написать и так:

    #!/usr/local/bin/perl.exe

    или даже так:

    #!d:\usr\local\bin\perl.exe

    Это заставляет искать Perl-интерпретатор в директории d:/usr/local/bin/ (если диск d: не указан, это означает, что он совпадает с диском, на котором расположен Apache). Ясно, что если Вы установите Perl не в такую же директорию, как на настоящем Web-сервере, Вам придется каждый раз менять эту самую первую строку во всех скриптах при закачке их на сервер. Итак, далее мы будем считать, что эта директория такова, как на большинстве Apache-серверов:

    d:/usr/local/bin


    ВНИМАНИЕ:
    очень распространенной ошибкой является установка Perl не в ту директорию или не на тот диск. Еще раз обращаю внимание на то, где должен быть расположен транслятор.

    Если Вы все же установите пути неправильно, Apache выдаст непонятное сообщение об ошибке, а в errors.log появится сообщение: couldn't spawn child process .

    Вот шаги, приводящие к цели:

  • Скачайте дистрибутив Perl. Его размер составляет 1, 41 Мб. Это саморазворачивающийся архив, Вам нужно будет его просто запустить и указать директорию d:/usr/local/.
  • Теперь настроим сервер. Найдите в файле конфигурации Apache conf/httpd.conf строчку:

  • AddHandler cgi-script.bat.exe

    Замените ее на

    AddHandler cgi-script.bat.exe.pl.cgi

    Как это ни странно, но эту директиву AddHandler иногда указывать не обязательно. Однако лучше перестраховаться...

    Потом создайте директорию d:\usr\bin и скопируйте из папки d:/usr/local/bin туда два файла: perl.exe и perl300.dll.

    Вот, собственно, и все. Можете пользоваться Perl-транслятором.

    Этим самым мы полностью настроили сервер Apache. Теперь он полностью готов к работе. Описанный в статье сервер Apache и все нужные к нему интерпретаторы, Вы можете найти, посетив сайт www.foster.narod.ru . На этом сайте Вы можете бесплатно взять несколько скриптов на CGI, Perl и PHP для проверки сервера, а также взять оригинал этой статьи.

    Удачи Вам в настройке сервера Apache! Если у Вас возникнут вопросы, то пишите, постараюсь помочь.

    Денис Куксюк, dean@inbox.ru (c) компьютерная газета


    © Компьютерная газета

    полезные ссылки
    Создание и обслуживание систем охранного видеонаблюдения, огромный выбор компонентов