2013-04-23 115 views
0

我与在CentOS 6的Apache2的httpd服务器中安装的web2py,并以https拒绝。我安装了httpd服务器,启用了mod_wsgi,mod_ssl,并配置了ssl certs/keys。在我重新启动httpd服务后,我可以看到WSGIDaemonProcess正在运行,web2py下的所有应用程序目录都被授予对web2py组(这是我选择运行WSGI进程的用户和组)的读/写权限。不过,我试了管理应用程序,欢迎应用程序,都给了我403权限拒绝Apache错误页面(而不是web2py错误页面)。权限由web2py的用的Apache2在CentOS

以下是httpd的配置文件中的虚拟主机段:

NameVirtualHost *:443 
WSGIDaemonProcess web2py user=web2py group=web2py display-name=%{GROUP} 

<VirtualHost *:443> 
    ServerName myserver_ipaddress 
    ServerAlias myserver_hostname 
    WSGIProcessGroup web2py 
    WSGIScriptAlias//home/web2py/web2py/wsgihandler.py 

    <Directory /home/web2py/web2py> 
    AllowOverride None 
    Order Allow,Deny 
    Deny from all 
    ExpiresDefault "access plus 1 month" 
    <Files wsgihandler.py> 
     Allow from all 
    </Files> 
    </Directory> 

    AliasMatch ^/([^/]+)/static/(.*) \ 
     /home/web2py/web2py/applications/$1/static/$2 
    <Directory /home/web2py/web2py/applications/*/static/> 
    Order Allow,Deny 
    Allow from all 
    </Directory> 

    <Location /admin> 
    Allow from all 
    </Location> 

    ScriptAlias /cgi/ "/home/web2py/web2py/cgi-bin/" 
    <Directory "/home/web2py/web2py/cgi-bin/"> 
    AllowOverride None 
    Options None 
    Order allow,deny 
    Allow from all 
    </Directory> 

    <LocationMatch ^/([^/]+)/appadmin> 
    Allow from all 
    </LocationMatch> 

    CustomLog /home/web2py/var/log/apache2/access.log common 
    ErrorLog /home/web2py/var/log/apache2/error.log 
</VirtualHost> 

有谁有一个想法,我做错了什么?或者问题可能在其他地方?

在此先感谢。

回答

0

最后,问题得到解决。这虽然有点愚蠢。 httpd进程由用户apache运行,站点根目录为/ home/web2py/web2py,它由用户web2py(group web2py)拥有。用户apache属于组web2py,但是,默认情况下/ home/web2py目录不可写或可由组执行。

chmod 775 /home/web2py 

解决了这个问题。