获得403禁止错误使用的web2py与Fedora上的Apache2 WSGI(Getting 40

2019-10-19 06:00发布

我得到403与网页显示禁止访问:

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/httpd/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>

Answer 1:

试试这个:如果你有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')


Answer 2:

这主要是因为你的Apache2版本是2.4。 您将需要升级的conf文件..按照链接升级apache2 2.4



文章来源: Getting 403 Forbidden Error Using web2py with Apache2 WSGI on Fedora