- Тимур ДЕНИСОВ
-
После публикации ранее
статьи "Web-календарь", в которой
я упомянул о том, что существуют
сервисы, бесплатно предоставляющие
место под web-страницы, разрешающих
выполнение CGI-скриптов, мне пришло
множество писем, суть которых
сводилась к следующему - какие такие
сервисы, т. е. сообщи их адреса.
Собственно, адреса этих
серверов вы видите в таблице, там
представлены как зарубежные, так и
русскоязычные - выбирайте, что по душе.
А мы поговорим о разных важных
субстанциях, которые пригодятся при
установке и использовании CGI-скриптов
на сервере. Я уже упоминал, что
технически любой современный сервер
способен поддерживать выполнение CGI-скриптов,
однако далеко не все администраторы
разрешают это делать. Прежде всего,
теоретически это увеличивает
вероятность взлома сервера с помощью
этих самых скриптов. Совсем не
обязательно, что в качестве зломщика
будете выступать вы лично. Это может
попытаться сделать и сторонний хакер,
который обнаружит, либо точно будет
знать ошибки или дырки в вашей
программе (особенно это касается
свободно распространяемых CGI-скриптов).
Кроме того, собственно ошибки в
программе могут привести к
дестабилизации работы сервера - что
если в вашей программе случайно (или
специально) присутствует бесконечный
цикл? И в конце концов, выполнение
скриптов - даже без ошибок, оказывает
существенную нагрузку на
производительность сервера, т. е.
компьютера, на котором эти программы
выполняются. Таким образом, работа со
CGI-скриптами на сервере приводит к
снижению их надежности. Конечно, этих
неприятностей можно и избежать, но это
потребует вложений как в аппаратную,
так и в программную часть сервера, и
плюс к этому, квалифицированного (что
значит неглупого, читай недешевого)
персонала. То есть, все это дорогое
удовольствие для администрации
сервиса, предоставляющего бесплатный
хостинг.
Однако не все так плохо, и такие сервисы
есть, а значит, мы можем ими
воспользоваться и радоваться своим
успехам в автоматизации и
интерактивизации наших сайтов ?.
Обычно, если не сказать жестче - по
умолчанию, нужные вам CGI-скрипты должны
находиться в специальной директории CGI-BIN.
Хотя, вполне вероятно, что исполняемый
скрипт располагается в произвольной
директории, но это уже зависит от
администратора. Некоторые серверы
создают директорию CGI-BIN автоматически,
именно в тот момент, когда вы
регистрируетесь в сервисе. Но иногда
придется проделать все самостоятельно,
с помощью соответствующей команды в FTP-клиенте.
Кроме того, для директории CGI-BIN должны
быть обязательно установлены права
доступа (CHMOD) 755, для чего также
используется FTP-клиент. Следует особо
подчеркнуть, что для нормальной работы
по установке и настройке скриптов,
желателен, если не сказать резче,
обязателен, доступ к вашему сайту по FTP-протоколу,
в частности для установки прав доступа
к файлам - что критично при
использовании скриптов. Хотя некоторые
сервисы бесплатных страниц
предоставляют возможность управлять
файлами на вашем сайте через web-интерфейс,
а также назначать права доступа - это
все-таки неудобно.
Однако, чтобы скрипты заработали, мало
разобраться с директорией CGI-BIN,
необходимо изучить некоторую
техническую информацию. Так как
большинство доступных CGI-скриптов
написаны на Perl, при этом именно такие
программы разрешают выполнять серверы
- непременно узнайте путь к
интерпретатору Perl на сервере. Строка с
указанием пути должна присутствовать в
каждой вашей CGI-программе. Обычно она
имеет вид:
#!/usr/bin/perl
Именно отсюда должен начинаться код
каждого исполняемого скрипта. Иногда
выглядит как:
#!/usr/local/bin/perl
Выяснить точный путь к интерпретатору
вы можете в мануалах того сервиса, на
котором находится сайт. Особо
подчеркнем: если путь к интерпретатору
указан неверно, скрипт не заработает.
Также важно знать, какую именно версию
Perl поддерживает сервер. Хочется
надеяться, что это одна из последних, но
это отнюдь не аксиома (несмотря на то,
что Perl распространяется совершенно
бесплатно). Некоторые свободно
доступные CGI-скрипты, хотя и редко, но
все же требуют версию Perl не ниже "такой-то".
Некоторые бесплатные хостинг-сервисы
могут поддерживать две или несколько
версий Perl'а. Так, к примеру, на Hypermart (http://www.hypermart.net)
доступны две версии Perl, для которых
необходимо указывать строки #!/usr/bin/perl
или #!/usr/local/bin/perl соответственно.
Разные сервисы предоставляют свой
дополнительный набор услуг, например
Perl-отладчик, локальную почтовую
программу, с помощью которой скрипт
может отправлять e-mail, - все это ищите в
мануалах выбранного сервера.
Практически все зарубежные сервисы,
поддерживающие CGI, не ставят
ограничений на используемые скрипты, т.
е. по факту регистрации можно
устанавливать любой скрипт и
самостоятельно исследовать его
настроики и экплуатации. Но некоторые
русскоязычные сервисы не столь добры и
легкомысленны ?. То есть вам
предоставляют обещанное место под web-страницы,
однако чтобы начать использовать на
своем сайте CGI-скрипты, потребуется
разрешение администратора. Иногд же
даже зарегистрироваться на таком
сервере, то есть получить место под
свой сайт, можно только, если вы
заинтересуете администратора,
например, покажете сайт, уже созданный
и размещенный где-то "на стороне".
Но что поделать, игра стоит свеч, ведь,
скорее всего, ваш сайт будет
ориентирован на русскоязычную
аудиторию, поэтому лучше его
разместить поближе.
Что ж, успехов вам! Но на этом наши CGI-встречи
не заканчиваются - в ближайшее время мы
обязательно продолжим начатую тему.
Источник: http://www.mycomp.com.ua/
|