Загруженный файл не удалось переместить в wp-content/uploads

Продолжаю я настраивать VPS сервер на CloudMouse, и один мой сайт там уже успешно крутится. Но тут возникла проблема: картинки при написании статьи не загружаются! Выдает ошибку: Загруженный файл не удалось переместить в wp-content/uploads. В чем проблема?

Проблема, в принципе, решается просто — на эту папку можно установить права 777 и тогда все будет грузиться как надо. Но права 777  — это дыра, так как папка становится доступна для записи всем.

Загруженный файл не удалось переместить в wp-content/uploads

В интернете проблема поднята на многих форумах, кто то пишет, что ничего страшного, так как на сервере ты один и это не так страшно. Кто то пишет, что это опасно, так как можно купить сервер на этом же хостинге и получить доступ к этой папке.

Лично я перешел на VPS исключительно с целью увеличить безопасность. Меня уже не раз ломали на моём хостинге HTS (тут я рассказывал о том, как можно проверить сайт на вирусы), и два раза заливали дорвеи как раз в папку wp-content/uploads.

На хостинге к этой папке у меня стояли права 755, и это то, что нужно. Но 777 я ставить принципиально не хотел, даже если угроза не так серьезна. Что же делать?

Как решить проблему «Загруженный файл не удалось переместить в wp-content/uploads»?

Потратил я пол часа на поиски решения, и еле нашел его на одном англоязычном сайте, где все задают вопросы, а на них отвечают. И вот там был как раз такой вопрос. И на него был маленький ответ, который и решил мою проблему. Все оказалось как всегда очень просто!

Для решения проблемы открываем терминал и подключаемся к хостингу через SSH. Переходим в папку wp-content (на примере моего сайта):

Далее даем такую команду:

Что мы сделали? Мы поменяли владельца этой папки с текущего на www-data. Теперь можно дать папке и файлам нужные права:

Все, теперь папка и все файлы в ней имеют права 755, то есть только владелец имеет права на запись. Но при этом WordPress будет иметь доступ к этой папке и иметь возможность грузить туда картинки.

Как избежать прав 777 на wp-content/uploads

Ну вот и все, теперь картинки отлично загружаются в статью, и прав 777 при этом на папку upload нет. Написал себе как шпаргалку, но уверен, кому то тоже может пригодиться.

Если у вас свой сервер, то есть лучший способ решения проблемы — это назначить пользователем на папки себя. Я не имею ввиду логин сервера, но логин в ISPmanager, найти его можно тут: УЧЕТНЫЕ ЗАПИСИ — ПОЛЬЗОВАТЕЛИ

не могу загрузить картинку на сайт
Когда мы посмотрели свой логин, открываем консоль сервера и даем команду:

Все, теперь вы сможете загружать все фото без проблем. Кстати, если вы дадите такие права всем файлам на сайте, то и шаблоны, и плагины вы сможете загружать и обновлять без FTP или SSH доступа, что очень удобно! Успехов!

Что будет непонятно — СПРАШИВАЙТЕ!

Оцените статью
Просто Линукс
Добавить комментарий

  1. Сергей

    думаю вскорости перейти на ВПС сервера нравиться статья учиться никогда не поздно:)

  2. Сергей

    думаю вскорости перейти на ВПС сервера нравиться статья учиться никогда не поздно:)

  3. prostolinux автор

    Учиться всегда нужно. На днях (может сегодня) напишу, как правильно переносить сайт на #VPS — это я пока описываю трудности, с которыми неожиданно встретился.

  4. prostolinux автор

    Учиться всегда нужно. На днях (может сегодня) напишу, как правильно переносить сайт на #VPS — это я пока описываю трудности, с которыми неожиданно встретился.

  5. Александр

    Спасибо! А то в инете везде советуют долбанные семерки, а тут отличное толковое решение!

  6. Александр

    Спасибо! А то в инете везде советуют долбанные семерки, а тут отличное толковое решение!

  7. AlexGrRu

    Статья и вправду полезная.
    Есть еще один момент с подобной ошибкой, как это было у меня, в настройках www домена (в моем случае панель ISPmanager) стояла настройка «PHP как модуль Apache», а надо что б было «PHP как CGI»…

    Может кому пригодиться..

  8. AlexGrRu

    Статья и вправду полезная.
    Есть еще один момент с подобной ошибкой, как это было у меня, в настройках www домена (в моем случае панель ISPmanager) стояла настройка «PHP как модуль Apache», а надо что б было «PHP как CGI»…

    Может кому пригодиться..

  9. Alex

    AlexGrRu! Всё гениальное просто. Бааальшущее спасибо

  10. Alex

    AlexGrRu! Всё гениальное просто. Бааальшущее спасибо

  11. Demetry

    спасибо, все сработало! также ваша шпаргалка поможет при проблеме, когда wordpress выдаёт ошибку «ошибка HTTP».

  12. Demetry

    спасибо, все сработало! также ваша шпаргалка поможет при проблеме, когда wordpress выдаёт ошибку «ошибка HTTP».

  13. Стас Фалькович

    Спасибо, ТАКООООГО размера Вам, что даже не представляете :)) Получилось! :)

  14. Стас Фалькович

    Спасибо, ТАКООООГО размера Вам, что даже не представляете :)) Получилось! :)

  15. Руслан

    Большое человеческое спасибо! У меня свой сервер и чтобы закинуть туда сайт, каталог /home/ (где у меня висит сайт) назначил пользователя на свой логин от сервера. Потом, пытаясь закинуть фотки на сайт, я столкнулся с этой проблемой. Хорошо что в русскоязычном интернет сообществе есть такие люди как вы. Всего самого наилучшего вам!

  16. Руслан

    Большое человеческое спасибо! У меня свой сервер и чтобы закинуть туда сайт, каталог /home/ (где у меня висит сайт) назначил пользователя на свой логин от сервера. Потом, пытаясь закинуть фотки на сайт, я столкнулся с этой проблемой. Хорошо что в русскоязычном интернет сообществе есть такие люди как вы. Всего самого наилучшего вам!

  17. Валерий

    Огромное спасибо помогли!

  18. Валерий

    Огромное спасибо помогли!

  19. maxim

    Изображение записи не загружается потому, что пользователь apache, который загружает это изображение, не имеет прав на чтение и запись в этих директориях.

  20. maxim

    Изображение записи не загружается потому, что пользователь apache, который загружает это изображение, не имеет прав на чтение и запись в этих директориях.