Файловый менеджер не загружает файлы
Здравствуйте, Василий!
Есть VPS, настроенный по этой статье. На нём есть несколько сайтов на Modx Revo (разных версий: 2.2.2 и 2.2.4). Так всё работало довольно долго, но внезапно на всех сайтах перестал работать файл-менеджер. Окно менеджера открывается и структура просматривается нормально, но при открытии окна загрузки файлов в строке под заголовком постоянно написано «Ожидание...», а после выбора файла с ПК и его загрузке в примечании к файлу пишет «ОК», но сам файл не загружается. Однажды в примечании к файлу проскочила надпись «У веб-сервера не хватает прав для загрузки файла в каталог».
Права на все папки для загрузки выставлены «777», через фтп загрузка происходит нормально. Подскажите, пожалуйста, в чём может быть причина.
Спасибо.
Есть VPS, настроенный по этой статье. На нём есть несколько сайтов на Modx Revo (разных версий: 2.2.2 и 2.2.4). Так всё работало довольно долго, но внезапно на всех сайтах перестал работать файл-менеджер. Окно менеджера открывается и структура просматривается нормально, но при открытии окна загрузки файлов в строке под заголовком постоянно написано «Ожидание...», а после выбора файла с ПК и его загрузке в примечании к файлу пишет «ОК», но сам файл не загружается. Однажды в примечании к файлу проскочила надпись «У веб-сервера не хватает прав для загрузки файла в каталог».
Права на все папки для загрузки выставлены «777», через фтп загрузка происходит нормально. Подскажите, пожалуйста, в чём может быть причина.
Спасибо.
Комментарии: 16
объем загружаемого файла превышает допустимый размер либо грузите файл недопустимого расширения… выставите настройки в разделе файловая система
Пробовал загружать разные файлы: PNG, JPG, разных размеров. Кроме того это случилось одновременно на нескольких сайтах…
Если сломалось сразу и везде — проблема системная. Php не обновлял, настройки не менял?
Алгоритм починки:
1. Смотрим ошибки загрузки в /var/log/nginx/имясайта-error.log
2. Проверяем наличие директорий /var/www/имясайта/tmp/ — именно туда грузятся файлы, сначала.
3. Проверяем конфиги сайтов в /etc/nginx/sites-enabled/имясайта.pool, особенно смотрим на строчки про upload и tmp.
Не помешает также запустить скрипт, восстанавливающий верные права на файлы и директории сайта, 0777 — это не хорошо.
Если всё сделано по моей инструкции, то имя юзера и группы совпадают друг с другом, а также, с именем директории сайта.
Алгоритм починки:
1. Смотрим ошибки загрузки в /var/log/nginx/имясайта-error.log
2. Проверяем наличие директорий /var/www/имясайта/tmp/ — именно туда грузятся файлы, сначала.
3. Проверяем конфиги сайтов в /etc/nginx/sites-enabled/имясайта.pool, особенно смотрим на строчки про upload и tmp.
Не помешает также запустить скрипт, восстанавливающий верные права на файлы и директории сайта, 0777 — это не хорошо.
#!/bin/bash
USER="имяюзерасайта"
GROUP="имягруппысайта"
chown -R $USER:$GROUP "/var/www/test/www";
find "/var/www/test/www" -type d -exec chmod 0755 '{}' \;
find "/var/www/test/www" -type f -exec chmod 0644 '{}' \;
Если всё сделано по моей инструкции, то имя юзера и группы совпадают друг с другом, а также, с именем директории сайта.
PHP не обновлял, настройки не менял.
1. В логах нашёл такую ошибку:
PHP Warning: File upload error — unable to create a temporary file in Unknown on line 0" while reading response header from upstream, client: 46.119.154.213, server: мойдомен, request: «POST /connectors/browser/file.php HTTP/1.1», upstream: «fastcgi://unix:/var/run/php5-heis.sock:», host: «мойдомен», referrer: «мойдомен/manager/?a=30&id=218»
2. С директорией tmp всё в порядке (права chmod 755). Но самое интересное, что когда я выставляю ей права 777, файл-менеджер начинает работать нормально… Ставлю обратно 755 — перестаёт.
3. С конфигами вроде тоже всё нормально. Всё сделано, как в инструкции.
1. В логах нашёл такую ошибку:
PHP Warning: File upload error — unable to create a temporary file in Unknown on line 0" while reading response header from upstream, client: 46.119.154.213, server: мойдомен, request: «POST /connectors/browser/file.php HTTP/1.1», upstream: «fastcgi://unix:/var/run/php5-heis.sock:», host: «мойдомен», referrer: «мойдомен/manager/?a=30&id=218»
2. С директорией tmp всё в порядке (права chmod 755). Но самое интересное, что когда я выставляю ей права 777, файл-менеджер начинает работать нормально… Ставлю обратно 755 — перестаёт.
3. С конфигами вроде тоже всё нормально. Всё сделано, как в инструкции.
Ну, явно какой то трабл с правами.
Может, директория tmp принадлежит одному юзеру, а процесс php-fpm запущен от другого? В общем, разбирайся, проблему, вроде как, обнаружили.
Может, директория tmp принадлежит одному юзеру, а процесс php-fpm запущен от другого? В общем, разбирайся, проблему, вроде как, обнаружили.
Спасибо, буду разбираться.
Скажите, а возможно, что это проблемы у хостера? Я ведь никаких изменений не делал перед поломкой…
Скажите, а возможно, что это проблемы у хостера? Я ведь никаких изменений не делал перед поломкой…
Сомневаюсь.
Проверьте /var/log/auth.log на предмет посторонних заходом на сервер.
Проверьте /var/log/auth.log на предмет посторонних заходом на сервер.
Обнаружил там очень много повторяющихся строк:
Failed password for root from 65.111.164.195 port 33775 ssh2
reverse mapping checking getaddrinfo for earwyn.emdeenboller.com [65.111.164.195] failed — POSSIBLE BREAK-IN ATTEMPT!
Jan 6 21:58:40 vm10921 sshd[13832]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=65.111.164.195 user=root
Не знаю, должно так быть или нет? Какой-то домен фигурирует — earwyn.emdeenboller.com…
Failed password for root from 65.111.164.195 port 33775 ssh2
reverse mapping checking getaddrinfo for earwyn.emdeenboller.com [65.111.164.195] failed — POSSIBLE BREAK-IN ATTEMPT!
Jan 6 21:58:40 vm10921 sshd[13832]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=65.111.164.195 user=root
Не знаю, должно так быть или нет? Какой-то домен фигурирует — earwyn.emdeenboller.com…
Это нормально — боты пробую подобрать пароль.
А вот если увидишь, что там кто-то, кроме тебя, смог зайти — это беда.
А вот если увидишь, что там кто-то, кроме тебя, смог зайти — это беда.
Понял.
Попытался php-fpm от разных пользователей. Всё тоже самое… Как проверить какому юзеру принадлежит папка tmp?
Попытался php-fpm от разных пользователей. Всё тоже самое… Как проверить какому юзеру принадлежит папка tmp?
В директории сайта:
А процессы php вот так:
ls -lsh ./
А процессы php вот так:
netstat -nlp | grep php5
У меня nginx не давал загружать файлы больше 1 мегабайта. Помогла вот эта статья www.stableit.ru/2009/11/nginx-client-intended-to-send-too-large.html
Добрый день, решили? Столкнулся с той же самой проблемой((
С 13 года, он точно уже решил проблему. =)
Проверьте права на папки, размер файла, разрешение файла, пути в конфигах, права на загрузку. Может быть очень много от чего это зависит.
Проверьте права на папки, размер файла, разрешение файла, пути в конфигах, права на загрузку. Может быть очень много от чего это зависит.
Ну я должен был попробовать)))
Если вдруг кто попадется на этот пост, вот решение:
В настройках php
Если вдруг кто попадется на этот пост, вот решение:
В настройках php
upload_max_filesize стоял 2мб…
А так же нужно будет обратить внимание на post_max_size — для тех, кто столкнется с этой же проблемой.
Классика.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.