1. Вам надо установить язык, на котором Вы будете писать CGI-скрипты. Например, Perl.
2. Несмотря на то, что скрипты можно запускать и локально, советую для более серъезной отладки поставить WEB-Server. Любителям минимализма можно установить TinyWeb компании RIT Reseach Labs, я люблю отлаживать под Apache. Некоторые советуют Sambar. Но лучше всего использовать тот Веб-сервер, под которым Вы будете хоститься. Хотя это и не так важно. У меня одновременно стоят: Apache, Netscape FastTrack Server, TinyWeb.
3. Из русскоязычной литературы по Perl советую купить "Изучаем Перл" (издательство BHV). Эта книжка является переводом "Learning Perl, 2nd edition" издательства O'Reilly. Кроме этого в сети можно найти книгу Маслова Владимира Викторовича. Покупать ее издание не советую, но как литературу использовать можно.
4. Из англоязычной - книги "Programming Perl, 2nd edition" и "Perl Cookbook". До меня доходили слухи, что последнюю видели в русском электронном варианте на сидишке, но точно сказать не могу. Хотя ее перевод сейчас осуществляется. Но так как она у меня есть в бумажном английском варианте, то я и не искал русский.
5. Советую попытаться написать собственные стандартные скрипты - форумы, гостевые книги, счетчики. А потом посмотреть, что сделали другие.
Большое спасибо за совет, В.Н.! Не могли бы Вы описать по подробнее, как именно прописать путь к своему CGI-скрипту (или PERLу), чтобы мой сервер автоматически запускал PERL для выполнения этого скрипта. А может я что-то не туда установил?
Это зависит от сервера. Во-певых, надо ассациировать файлы с расширением pl (cgi, p или какое вы там используете) с Перлом. Если у вас перл от www.activestate.com (кстати, рекомендую) -- это у вас уже сделано при инсталляции.
Во-вторых, надо разрешить выполнение скриптов из той директории, где вы их размещаете. Как это сделать, написано в доке по серверу. У тинивеба можно использовать только директорию cgi-bin. Для апача нужно прописать параметр Script-alias в файле httpd.conf. Для IIS/PWS надо выставить права на чтение и выполнение на директорий со скриптами при помощи management console. Читай доку по серверу.
Наконец, надо _ПРАВИЛЬНО_ прописать в первой строчке скрипта путь к перлу, многие сервера используют его даже под Windows. Например,
Поставил я на этот директорий полный доспут для всех. всеравно. да и нашел как ставить эти циферки - в Far ставишь свойиства файла и там все показывает. Буду писать им.
У них там на сайте все написано я сделал как у них - всеравно.
На virtualave.net нельзя использовать $ENV{'HTTP_COOKIE'}. Многие пользователи отключают поддержку Java и PERL единственная надежда. Как можно скриптом послать "ключик" в броузер и обрабатывать посылки броузера при повторном использовании посетителем CGI скрипта?
Пожалуйста, подробнее - я не волшебник, а только учусь.
Послушай, у меня такая же проблема была (долго мучился) Алекс прав - надо только вырезать символ (ASCII-13), на webclub.ru предлагают для этого перл-скрипт, но можно проще. Возьми у меня на http://bforum.virtualave.net маленькую утилитку и повырезай лишний символ в свой скриптах и все заработает.
Надо с www.activstate.com скачать perl, в их дистрибуцию входит perl for ISAPI. И там же описано, как его настроить, в FAQ поставляемом с дистрибуцией.
В форуме на virtualave.net я использую DB_File. После 25 числа часть скрипта, работавшая с базами не функционирует. Кто-нибудь знает, что на virtualave.net случилось?
Страницы
lama book в том же формате. Жду писем.
Разумеется в HTML.
Заранее благодарен,
Кирилл
$_="test";
$_.="&"; // $_ теперь равно "test&"
Удачи!
2. Несмотря на то, что скрипты можно запускать и локально, советую для более серъезной отладки поставить WEB-Server. Любителям минимализма можно установить TinyWeb компании RIT Reseach Labs, я люблю отлаживать под Apache. Некоторые советуют Sambar. Но лучше всего использовать тот Веб-сервер, под которым Вы будете хоститься. Хотя это и не так важно. У меня одновременно стоят: Apache, Netscape FastTrack Server, TinyWeb.
3. Из русскоязычной литературы по Perl советую купить "Изучаем Перл" (издательство BHV). Эта книжка является переводом "Learning Perl, 2nd edition" издательства O'Reilly. Кроме этого в сети можно найти книгу Маслова Владимира Викторовича. Покупать ее издание не советую, но как литературу использовать можно.
4. Из англоязычной - книги "Programming Perl, 2nd edition" и "Perl Cookbook". До меня доходили слухи, что последнюю видели в русском электронном варианте на сидишке, но точно сказать не могу. Хотя ее перевод сейчас осуществляется. Но так как она у меня есть в бумажном английском варианте, то я и не искал русский.
5. Советую попытаться написать собственные стандартные скрипты - форумы, гостевые книги, счетчики. А потом посмотреть, что сделали другие.
С уважением, В.Н.
Заранее спасибо.
Во-вторых, надо разрешить выполнение скриптов из той директории, где вы их размещаете. Как это сделать, написано в доке по серверу. У тинивеба можно использовать только директорию cgi-bin. Для апача нужно прописать параметр Script-alias в файле httpd.conf. Для IIS/PWS надо выставить права на чтение и выполнение на директорий со скриптами при помощи management console. Читай доку по серверу.
Наконец, надо _ПРАВИЛЬНО_ прописать в первой строчке скрипта путь к перлу, многие сервера используют его даже под Windows. Например,
#!D:\Perl\bin\perl.exe
После этого должно работать.
А где его взять на NT?
и вообще что значат все эти 777 - 666?
первая цифра - права владельца
вторая цифра - права группы
третья цифра - права для всех остальных
далее 1 - это право на запуск, 2 - на запись, 4 - на чтение
1+2+4=7 (в двоичной системе 111) - это значит, что установлены все права
Еще! Я сделал директорий cgi-bin списал туда файл. На серваке все есть. Запускаю файл - пишет, что нет этого директория?
Впрочем можете посмотреть на сайте www.dfpoint.com нажав на раздел форум.
1. Надо поставить права на директорию, как минимум 755
2. Если у HTTPD сервера не настроен запуск скриптов по расширению, то надо разрешить запуск скриптов из данной директории
У них там на сайте все написано я сделал как у них - всеравно.
С уважением, В.Н.
Кристиансен, Perl: библиотека программиста
стоимость - 3 200 000 (может кто и другую цену найдет - не знаю)
С уважением, В.Н.
Пожалуйста, подробнее - я не волшебник, а только учусь.
Заранее благодарен. Ракицкий С. Е.
Поставить ключик можно так:
print "Set-Cookie: COOKIE_NAME=COOKIE_VALUE\;";
Получить ключик можно так:
$mycookies = "$ENV{'HTTP_COOKIE'}"; # Все ключики
@mycookiess = split (/; /,$mycookies); # Делим на месте ;
foreach $keys (@mycookiess){
if ($keys =~ /COOKIE_NAME=/) # Ищем наш ключик
{
@twoparts = split (/=/, $keys); # Нашли и делим на месте =
$ourcookiename = $twoparts[0];
$lines =~ s/$ourcookiename//;
$ourcookie = $twoparts[1]; # $ourcookie Теперь равно значению нашего ключика
last;
}
}
Ракицкий С. Е.
А www.perl.com(.org .net) ?
Apache одназначно. И под *никсы и под НТ. Проще будет.
Послушай, у меня такая же проблема была (долго мучился) Алекс прав - надо только вырезать символ (ASCII-13), на webclub.ru предлагают для этого перл-скрипт, но можно проще. Возьми у меня на http://bforum.virtualave.net маленькую утилитку и повырезай лишний символ в свой скриптах и все заработает.
Ракицкий С. Е.
Страницы