Трак после чистой установки.TracError: IOError: [Errno 13] В доступе отказано - PullRequest
0 голосов
/ 20 декабря 2011

У меня чистый CentOS 6. Я просто устанавливаю через yum install httpd mysql-server, python, mysql-python.

Первый шаг

$ trac-admin /home/tracprojects/main2 initenv

Projectимя: главнаяСтрока SQL Connect: mysql: // trac @ localhost: 3306 / trac (база существует, utf8, innoDB)

ОК.

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

ОК.

Второй шаг

Затем я перемещаю cgi-bin/trac.wsgi в папку псевдонимов моего /cgi-bin/ сервера.(mod_wsgi работает хорошо. НЕ как демон. проверено на сценариях wsgi).

Затем я предоставляю разрешения пользователю Apache для целых каталогов, которые я создал ранее.И добавить доступ из конфига apache.(order-allow-deny).

Но когда я открываю свой браузер и захожу на URL, у меня появляется это сообщение об ошибке:

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

Что я делаю неправильно?

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Используете ли вы SElinux (включен по умолчанию)?По умолчанию SElinux я считаю, что Apache не может получить доступ / home.Вы можете проверить это, временно отключив SElinux («setenforce 0» от имени root) и, возможно, перезапустив Apache.Также проверьте /var/log/audit.log.

0 голосов
/ 21 декабря 2011

Проверка разрешений для '/ home / tracprojects' и т. Д. Apache работает как специальный пользователь и может просто не иметь возможности читать в каталогах, читать файлы или даже записывать файлы.

Возможно, вам лучше использоватьРежим демона mod_wsgi и указание mod_wsgi запускать процесс от имени другого пользователя, который может получить доступ к этому расположению.Даже если это сделать, каталог файлов сценариев WSGI все еще должен быть доступен для чтения пользователю Apache.

...