apache2:如何找出403错误的原因?

时间:2011-10-17 16:31:32

标签: perl apache mojolicious

那是来自apache error_log:

  

[Mon Oct 17 17:55:42 2011] [错误] [客户端127.0.0.1](13)权限被拒绝:访问/index.html被拒绝

/etc/apache2/vhosts.d我已创建此文件:

<VirtualHost 127.0.0.1:3000>
    DocumentRoot "/home/mm/lib/vokabeltrainer"
    ServerName localhost:3000
    <Directory "/home/mm/lib/vokabeltrainer">
    Options FollowSymLinks ExecCGI
    AddHandler cgi-script .pl
    IndexIgnore *
    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/public/%{REQUEST_URI} -f
    RewriteRule ^(.*) public/$1 [L]
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
    RewriteRule ^(.*) vokabeltrainer.pl [L]
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

/etc/apache2/listen.conf看起来像这样:

Listen 127.0.0.1:3000
NameVirtualHost 127.0.0.1:3000

为了进行测试,我修改了chmod -R 0777 /home/mm/lib/vokabeltrainer

这样的文件夹

当我使用morbo开发服务器运行vokabeltrainer.pl(Mojolicious :: Lite脚本)时,它可以工作。

有人知道我应该看看吗?

1 个答案:

答案 0 :(得分:0)

正如Ikegami指出的那样,我的第一个问题是我没有考虑路径的/ home / mm / lib部分:lib-directory没有足够的权限所以我不得不提供所需的权利。 然后我将shebang形式的路径/ usr / local / bin / perl更改为/ usr / bin / perl,并为/ usr / bin / perl安装了Mojolicious :: Lite。

我必须做的最后一件事就是写下http://localhost:3000/vokabeltrainer.pl/random而不是http://localhost:3000/random的网址。
(在Pretty "Web 2.0" URLs mojo/wiki/Apache-deployment处显示了一种保留短网址的方法