2014-01-20 32 views
0
使用的web2py

我得到403与网页禁止显示:获得403禁止与错误的Apache2 WSGI在Fedora

Forbidden 
You don't have permission to access/on this server. 

访问日志显示了以下对应于此:

[Mon Jan 20 17:12:03.888576 2014] [authz_core:error] [pid 1940] [client XX.XX.XX.XX:32491] AH01630: client denied by server configuration: /opt/web-apps/web2py/wsgihandler.py 

我已为以上目录设置以下权限:

 /]# ls -ld opt 
drwxrwxrwx. 4 root root 4096 Jan 10 20:05 opt 

    opt]# ls -ld web-apps 
drwxrwxrwx 3 root root 4096 Jan 10 20:10 web-apps 

web-apps]# ls -ld web2py 
drwxr-xr-x 11 apache apache 4096 Jan 10 21:21 web2py 

    web2py]# ls -l wsgihandler.py 
drwxrwxr-x 1 apache apache 1128 Nov 28 19:23 wsgihandler.py 

而我的conf文件/ etc/http d/conf.d/default.conf如下:

NameVirtualHost *:80 
NameVirtualHost *:443 

<VirtualHost *:80> 
    WSGIDaemonProcess web2py user=apache group=apache processes=1 threads=1 
    WSGIProcessGroup web2py 
    WSGIScriptAlias//opt/web-apps/web2py/wsgihandler.py 
    WSGIPassAuthorization On 

    <Directory /opt/web-apps/web2py> 
    AllowOverride None 
    Order Allow,Deny 
    Deny from all 
    <Files wsgihandler.py> 
     Allow from all 
    </Files> 
    </Directory> 

    AliasMatch ^/([^/]+)/static/(?:_[\d]+.[\d]+.[\d]+/)?(.*) /opt/web-apps/web2py/applications/$1/static/$2 

    <Directory /opt/web-apps/web2py/applications/*/static> 
    Options -Indexes 
    Order Allow,Deny 
    Allow from all 
    </Directory> 

    <Location /admin> 
    Deny from all 
    </Location> 

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

    CustomLog /var/log/httpd/access_log common 
    ErrorLog /var/log/httpd/error_log 
</VirtualHost> 

<VirtualHost *:443> 
    SSLEngine on 
    SSLCertificateFile /etc/httpd/ssl/self_signed.cert 
    SSLCertificateKeyFile /etc/httpd/ssl/self_signed.key 

    WSGIProcessGroup web2py 
    WSGIScriptAlias /web2py /opt/web-apps/web2py/wsgihandler.py 
    WSGIPassAuthorization On 

    <Directory /opt/web-apps/web2py> 
    AllowOverride None 
    Order Allow,Deny 
    Deny from all 
    <Files wsgihandler.py> 
     Allow from all 
    </Files> 
    </Directory> 

    AliasMatch ^/([^/]+)/static/(?:_[\d]+.[\d]+.[\d]+/)?(.*) /opt/web-apps/web2py/applications/$1/static/$2 

    <Directory /opt/web-apps/web2py/applications/*/static> 
    Options -Indexes 
    ExpiresActive On 
    ExpiresDefault "access plus 1 hour" 
    Order Allow,Deny 
    Allow from all 
    </Directory> 

    CustomLog /var/log/httpd/access_log common 
    ErrorLog /var/log/httpd/error_log 
</VirtualHost> 
+0

这是问题,如果阿帕奇读到这里http://stackoverflow.com/questions/10873295/error-message-forbidden-you-dont-have-允许访问本服务器 –

+0

@Yogesh试过。并仍然得到相同的错误。增加了以下内容: #Options的FollowSymLinks 选项指标包括了FollowSymLinks ExecCGI 的AllowOverride所有 订单拒绝,允许 所有 允许 – vivekprakash

回答

0

试试这个: 首先,如果你有Linux用户apache和组阿帕奇然后把你的web2py的目录中的/ home/apache中/后像这样改变你的apache站点 - 可用文件。希望这会为你。

<VirtualHost *:80> 
    ServerName example.com 
    WSGIDaemonProcess web2py user=apache group=apache display-name=%{GROUP} 
    WSGIProcessGroup web2py 
    WSGIScriptAlias//home/apache/web2py/wsgihandler.py 

    <Directory /home/apache/web2py> 
    AllowOverride None 
    Order Allow,Deny 
    Deny from all 
    <Files wsgihandler.py> 
     Allow from all 
    </Files> 
    </Directory> 

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

如果您使用的virtualenv检查WSGI文件,以及这样的:

activate_this = '/path/to/virtualenv/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this) 
import sys 
sys.path.insert(0, '/path/to/web2py_dir')