2012-05-18 2 views
0

파일 업로드 필드가있는 모델이 포함 된 django 앱이 있습니다. 업로드 필드는 대상 파일을 가져 와서 복사본을 미디어 루트의 기존 디렉토리에 업로드하거나 디렉토리가 생성되지 않은 경우 디렉토리를 만들고 그 안에 파일을 삭제합니다.django mkdir 아파치 사용 권한

앱이 장고 서버 내장,하지만 난 프로덕션 서버로 이동할 때 얻을 (내 OSX 기계 mod_wsgi에 가진 아파치 인스턴스를 실행) "[오류가 13] 권한이 거부되었습니다"던져 활용, 개발에 아름답게 작동

파일을 업로드하려고 할 때마다 django의 storage.py에있는 mkdir 함수에서 가져온다. 나는 강력한 아파치 httpd.conf에 추가되어야하는 구문이 있는지 의심 스럽다. 나는 왜 장고 서버가 코드가 아니라 아파치 개그에 문제가 없는지 모르겠다. 아는 사람 있나요? 때때로 오류 메시지가 그것이 말합니다 정확히 같아요

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User

+0

두 폴더의 사용 권한은 무엇입니까? – bcoughlan

+0

방금 ​​고쳤습니다. 너무 간단했다. 귀하의 의견을 제안, 그냥 방금 두 폴더에 직접 사용 권한을 변경했다. 감사. – kjarsenal

+0

serverfault에 있어야합니다 ... –

답변

0

권한 문제에 mod_wsgi에 설명서에 설명되어 있습니다. 이 경우 "django 앱이 업로드하려고 시도한 디렉토리에 대한 쓰기 권한이 아파치에 없으므로"[오류 13] 권한이 거부되었습니다. " 간단히 파일 업로드 디렉토리로 설정 한 디렉토리로 이동하여 시스템 전반에 대한 쓰기 권한을 부여했습니다. 이것은 아마도 가장 안전한 해결책은 아니지만 실제로는 가장 실용적인 것으로 작동하며 시스템 전체에서 디렉토리를 열지 않고 apache2에 대한 쓰기 권한을 명시 적으로 설정하는 방법을 알지 못합니다.

또한 나는 그것이 장고 설정 문제인지 또는 아파치 문제인지를 알지 못하기 때문에 serverfault에서 질문을 게시하지 않았습니다.