0

我有干净的 CentOS 6。我只是通过yum install httpd mysql-server, python, mysql-python.

第一步

$ trac-admin /home/tracprojects/main2 initenv

项目名称:主
SQL 连接字符串:mysql://trac@localhost:3306/trac (base exists, utf8, innoDB)

好的。

$ trac-admin /home/tracprojects/main2 deploy /var/www/html/

好的。


第二步

然后我移动cgi-bin/trac.wsgi到我/cgi-bin/的服务器的别名文件夹。(mod_wsgi 运行良好。不是作为守护进程。在 wsgi 脚本上测试)。

然后我授予 Apache 用户对我之前创建的整个目录的权限。并从 apache config 添加访问权限。(订单允许拒绝)。

但是当我打开浏览器并转到 url 时,我收到了以下错误消息:

Internal Server Error
TracError: IOError: [Errno 13] Permission denied: '/home/tracprojects/main2/VERSION'

我做错了什么?

4

2 回答 2

1

您使用 SElinux(默认启用)吗?使用默认的 SElinux,我相信 Apache 无法访问 /home。您可以通过暂时禁用 SElinux(“setenforce 0”作为 root)并重新启动 Apache 来检查这一点。还要检查 /var/log/audit.log。

于 2011-12-20T15:31:11.757 回答
0

检查“/home/tracprojects”等的权限。Apache 以特殊用户身份运行,可能无法读取目录、读取文件甚至写入文件。

您最好使用 mod_wsgi 守护程序模式并告诉 mod_wsgi 以可以访问该位置的不同用户身份运行该进程。即使这样做,WSGI 脚本文件目录仍然至少需要 Apache 用户可读。

于 2011-12-20T22:58:48.330 回答