Perl по-mod’ному Докучаев Дмитрий aka Forb Xakep, номер #068, стр. 068-108-2 После того, как Perl проведет все необходимые тесты, пиши make install. При удачном раскладе mod_perl установится в систему. Финальным штрихом будет команда apachectl restart, которая перезагрузит сервер. Теперь проверь наличие mod_perl. Напиши telnet 0 80 и два раза жмакай Enter. Если в ответе Апача присутствует подстрока mod_perl в строке Server, то спешу тебя поздравить – ты прошел первую стадию и можешь приступить к случке Apache и модуля :). Поправляем httpd.conf Следующий шаг, который тебе предстоит сделать, – модификация httpd.conf. В конфиг необходимо внести ряд параметров, которые укажут Apache, какие скрипты сервер будет запускать через дополнительный модуль. Для удобства я добавил в основной httpd.conf всего одну строку: include "conf/mod_perl.conf", а все настройки указывал в файле mod_perl.conf (ну не люблю я мусорить в общем конфе :)). Несколько новых директив позволили подвязать мой будущий проект к быстрому mod_perl. Конфиг Apache Alias /perl/ /usr/local/www/htdocs/perl/ PerlModule Apache::Registry PerlModule Apache::DBI >Location /perl< SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI PerlSendHeader On >/Location< В первой секции я определил директорию с исполняемыми сценариями. Затем загрузил модули Apache::Registry и Apache::DBI. В секции Location я четко указал, что при обращении к каталогу /perl все скрипты будут обрабатываться модулем Apache::Registry. Этот сценарий нужен для обработки запускаемых скриптов и посылки хидеров на лету. Теперь перезапускай сервер. Пожалуй, это вся настройка. Твой плацдарм готов для запуска быстрых скриптов :). Кредитная база данных Представь, что на твоем попечении находится крупный интернет-магазин либо порносайт. Либо простой псевдосайт. Неважно. Важно то, что проект должен быть раскрученным и часто обращаться к MySQL. Помнишь, я говорил про Apache::DBI? Этот модуль позволяет быстро и эффективно работать с БД через mod_perl. Пришло время проверить это на практике. Наш проект будет состоять из двух файлов: list.cgi и register.cgi. Первый позволяет просматривать зарегистрированных пользователей по указанному идентификатору. Второй вносит информацию о клиенте в специальную таблицу MySQL. Последнюю мы сейчас и создадим. Логинься к БД и создай таблицу CC в базе shop. Таблица должна иметь следующие столбцы: id (уникальный идентификатор клиента), name (имя клиента), info (адрес и дополнительная информация), cc (номер кредитки), type (тип кредитки), exp (дата истечения срока) и cvv2 (уникальный трехзначный номер карты). Если у тебя возникли трудности в работе с MySQL – смотри скриншот. Теперь приступаем к кодингу сценария register.cgi. Perl-скрипты, которые будут обработаны mod_perl, должны подчиняться трем основным правилам: 1. В сценариях не должна присутствовать директива require(). |