2014-10-11 3 views
1

Я пробовал все, что я нашел по этой проблеме, но ничто не помогло мне решить эту проблему.Django uploading file - permission denied

Когда я пытаюсь загрузить что-то на моем веб-сайте я получаю эту ошибку:

OSError: [Errno 13] Permission denied: '/home/****/www/site.com/media/news/some_file.pdf' 

Ls -l СМИ дает мне следующий:

drwxrwxr-x 2 www-data www-data 4096 Oct 11 23:13 news 

поэтому разрешения в порядке.

Все работает хорошо с сервером разработки, но теперь в производстве я просто не могу загрузить что-либо.

Как это исправить?

+0

когда вы 'su' как www-данные, можете ли вы написать в этой папке? – Zulu

+0

Является ли ваш экземпляр django запущенным под 'www-data'? – elssar

+0

Я не знаю, как это проверить. Я использую putty, и я могу войти на свой сервер как «root» и как один пользователь, который может видеть только www-папку и ее подпапки. Я не знаю, как войти в систему как пользователь www-data, чтобы я мог проверить, что вы предложили парням. –

ответ

1

Как noob для linux/apache Я не знал, что пользователь по умолчанию для apache в CentOS (который я запускаю на своем сервере) равен apache, а не www-data.

So chown -R apache:apache media сделал трюк.

В последние несколько дней я искал кучу тем, касающихся этой проблемы, и никто из них не упомянул, что есть другой пользователь по умолчанию, а www-data. Похоже, что большинство пользователей запускают Ubuntu, поскольку все говорят о www-данных.