Файловый менеджер не загружает файлы

Здравствуйте, Василий!

Есть VPS, настроенный по этой статье. На нём есть несколько сайтов на Modx Revo (разных версий: 2.2.2 и 2.2.4). Так всё работало довольно долго, но внезапно на всех сайтах перестал работать файл-менеджер. Окно менеджера открывается и структура просматривается нормально, но при открытии окна загрузки файлов в строке под заголовком постоянно написано «Ожидание...», а после выбора файла с ПК и его загрузке в примечании к файлу пишет «ОК», но сам файл не загружается. Однажды в примечании к файлу проскочила надпись «У веб-сервера не хватает прав для загрузки файла в каталог».

Права на все папки для загрузки выставлены «777», через фтп загрузка происходит нормально. Подскажите, пожалуйста, в чём может быть причина.

Спасибо.
Kyrychyk Roman
08 января 2013, 21:31
modx.pro
11 808
0

Комментарии: 16

Мордынский Николай
09 января 2013, 01:50
0
объем загружаемого файла превышает допустимый размер либо грузите файл недопустимого расширения… выставите настройки в разделе файловая система
    Kyrychyk Roman
    09 января 2013, 02:18
    0
    Пробовал загружать разные файлы: PNG, JPG, разных размеров. Кроме того это случилось одновременно на нескольких сайтах…
    Василий Наумкин
    09 января 2013, 08:29
    1
    0
    Если сломалось сразу и везде — проблема системная. Php не обновлял, настройки не менял?

    Алгоритм починки:
    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 '{}' \;

    Если всё сделано по моей инструкции, то имя юзера и группы совпадают друг с другом, а также, с именем директории сайта.
      Kyrychyk Roman
      09 января 2013, 15:44
      0
      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. С конфигами вроде тоже всё нормально. Всё сделано, как в инструкции.
        Василий Наумкин
        09 января 2013, 15:46
        0
        Ну, явно какой то трабл с правами.

        Может, директория tmp принадлежит одному юзеру, а процесс php-fpm запущен от другого? В общем, разбирайся, проблему, вроде как, обнаружили.
          Kyrychyk Roman
          09 января 2013, 17:03
          0
          Спасибо, буду разбираться.

          Скажите, а возможно, что это проблемы у хостера? Я ведь никаких изменений не делал перед поломкой…
            Василий Наумкин
            09 января 2013, 17:24
            0
            Сомневаюсь.

            Проверьте /var/log/auth.log на предмет посторонних заходом на сервер.
              Kyrychyk Roman
              09 января 2013, 18:11
              0
              Обнаружил там очень много повторяющихся строк:

              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…
                Василий Наумкин
                09 января 2013, 18:19
                0
                Это нормально — боты пробую подобрать пароль.

                А вот если увидишь, что там кто-то, кроме тебя, смог зайти — это беда.
                  Kyrychyk Roman
                  09 января 2013, 18:42
                  0
                  Понял.
                  Попытался php-fpm от разных пользователей. Всё тоже самое… Как проверить какому юзеру принадлежит папка tmp?
                    Василий Наумкин
                    09 января 2013, 19:42
                    0
                    В директории сайта:
                    ls -lsh ./

                    А процессы php вот так:
                    netstat -nlp | grep php5
      Игорь Терентьев
      28 мая 2018, 07:20
      0
      У меня nginx не давал загружать файлы больше 1 мегабайта. Помогла вот эта статья www.stableit.ru/2009/11/nginx-client-intended-to-send-too-large.html
        Дмитрий
        07 сентября 2022, 06:17
        0
        Добрый день, решили? Столкнулся с той же самой проблемой((
          Роман
          08 сентября 2022, 16:33
          +1
          С 13 года, он точно уже решил проблему. =)
          Проверьте права на папки, размер файла, разрешение файла, пути в конфигах, права на загрузку. Может быть очень много от чего это зависит.
            Дмитрий
            08 сентября 2022, 16:37
            0
            Ну я должен был попробовать)))
            Если вдруг кто попадется на этот пост, вот решение:
            В настройках php
            upload_max_filesize стоял 2мб…
            А так же нужно будет обратить внимание на post_max_size — для тех, кто столкнется с этой же проблемой.
              Роман
              08 сентября 2022, 17:27
              0
              Классика.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          16