MojoliciousをApache上でindex.cgi経由で動かす
なんか凄く久々にperl触った気がする!!!!
中々うまくいかなかったのですが、下記の設定で動作しました。
サンプルのアプリはこちら(http://gihyo.jp/dev/feature/01/mojo/0002?page=2)のものをつかっています。
ディレクトリ構造
[yuki@sorauta simple_wiki]$ pwd
/var/www/simple_wiki
[yuki@sorauta simple_wiki]$ tree
.
-- data | ||
-- 1 | ||
-- 10 | ||
-- 1111 | ||
-- 3 | ||
`-- 4 | ||
-- favicon.ico | ||
-- lib | ||
-- SimpleWiki | ||
-- Entry.pm | ||
-- Example.pm | ||
`-- Model.pm | ||
`-- SimpleWiki.pm | ||
-- log | ||
`-- development.log | ||
-- public | ||
`-- index.cgi | ||
-- script | ||
-- app.psgi | ||
`-- simple_wiki | ||
-- t | ||
`-- basic.t |
`-- templates
|-- entry
| |-- create.html.ep
| `-- read.html.ep
|-- example
| `-- welcome.html.ep
`-- layouts
`-- default.html.ep
httpd.conf
ServerName simple_wiki.sorauta.net
DocumentRoot "/var/www/simple_wiki/public"
Options Includes ExecCGI SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
Allow from allRewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ index.cgi$1 [QSA,L]
RewriteRule . /index.cgi [L]
index.cgi
#!/usr/bin/perl
use strict;
use warnings;
use utf8;use lib qw(
/var/www/simple_wiki/lib
);
use Mojo::Server::CGI;$ENV{MOJO_APP} = 'SimpleWiki';
$ENV{SCRIPT_NAME} = "/";1;
・参考
http://yanor.net/wiki/?Perl/Mojo/Apache%E3%81%ABCGI%E3%81%A7%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4
http://d.hatena.ne.jp/noblejasper/20090917/1253194871
http://groups.google.com/group/mojolicious/browse_thread/thread/93a660540d6f7cc1