WordPress просит FTP доступ или работаем с WordPress без FTP

 27 октября 2014      
 WordPress      
 комментариев 5      
 30551

Хостинги бывают разные. И в 21 веке уже сложно найти сервер где бы не работал WordPress. Однако наличие PHP и MySQL последних версий совсем не гарантируют спокойного творчества. Одним из первых звоночков, что с хостингом не все в порядке является сообщение при установке, что WordPress не смог создать файл конфигурации wp-config.php. И что это вовсе не проблема и Вы можете создать его сами.

Возникает эта ошибка из-за того, что веб-сервер не может внести изменения в файлы пользователя. И причина не в том, что нет всеразрешающих прав «777».

При установке и обновлении плагина WordPress просит FTP доступ к сайту

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

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

Если работать с админкой плотно и вносить множество изменений на сайт, то это сильно напрягает, когда по каждому «пуку» нужно вводить необходимые данные для FTP доступа. Особенно на начальном этапе сразу после установки WordPress, когда скачивается и устанавливается куча плагинов и проводятся эксперименты с темами оформления.

Решение данной проблемы простое, необходимо в файл wp-config.php дописать в самый конец строку:

define('FS_METHOD', 'direct');

Либо более «правильный» код:

if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}

После чего WordPress должен обновляться в нормальном режиме.

Права доступа к папкам и файлам WordPress

Я сознательно выделил жирным слово должен. То есть должен, но не обязан. И следующая проблема, которая может Вас посетить при установки тем и плагинов — это сообщение WordPress о невозможности создать папку и/или просто о невозможности установки плагина (темы).

Читайте также:  Исправляем ошибку 1062 "causes auto_increment resequencing" в MySQL

Большинство решений в сети сводится к установке значения прав доступа 777 к папке wp-content и большинству вложенных в нее. Но даже после этого могут возникать проблемы с обновлениями и удалениями плагинов.

Причиной тому служит то, что пользователь веб-сервера (Apache) не входит в группу пользователя-владельца файлов сайта.

Если хотите, чтобы пользователь изменял файлы, и веб-сервер мог эти файлы менять, нужно добавить юзера веб-сервера (Apache) в группу пользователя-владельца файлов сайта.

Не работает текстовый редактор конфигурации WordPress

И последний звонок, что с сервером надо что-то делать — это невозможность отредактировать файлы конфигурации в встроенном редакторе админки wordpress. Точнее сказать Вы можете вносить изменения, но вот сохранить их не сможете, так как будет отсутствовать заветная кнопка «Обновить файл».

Решение всех проблем с FTP и WordPress

Если у Вас виртуальный хостинг, то у Вас три пути: первый — это играться с правами доступа к папкам и файлам, второй — просить хостера скорректировать вышеуказанные настройки с пользователями и доступом, третий — сменить хостинг.

Если же Вы владелец и/или админимтратор VPS/VDS или выделенного сервера, то лучший вариант — это настроить вэб-сервер так, чтобы он обращался к файлам и папкам сайта от имени и с правами владельца. Сделать это можно установив дополнительные модули к Apache как написано в статье Установка Mod_ruid2 в ISPManager на CentOS или применив патч к вебсерверу Apache MPM-ITK Установка Apache MPM-ITK на CentOS и ISPmanager. Эти решения запускают каждый виртуальный хост под отдельными uid и gid. И являются стандартным решением для хостинговых серверов и серверов, критичных к изоляции пользователей и учёту ресурсов.

Я воспользовался последним вариантом и все проблемы с WordPress полностью отпали. При этом никаких изменений в настройки самого WordPress вносить не нужно.

Читайте также:  Генератор мета тега <description> в WordPress

Список использованных источников

  1. ЧАВО/Обновление без FTP
  2. WordPress просит FTP-доступы при обновлении или установке дополнений
  3. Установка или обновление плагинов, отключить FTP
Поделись страницей с друзьями!

Обсуждение: 5 комментариев

  1. Anna:

    спасибо, замечательные рекомендации

    Ответить
  2. unknown:

    Привет хозяин блога!!
    Были проблемы при установке темы в ВП. просил доступ к FTP.
    Первый в поиске был твой блог с ответом на вопрос..
    помогла часть статитьи:
    При установке и обновлении плагина WordPress просит FTP доступ к сайту

    СПАСИБО!!

    P.S смотрю и у тебя сайт на WP : )

    Ответить
  3. Алмаз:

    А я после вышесказанных проблем на VPS сервере в настройках www домена просто режим работы PHP поменял на FastCGI (Apache). И все работает 🙂

    Ответить
  4. Алексей:

    >Если хотите, чтобы пользователь изменял файлы, и веб-сервер мог эти файлы менять, нужно добавить юзера веб-сервера (Apache) в группу пользователя-владельца файлов сайта.
    Какой командой это правильно сделать? У меня веб-сервер nginx, а пользователь и его группа — alex

    Ответить
    1. Алексей. У меня на сервере NGINX используется как кешерующий прокси, а основным сервером является Apache. Как поступить в вашем случае я не знаю.

      Пользователи в Linux могут состоять в нескольких группах. Членство пользователей в группах описывается в файле /etc/group. Первым полем в строке с описанием группы пользователей является имя группы. Во втором поле размещается (зашифрованный) пароль группы (это поле может быть пустым). В третьем поле размещается идентификатор группы или значение GID. Четвертое поле является списком членов группы, который в данном случае является пустым, так как в группах нет пользователей.

      Членство пользователя в группах может быть изменено с помощью утилиты usermod. Например # usermod -a -G ГРУППА ПОЛЬЗОВАТЕЛЬ.

      Проявляйте осторожность при использовании утилиты usermod для добавления пользователей в группы. По умолчанию утилита usermod будет удалять пользователя из всех групп, в которых он состоял, если имена данных групп не были переданы в составе команды! Использование параметра -a (append — дополнение) позволяет избежать данного поведения.

      Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" я даю свое согласие на обработку введенной мной персональной информации в соответствии с Федеральным Законом от 27.07.2006 №152-ФЗ "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2017 © Технический блог
SQL - 70 | 0,289 сек. | 10.74 МБ
доступность сайта