2011-12-20 1 views
0

깨끗한 CentOS 6이 있습니다. 방금 yum install httpd mysql-server, python, mysql-python을 통해 설치합니다.새로 설치 한 후 Trac. TracError : IOError : [Errno 13] 사용 권한이 거부되었습니다.

첫 단계

$ trac-admin /home/tracprojects/main2 initenv

Project name: Main
SQL Connect string: mysql://[email protected]:3306/trac (base exists, utf8, innoDB)

OK.

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

OK.


번째 단계

그러면 cgi-bin/trac.wsgi을 내 /cgi-bin/ 서버의 별칭 폴더로 이동합니다. (mod_wsgi는 잘 작동합니다. 데몬은 아니며 wsgi 스크립트에서 테스트되었습니다.)

그런 다음 이전에 작성한 전체 디렉토리에 대해 Apache 사용자에게 권한을 부여했습니다. 그리고 아파치 설정에서 액세스를 추가하십시오. (주문 허용 거부). 내가 잘못 할 무엇

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

: 내 브라우저를 열고 URL에 갈 때

하지만,이 오류 메시지가있어?

답변

1

SElinux를 사용합니까 (기본 설정)? 기본 SElinux에서는 Apache가/home에 액세스 할 수 없다고 생각합니다. SElinux를 일시적으로 비활성화 (root로 "setenforce 0")하고 Apache를 다시 시작하면이 문제를 확인할 수 있습니다. /var/log/audit.log도 확인하십시오.

+0

페도라 시스템을 사용 중이면 아파치가 홈 디렉토리에 액세스 할 수 있도록 허용하는 등 문제를 알려주고 몇 가지 옵션을 제공하는 팝업을 표시해야합니다. 그러나 파일의 컨텍스트도 확인하십시오. 다른 폴더에서 만들어지고 이동 되었기 때문에 컨텍스트가 현재 살고있는 폴더와 일치하지 않을 수 있습니다. 'ls -Z'는 컨텍스트를 표시하고,'restorecon'은 새 위치에 대한 컨텍스트를 기본값으로 설정합니다 (또는 수동으로 지정하는'chcon '). CGI 스크립트의 기본 설정 :'chcon -t httpd_sys_script_exec_t (FILE)' – BRFennPocock

+1

멋진 문제 해결 치트 시트 : http://centoshelp.org/security/selinux-common-commands-troubleshooting/ – BRFennPocock

0

'/ home/tracprojects'등의 권한을 확인하십시오. Apache는 특별한 사용자로 실행되며 단순히 디렉토리로 읽거나 파일을 읽거나 파일을 쓸 수 없습니다.

mod_wsgi 데몬 모드를 사용하고 mod_wsgi에게 프로세스를 해당 위치에 액세스 할 수있는 다른 사용자로 실행하는 것이 더 나을 것입니다. 이렇게하더라도 WSGI 스크립트 파일 디렉토리는 Apache 사용자가 읽을 수 있어야합니다.

+1

문제가 있습니다. 문제가 있습니다. SELinux 보안 정책. 방금 ​​실행했습니다 :'grep VERSION /var/log/audit/audit.log | audit2allow -M tracrule'을 실행하면됩니다. – woozly

관련 문제