Домашний Web - серверДомашний Web - сервер Часто возникает ситуация, когда необходимо проверить полный вид html-страницы. Однако чаще всего это невозможно при работе в домашних условиях. Технологии SSI, CGI и, конечно, PHP, требуют наличия сервера. Согласитесь, тестировать свой сайт в он - лайне на сервере не очень удобно. Как же быть? Оказывается все очень просто: достаточно просто внимательно прочитать эту статью, и скачать некоторый софт. Вам необходимо будет просто установить на Ваш домашний компьютер (пусть даже и не подключенный к Интернет) специальную программу - Web-сервер. Для обзора будет использоваться web - сервер Apache. Последняя версия этого сервера - 1.3.12. Самое главное то, что это чуть ли не единственный сервер, который позволяет работать в Windows 95/98 с технологиями PHP, CGI и Perl-скриптами одновременно так же просто и непринужденно, как будто у Вас стоит операционная система Unix. Сразу хочу выразить благодарность Дмитрию Котерову (dklab@dizain.ru( mailto:dklab@dizain.ru ), //www.dizain.ru/dklab ( http://webscript.ru///www.dizain.ru/dklab/ )) за помощь, при написании статьи. Установка Apache. Первый этап - установка. Запустите только что скачанный файл. В появившемся диалоге нажмите кнопку Yes , а затем - кнопку Next. Теперь нажмите Browse. Вручную задайте директорию для установки: d:usrlocalapache и нажмите кнопку OK . Выберите тип установки - Сustom и уберите флажок Source Code (если, конечно, не хотите посмотреть исходные тексты Apache). Этим Вы сэкономите себе 3 Мбайта. Нажмите Next и подождите, пока будут копироваться файлы Apache. На запрос о перезагрузке компьютера ответьте "Перезагрузить". Все, теперь Apache установлен! Теперь самое неприятное - его настройка. Второй этап - настройка файла конфигурации Apache mime.types.
text/html html htm Измените ее на text/html html htm shtml shtm sht Третий этап - настройка файла http2d.conf Внимание! Это - самый ответственный момент установки. Прошу очень серьезно соблюдать инструкции. Откройте директорию d:usrlocalapacheconf . Откройте с помощью программы "Блокнот" находящийся там файл http2d.conf . Это - единственный файл, который Вам осталось настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно те, о которых упоминается далее. Во избежание недоразумений не трогайте все остальное. Следует заметить, что в нем каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте особо на них внимание.
ServerAdmin my@email.com
Только не забудьте раскомментировать поле ServerName , то есть убрать символ "#" перед этим параметром (по умолчанию он закомментирован)!
Разумеется, можете указать и любую другую директорию, если хотите. В любом случае, не забудьте ее создать! Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Его нужно изменить на: <Directory/> Options Indexes Includes AllowOverride All </Directory> Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это - корневая директория).
<Directory "d:/document"> Options Indexes Includes AllowOverride All Order allow,deny Allow from all </Directory> Это - установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, главное, чтобы она совпадала с той, которая прописана в параметре DocumentRoot
UserDir d:/home Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов (см. ниже). Не забудьте также создать этот каталог.
DirectoryIndex index.htm index.html Это - так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д.
ScriptAlias /cgi-bin/ "d:/cgi-bin/" Да, именно так, с двумя слэшами. Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например: ScriptAlias /cgi/ "e:/mycgidir/" Подобный параметр говорит Apache о том, что, если будет указан путь вида //localhost/cgi-bin , то на самом деле следует обратиться к директории d:/cgi-bin.
<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 .html .htm Поздравляю - Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск ->Программы ->Apache Web Server ->Start Apache , при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache. Несколько слов о том, как можно упростить запуск и завершение сервера. В Windows можно назначить любому ярлыку функциональную комбинацию клавиш, нажав которые, Вы запустите этот ярлык. Так что щелкните правой кнопкой на панели задач, в контекстном меню выберите Свойства, затем Настройка меню и кнопку Дополнительно. В открывшемся Проводнике назначьте ярлыку Start Apache комбинацию Ctrl+Alt+A. Теперь при нажатии комбинации Ctrl+Alt+A у Вас будет открываться сервер Apache. 3. Виртуальные хосты Apache. Виртуальные хосты - хосты, имеющие уникальный адрес в Интернет, эмулируемые и поддерживаемые сервером. Итак, Вы установили 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 , которую Вам необходимо создать прямо сейчас. В этой директории будут находиться:
Последние две директории (www и cgi ) Вам тоже необходимо создать прямо сейчас. Далее, для установки виртуального хоста необходимо сделать некоторые изменения в файле конфигурации Apache http2d.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия:
#----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и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.
127.0.0.1 localhost именно эта строка и задает соответствие имени localhost адресу 127.0.0.1 . Надо сказать, что имя localhost работает и без указанной выше строки. Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так: 127.0.0.1 localhost 127.0.0.2 server1 Этим Вы создадите виртуальный хост со следующими свойствами:
Ну вот, мы создали один виртуальный хост! Если будет необходимо сделать второй, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. Главное, не забудьте в этом случае указать другой IP-адрес (лучше всего указывать их последовательно, начиная с 127.0.0.2 , затем 127.0.0.3 и т.д. - в этом случае все работает корректно). Желательно также для этих целей не указывать IP-адрес //127.0.0.1 , так как это - адрес главного сервера. Кстати, необходимо заметить, что главный хост (не виртуальный, тот, который мы создали в разделах 1 и 2) по-прежнему доступен по адресу //127.0.0.1 или //localhost . Более того, его директория cgi-bin "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать. 4. Установка PHP В отличие от установки Apache, установка PHP короче, однако, это не означает, что проще. Дело в том, что, во-первых, у PHP нет нормальной setup-программы, как у Apache, а во-вторых, при его установке необходимо также настраивать сервер. Итак, прежде всего, поговорим о каталоге, в котором у Вас будут находиться файлы PHP. Лучше всего его установить в каталог d:/usr/local/php3. Если Вы не иметь такой каталог (хотя, если Вы читали инструкцию по установке Apache, все должно быть в порядке), то Вы можете установить PHP в другой каталог. Но тогда могут возникнуть проблемы. Поэтому я настоятельно рекомендую разместить PHP на тот диск, где установлен Apache ( то есть D:), и в директорию d:usrlocalphp3. Теперь, как обычно, по порядку описываю действия по установке PHP. Настройка PHP
Настройка Apache
application/x-http2d-php3 phtml php3
<Directory "D:/usr/local/php3"> Options ExecCGI </Directory> ScriptAlias "/D:/usr/local/php3/" "D:/usr/local/php3/" Action application/x-http2d-php3 "/D:/usr/local/php3/php.exe" Ну вот, пожалуй, и все. Если Вы все сделали правильно, то PHP установлен. Напомню, что php-скрипты - это не то же самое, что cgi-скрипты. В частности, если cgi-скрипты обычно располагают в /cgi-bin/, то php-скрипт должен лежать в директории с документами. Иными словами, файл с написанный на php должен лежать в директории d:/document/ 5. Установка Perl Это совсем просто, за исключением, может быть, выбора директории для Perl. А именно, Вы ДОЛЖНЫ разместить Perl в той же директории, в которой он находится на Вашем настоящем Web-сервере. Заметьте, что это очень важно, так как Perl требует, чтобы в каждом скрипте первой строкой стоял путь к Perl-интерпретатору; например, эта строка может выглядеть так: #!/usr/local/bin/perl Эту же строку можно было бы написать и так: #!/usr/local/bin/perl.exe или даже так: #!d:usrlocalbinperl.exe Это заставляет искать Perl-интерпретатор в директории d:/usr/local/bin/ (если диск d: не указан, это означает, что он совпадает с диском, на котором расположен Apache). Ясно, что если Вы установите Perl не в такую же директорию, как на настоящем Web-сервере, Вам придется каждый раз менять эту самую первую строку во всех скриптах при закачке их на сервер. Итак, далее мы будем считать, что эта директория такова, как на большинстве Apache-серверов: d:/usr/local/bin
Вот шаги, приводящие к цели:
AddHandler cgi-script .bat .exe Замените ее на AddHandler cgi-script .bat .exe .pl .cgi Как это ни странно, но эту директиву AddHandler иногда указывать не обязательно. Однако лучше перестраховаться... Потом создайте директорию d:usrbin и скопируйте из папки d:/usr/local/bin туда два файла: perl.exe и perl300.dll. Вот, собственно, и все.Можете пользоваться Perl-транслятором. Этим самым мы полностью настроили сервер Apache. Теперь он полностью готов к работе. Описанный в статье сервер Apache и все нужные к нему интерпретаторы, Вы можете найти, посетив сайт www.tweak.tut.by( mailto:my@email.com ) . Также на этом сайте Вы можете бесплатно взять несколько скриптов на CGI, Perl и PHP для проверки сервера, а также взять оригинал этой статьи. Удачи Вам в настройке сервера Apache! Если у Вас возникнут вопросы, то пишите, постараюсь помочь.
|