Apache mod_wsgi:访问页面时出现权限错误
我在这个Apache服务器上尝试运行Django,使用的是Python 3.3。
httpd
(Apache的服务程序)启动得很顺利,但一旦我试图访问 localhost
(本地服务器),就出现了500错误。Apache的日志里显示了这个:
[Wed Aug 20 13:50:24 2014] [error] [client 127.0.0.1] PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.3/site-packages/django/__init__.py'
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] mod_wsgi (pid=691): Target WSGI script '/var/www/tabstat/projet_tabstat/wsgi.py' cannot be loaded as Python module.
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] mod_wsgi (pid=691): Exception occurred processing WSGI script '/var/www/tabstat/projet_tabstat/wsgi.py'.
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] Traceback (most recent call last):
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "/var/www/tabstat/projet_tabstat/wsgi.py", line 13, in <module>
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] from django.core.wsgi import get_wsgi_application
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 1022, in load_module
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 1003, in load_module
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 853, in _load_module
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 977, in get_code
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] File "<frozen importlib._bootstrap>", line 1031, in get_data
[Wed Aug 20 13:50:26 2014] [error] [client 127.0.0.1] PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.3/site-packages/django/__init__.py'
我试过用 chmod 777 __init__.py
来修改权限,但没有任何变化。我在想,是什么原因导致了这个错误……
2 个回答
1
与其关闭selinux,不如运行下面的命令:
restorecon -R /path/to/your/project/
restorecon -R /path/to/python/site-packages/
chcon -u system_u /path/to/your/project/ -R
chcon -u system_u /path/to/python/site-packages/ -R
chown apache.apache /path/to/your/project/ -R
chown apache.apache /path/to/python/site-packages/ -R
# Remember to restart apache
systemctl restart httpd.service
0
我发现是因为SELinux
不信任这个文件,原因不明。