Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Как создать веб-сервер для отладки скриптов на своем компьютере.


Информационный Канал Subscribe.Ru


Здравствуйте, уважаемые подписчики!


Это второй выпуск рассылки "CGI-программирование с самого начала". Прежде чем начать заниматься непосредственно CGI-программированием, нам нужно ответить на один вопрос: а где мы собственно будем пробовать свои CGI-скрипты?

В отличие от "обычного", статического веб-содержимого (HTML-страницы, картинки и т.д.), которое можно смотреть прямо в броузере со своего жесткого диска, CGI-скрипты являются программами, которые, к тому же, должны выполняться не броузером, а веб-сервером. Соответственно, для того, чтобы иметь возможность (или другими словами "чтобы было где") смотреть свои CGI-скрипты "в действии", нужен настоящий работающий веб-сервер. А учиться CGI-программированию без возможности попробовать свои скрипты - это сильно напоминает уроки информатики в школе без компьютерного класса :-)

Первая мысль, которая при этом возникает - это открыть себе сайт на бесплатном хостинге с поддержкой CGI, размещать там пробные скрипты и смотреть их в действии, вызывая из броузера.

В крайнем случае можно поступить, конечно, и так - но это в крайнем случае. И вот почему:

  • Так как у большинства Интернет - удовольствие платное, то изучение CGI-скриптинга становится также небесплатным занятием, а если Вы будете хорошо и усердно экспериментировать, то это в самом прямом смысле может дорого Вам обойтись :-)
  • На большинстве хостингов Вы имеете только FTP-доступ для размещения скриптов, и HTTP-доступ для их проверки. В случае фатальной ошибки в скрипте (например, банально пропущенная скобка или запятая), Вам будет трудно ее выявить. Причем это усугубляется п.1 :-) ;

  • Большинство бесплатных хостинг-провайдеров требуют, чтобы в верхней части каждой выводимой страницы (в том числе сгенерированной скриптом) был код их баннера. Это либо заставляет Вас включать в файл скрипта дополнительные команды, либо в вывод скрипта будет автоматически вставлен код, что может "сбивать" Вас на начальном этапе.

Поэтому создатели CGI-скриптов (не только начинающие, а тем более опытные) решают проблему "испытательного полигона" по-другому - они создают веб-сервер на своем компьютере.

В этом нет ничего сложного или экстраординарного. На Вашем компьютере могут работать не только клиентские интернет-программы (броузеры, почтовые и FTP-клиенты), но и серверные. А так как Windows - система многозадачная, то серверные и клиентские программы могут работать одновременно и взаимодействовать между собой! Даже когда у Вас не установлено соединение с Интернет и компьютер не имеет "инетовского" IP-адреса, Ваш компьютер поддерживает "внутреннюю IP-подсеть" 127.0.0.x, адресующую "этот компьютер". Чаще всего используется IP-адрес 127.0.0.1, по которому доступны все работающие в настоящий момент серверные программы. Кому не нравится обращаться по IP, может использовать доменное имя localhost, соответствующее адресу 127.0.0.1.

Все, что нам нужно для организации собственного "тестового" веб-сервера, это установить и настроить подходящую серверную программу, т.е. веб-сервер с поддержкой CGI. А так как CGI-скриптам на языке perl для выполнения необходим интерпретатор этого языка, то надо установить еще и интерпретатор языка perl.

В настоящее время существует много бесплатных и условно-бесплатных веб-серверов для Windows, которые можно найти и скачать в Интернете, но на одном сервере я остановлюсь особо.

Это широко известная программа Apache HTTP Server. Этот очень гибкий, многофункциональный, настраиваемый и к тому же бесплатный сервер в настоящее время является самым распространенным в Интернете. Большинство как платных, так и бесплатных хостингов сейчас работают под Apache, так что скрипты (особенно сложные) лучше проверять именно на нем. Этот сервер имеет ряд удобных нестандартных возможностей которые сейчас уже становятся стандартом де-факто. Вот один из примеров когда бесплатная программа может быть ничуть ни хуже, а то и лучше платных.

Изначально разработанный для UNIX, Apache теперь имеет и Windows- вариант. Автор рассылки использует Apache 1.3.23.

Единственный, на мой взгляд, недостаток этого сервера - это настройка через конфигурационные файлы (*.conf), которая многим пользователям Windows, привыкшим "лазить" по диалоговым окнам, может показаться непривычным. Хотя в принципе конфигурационные файлы щедро прокомментированы (на английском языке).

В общем, я что называется от души рекомендую этот веб-сервер, но в любом случае желательно, чтобы Ваш веб-сервер поддерживал не только CGI, но и SSI (Server Side Includes). В рассылках я буду уделять внимание и этой технологии, т.к. в сочетании с ней в CGI-скриптинге открываются дополнительные интересные возможности.

Другой веб-сервер, а именно Personal Web Server (PWS), не обладает всеми возможностями Apache, зато он у Вас... уже есть. Это стандартный веб-сервер Microsoft, поставляемый вместе с Windows 95 и 98. В комплекте с Windows NT и 2000 идет другой похожий продукт, который называется Internet Information Server (IIS).

Чтобы установить PWS, зайдите в "Панель управления"-"Сеть", выберите "Добавить"-"Служба"-"Microsoft"-"Личный веб-сервер".

Этот сервер поддерживает CGI, но чтобы заставить его работать с интерпретатором perl, нужно постараться. Конкретные подвиги, которые нужно совершить для этого, Вы можете найти в статье "Установка PERL для Windows"

Язык perl (Practical Extraction and Report Language) также был изначально разработан для UNIX-систем, а теперь имеет "порты" под многие ОС, включая и Windows. (перенос программы под другую ОС или другую машину называется "портированием" (porting), а перенесенная программа, соответственно, "порт" (port). Не путать с COM-портами компьютера, а также TCP/UDP портами :-) ).

Так как портированием perl занимается несколько фирм, то существует и несколько портов perl. Я пользуюсь ActivePerl фирмы ActiveState. Эта фирма выпускает как собственно интерпретатор perl, так и вспомогательные вещи (модули Perl for ISAPI и PerlScript), а также различные программы для облегчения написания программ на Perl (последние уже распространяются платно).

Для работы желательно иметь интерпретатор perl не ниже версии 5. Узнать версию установленного интерпретатора можно командой perl -v

Ссылки на различные "порты" perl для Windows (и для других систем) можно найти на сайте CPAN http://www.cpan.org/ - в разделе Browsing идем по ссылке "PERL Binary Distributions (ports)" и смотрим страничку. К слову сказать, на этом сайте можно найти программы на Perl, библиотеки, документацию и многое другое.

Установка ActivePerl не представляет каких-либо трудностей. Единственное, если Ваш веб-сервер определяет путь к интерпретатору скрипта "в стиле UNIX", т.е. по первой строчке, начинающейся с символов "#!", то уже на этапе установки perl Вы можете позаботиться о значительном облегчении переноса CGI-скриптов со своего локального сервера на сервер хостинга. На большинстве хостингов путь к интерпетатору языка perl выглядит как /usr/bin/perl или /usr/local/bin/perl. Программа установки распаковывает файлы в указанную Вами папку, причем собственно файл perl.exe располагается в подпапке bin этой папки. Поэтому, чтобы сделать путь такой же, как на Вашем хостинге, укажите при установке папку C:\usr или C:\usr\local.

Проверить правильность настройки всего этого хозяйства лучше всего не на каких-то сложных скриптах, а на простом тестовом скрипте, например, вот таком:

#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "<H3>Скрипт отработал успешно</H3>\n";

На сегодня все, а в следующий раз мы уже непосредственно приступим к долгожданному CGI-программированию.

Успехов!
Андрей.


Все вопросы, пожелания, критику направляйте на email perlcgi@bars.agava.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное