Apache-Mod Perl-Unknown Authz提供程序';访问';
我正在尝试在新的Linux环境中设置和运行一个旧的Web应用程序(编写于2010年)。Apache服务器未启动,因为下面给出的配置导致错误Apache-Mod Perl-Unknown Authz提供程序';访问';,perl,apache2,mod-perl,Perl,Apache2,Mod Perl,我正在尝试在新的Linux环境中设置和运行一个旧的Web应用程序(编写于2010年)。Apache服务器未启动,因为下面给出的配置导致错误未知Authz提供程序访问 <Directory /srv/webapp> Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch SetOutputFilter DEFLATE ExpiresActive On ExpiresDefault "3 Months"
未知Authz提供程序访问
<Directory /srv/webapp>
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
SetOutputFilter DEFLATE
ExpiresActive On
ExpiresDefault "3 Months"
AuthType security::AuthCookieHandler
AuthName Maxio
PerlAuthenHandler security::AuthCookieHandler->authenticate
PerlAuthzHandler security::AuthCookieHandler->authorize
require access
</Directory>
我知道这是基于mod_perl
的身份验证,但以前从未使用过。如果禁用此身份验证,并且应用程序在浏览器中加载,Apache将启动
所以问题是
require-access
是否应该从子访问
获取返回值子访问
access
是什么经过几个小时的研究,我发现这是因为Apache和mod_perl的最新版本发生了变化 从和中,我了解到Apache2.4需要mod_perl版本2.0.9或更高版本 此外,必须使用
PerlAddAuthzProvider
添加自定义Authz提供程序。我能够通过这样做来解决我的问题
PerlAddAuthzProvider access security::AuthCookieHandler->access
...
...
<Directory /srv/webapp>
...
...
require access
</Directory>
PerlAddAuthzProvider访问安全::AuthCookieHandler->access
...
...
...
...
需要访问
PerlAddAuthzProvider access security::AuthCookieHandler->access
...
...
<Directory /srv/webapp>
...
...
require access
</Directory>