Январь 31, 2006

Отладка CGI-скриптов на Perl (Часть 5)

Окончательная отладка CGI-скриптов на сервере

Итак, Ваш скрипт работает на локальном компьютере прекрасно, теперь настало время перенести его на сервер.

Итак, на что следует обратить внимание:

1. Путь к Perl в первой строчке.

Измените его на путь к Perl Вашего хостинга. Отлаживая скрипт, Вы либо вообще не нуждались в этой строчке, либо, если Вы вели отладку на Apache, то этот путь на Вашем компьютере скорее всего другой.

Лучше, конечно, позаботиться об этом заранее и сделать путь к Perl на локальном компьютере такой же, как и на сервере. Для этого надо интерпретатор Perl установить на тот же диск, на котором стоит Apache, с таким расчетом, чтобы perl.exe лег по тому же пути, что и на сервере. Т.е. если на локальном компьютере Apache стоит на C:, а на сервере путь к Perl /usr/bin/perl, то на локальной машине perl.exe должен находиться в С:/usr/bin/. В частности, Active Perl от ActiveState нужно устанавливать в папку C:/usr (а не C:/perl, как предлагается по умолчанию).

2. Пути к другим программам, используемым CGI-скриптом.

3. Имена файлов, к которым обращается скрипт.

В Windows нет различий между заглавными и строчными буквами в именах файлов, т.е. A.TXT и a.txt - идентичные имена. В UNIX, на базе которого работает большинство интернет- серверов, заглавные и строчные буквы в именах файлов - различные символы. Таким образом, скрипт, открывающий файл a.txt командой:

open FILE,"a.TXT";

будет нормально работать под Windows, но не захочет работать под UNIX (файл не будет найден).

4. Режим закачки файлов на сервер.

Наиболее частой ошибкой является закачивание всего сайта в "бинарном" режиме. И если с закачанными в таком режиме html и txt - файлами особых проблем не будет (хотя могут возникнуть), закачанные таким образом скрипты работать _не будут_. Все файлы CGI-скриптов, а также используемых ими текстовых файлов, должны быть закачаны в ASCII-режиме.

5. Права доступа к файлам.

Даже если все сделано правильно, скрипт после закачки на UNIX-сервер вряд ли сразу начнет работать.

Для того, чтобы он начал работать, надо установить права доступа для файлов CGI-скрипта и используемых ими файлов.

Как правило, сразу после закачки файлов на сайт им всем устанавливаются некоторый "стандартный" набор прав (по умолчанию), например:

-rw-r--r--

В общем, все файлы с точки зрения необходимого к ним доступа можно разделить на 3 группы:

1. Файлы CGI-скрипта;
2. Файлы, используемые CGI-скриптом для чтения;
3. Файлы, которые CGI-скрипт использует для чтения и записи;

Как правило, хостинг провайдер, разрешающий использование CGI, указывает, какие права доступа должны быть установлены для файлов каждого типа.

Если нет, то в качестве компромисса можно использовать следующие установки:

CGI-скрипт - -rwx-r-x-r-x (755);
Файлы для чтения - -rw-r--r-- (644);
Файлы для записи - -rw-rw-rw- (666);

ВНИМАНИЕ! На некоторых хостингах рекомендуются другие, более строгие конфигурации прав доступа, обеспечивающие более надежную защиту от взлома для Вашего сайта и системы в целом! Поэтому следуйте рекомендациям своего хостинг-провайдера, если они есть!

Часть 4

Разместил:

Автор: Андрей Черный

Комментарии

1. 10.02.08 23:59 От: hu

111

2. 11.02.08 00:01 От: as

%3C%68%31%3E%31%31%31
<h1>111
<h1>111

Ваш комментарий

Обсудить на форуме?

Подумайте, прежде чем высказать своё мнение. Постарайтесь сделать свой комментарий полезным для других. Не используйте ненормативную лексику. Пользователи, пишущие "от нечего делать" бессмысленные наборы символов, будут блокироваться навсегда.