Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Реализация на mason


Автор: kimih 26.12.2009, 10:52
Создание сайта с использованием mason:
Имеются следующие файлы:
autohandler.html
handler.pl
index.html

В файле httpd.conf добавлены следующие строки:

PerlModule HTML::Mason::ApacheHandler
<Directory /data/mason>
   <FilesMatch "\.html$">
      SetHandler perl-script
      PerlHandler HTML::Mason::ApacheHandler
   </FilesMatch> 
</Directory>

PerlSetVar MasonCompRoot /usr/local/www/data
PerlSetVar MasonDataDir /usr/local/www/data/mason 

Расположил в /usr/local/www/data/mason файл index.html. Вызываю этот index.html из браузера но файл autohandler.html не подключается.

Вопросы:
1. Где должен распологаться autohandler.html и почему он не подключается?
2. Для чего нужен и где разместить handler.pl?

P.S. выполняю как указано на http://www.woweb.ru/publ/58-1-0-384

Автор: kimih 26.12.2009, 21:55
Были установлены:
1. Apache 1.3.x
2. mod_perl
3. HTML::Mason + модули от которых зависит данный модуль.

Надо ли устанавливать следующие модули:
1. HTML::Mason::Params
2. HTML::Mason::Component
3. HTML::Mason::ApacheHandler
4. HTML::Mason::Request
5. HTML::Mason::Interp
6. HTML::Mason::CGIHandler
чтобы хоть как то завелся mason с минимальными возможностями?

Добавлено через 8 минут и 21 секунду
Вставляю следующие строки в файл httpd.conf:

<Location />
 SetHandler perl-script
 PerlHandler HTML::Mason::ApacheHandler
</Location>

Перезапускаю сервер. В итоге при запросе главной страницы выдается сообщение об ошибке 500.

Если записываю: 

<Location /usr/local/www/data>
 SetHandler perl-script
 PerlHandler HTML::Mason::ApacheHandler
</Location>

То все работает, но вставленные на главную страницу символы <% 2+2 %> не выдают цифру 4.

Автор: shamber 26.12.2009, 23:13
не работал с Mason, но здравый смысл подсказывает что:
Цитата(kimih @  26.12.2009,  21:55 Найти цитируемый пост)
 PerlHandler HTML::Mason::ApacheHandler

все ж таки требует
Цитата(kimih @  26.12.2009,  21:55 Найти цитируемый пост)
3. HTML::Mason::ApacheHandler


Автор: kimih 28.12.2009, 17:08
Что касается конкретно модуля "HTML::Mason::ApacheHandler" - то он устанавливается по умолчанию с основным модулем "HTML::Mason", вероятно что и те модули также уже установлены, следовательно картина с запуском Mason не меняется - он все также не подает признаков жизни.

Автор: arto 29.12.2009, 09:51
<Directory /data/mason> -- это правильно?

Автор: kimih 29.12.2009, 16:05
Да, правильно. Да и потом я использовал директиву <Location> - дела также не меняет

Автор: kimih 5.1.2010, 19:02
Удалось "завести" mason! Для того чтобы это реализовать необходимо (для apache13):
1. Собственно установленный apache13;
2. Установленный mod_perl;
3. Установленный HTML-Mason (удобно ставить из коллекции портов: /usr/ports/www/p5-HTML-Mason)
4. Затем создать папку "mason" в ./usr/local
5. Группу и пользователя установить www;
6. Добавить строки: 
PerlModule HTML::Mason::ApacheHandler
<Location />
        SetHandler perl-script
        PerlHandler HTML::Mason::ApacheHandler
</Location> 
в httpd.conf.
7. Перезапустить сервер.
Такая настройка <Location /> - предполагает, что обрабатываться через Mason будет весь сервер.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)