2014-09-16 3 views
2

Я пытаюсь управлять разрешениями файлов на веб-сервере debian, который запускает nginx, так что Wordpress может редактировать, загружать и обновлять без использования ftp. Я также хочу иметь возможность входа в систему с помощью sftp с моей учетной записью пользователя.Разрешения LEMP + wordpress для редактирования, обновления и использования sftp-клиента

Мне известно о том, что этот вопрос задан раньше, см. here или here, но следующие шаги в этих ответах не были удовлетворительными. Установка в настоящее время выглядит следующим образом:

  • WordPress папка находится в /var/www/html/

  • Я сделал новый пользователь ("пользователь") и группы ("группа"). Пользователь сервера: «www-data».

  • Все файлы в папке wordpress принадлежат пользователю: group.

  • И «пользователь», и «www-data» относятся к «группе».

  • Я изменил права доступа к файлам и папкам следующим образом:

    find /var/www/html/ -type d -exec chmod 2775 {} + 
    
    find /var/www/html/ -type f -exec chmod 664 {} + 
    
  • Я поставил биты полномочий по умолчанию 0002.

Я бы подумал, что это должно работать, но в настоящее время я могу редактировать и загружать файлы из Wordpress, но не обновлять wordpress, функции или темы.

  • Он также не работает с «группой» набор в группу по умолчанию для «пользователь» и/или «WWW-данные» (отредактировав /etc/passwd).

В качестве альтернативы, я сделал все файлы в /var/www/html/, принадлежащих пользователю: www-data, но и безуспешно.

Единственный способ заставить Wordpress обновлять без ftp, сделав папку wordpress и все ее файлы, принадлежащие «www-data». К сожалению, результатом этого является то, что я не могу загружать файлы с помощью sftp-client (поскольку цель теперь является папкой, которая не принадлежит «пользователю»).

Как это может быть? Насколько я понимаю, эти шаги должны дать wordpress правильные разрешения, но что-то еще не так.

Ваша помощь будет принята с благодарностью.

+0

Да! Догадаться. Вам нужно указать группу, которая используется сервером (в моем случае) /etc/php5/fpm/pool.d/www.conf. Я прокомментировал указанную группу, чтобы она использовала группу по умолчанию. Затем перезапустите службу. Я расскажу подробности позже, когда я доволен окончательной настройкой. –

ответ

1

На сервере debian я выполнил следующие шаги. Это может быть не самое безопасное решение, поскольку я читаю here, но он работает (wordpress может редактировать, загружать и обновлять - и я могу загрузить с помощью sftp).

  • Создание нового пользователя «пользователь»

  • Создать новую группу «группы» (вы можете использовать WWW-данные в группе, а)

  • Добавить пользователя и www- данные группы

    usermod -G group user 
    usermod -G group www-data 
    
  • Проверить группу Nume rical id в /etc/group , например. группа: х:

  • Изменить группу по умолчанию WWW-данных и пользователем в /etc/passwd , например, Пользователь: х: 1001: : ...

  • В /etc/php5/fpm/pool.d/www.conf (в моем случае) изменение group=www-data к ;group=www-data. Теперь nginx будет использовать группу www-данных по умолчанию, которую мы просто установили в «group». Перезагрузка (php5-fpm).

  • Рекурсивного владелец изменения вашего WordPress папки для пользователя: группа

    chown -R user:group /var/www/html 
    
  • Изменить разрешение в вашей WordPress папки (2-это назначить новые файлы в группу родительской папки)

    find /var/www/html/ -type d -exec chmod 2775 {} + 
    find /var/www/html/ -type f -exec chmod 664 {} + 
    
  • Изменение Umask к UMASK 0002 в /etc/login.defs

  • В WordPress, применять прямую загрузку (поэтому нет FTP), добавив к define('FS_METHOD','direct'); WP-config.php. В моем случае это был важный шаг.

  • Чтобы все работало, мне нужно было перезагрузить компьютер.

+0

define ('FS_METHOD', 'direct'); сделал трюк! – Magico

Смежные вопросы