Общий вопрос о разрешениях для файлов Linux: Apache и WordPress - PullRequest
17 голосов
/ 11 июля 2009

Я перешел с общего хостинга на VPS несколько недель назад, и у меня возникают эти досадные проблемы с разрешениями в WordPress. Вы знаете, что вы можете загружать и обновлять плагины (и сам WordPress) из админ-панели, но с тех пор, как я переехал, она стала спрашивать мои учетные данные FTP, что довольно медленно, когда мне нужно обновить ~ 20 плагинов.

Я думаю, что это должно быть какой-то проблемой прав. Я посмотрел, что файлы WordPress общего хостинга, все они принадлежат имени пользователя и группе kovshenin (kovshenin: kovshenin), и файлы -rw-r - r--, а каталоги - drwx-r-xr-x. *

На моем VPS apache работает под apache: apache, а мои файлы - kovshenin: kovshenin. Что я должен сделать, чтобы сделать их читаемыми и доступными для записи как для Ковшенина, так и для Apache?

Кроме того, я изменил разрешения на 0777 для всех файлов и папок моей установки WordPress, что позволило мне устанавливать и удалять плагины без FTP, но когда я нажал на автоматическое обновление до WordPress 2.8.1, он все равно попросил меня FTP аккаунт. Это проблема wp или я что то пропустил?

Спасибо.

Обновление : мне удалось запустить id и id www-data на общем хостинге MediaTemple. Пользователь kovshenin находится в группе kovshenin, а www-data находится в группе www-data. Нет больше групп. В чем прикол?

Другое обновление Хорошо, я добавил пользователя apache в группу kovshenin, мои файлы WordPress kovshenin:kovshenin с разрешениями rw-rw-r-- и drwxrwxr-x для каталогов, но что-то все еще не так. Пользователь apache может получить доступ к файлам и папкам, я могу использовать онлайн-редактор тем и плагинов в админ-панели WordPress, я могу вносить изменения в файл .htaccess из WordPress, но установка плагина / темы по-прежнему требует меня для учетных данных FTP!

Есть идеи? Спасибо.

Ответы [ 5 ]

23 голосов
/ 11 июля 2009

Что я должен сделать, чтобы сделать их читаемыми и доступными для записи как для Ковшенина, так и для Apache?

  • Создайте новую группу, скажите «wordpress».
  • Добавьте пользователей koveshenin и www-data в группу wordpress.
  • Измените владельца группы всех файлов на wordpress (используя chgrp).
  • Убедитесь, что все файлы доступны для групповой записи.
  • Установить бит разрешения g + s (setgid) для всех каталогов , представляющих интерес.
  • Убедитесь, что umask по умолчанию для kovshenin и apache включает разрешение на чтение и запись для группы.

Второй последний шаг - трюк. Это означает, что всякий раз, когда kovshenin или apache создает файл в этих каталогах, для владельца группы будет установлено wordpress (вместо kovshenin или apache).

1 голос
/ 09 сентября 2013

Предполагается, что ваш установочный каталог WordPress /var/www/html для массового изменения всех файлов и каталогов для правильного использования разрешения:

sudo  find /var/www/html/ -type d -exec chmod 775 {} \;
sudo  find /var/www/html/ -type f -exec chmod 664 {} \;

Для массового изменения группы владельцев всего используйте:

sudo chgrp -R <desired_username>.<desired_groupname> /var/www/html
1 голос
/ 11 июля 2009

Вы можете передать право собственности на www-данные согласно здесь .

Запустите следующую команду в вашем каталоге WordPress (требуется sudo):

sudo chown -Rf www-data *

Работает для Apache.

0 голосов
/ 18 сентября 2014

В настоящее время добавление define('FS_METHOD', 'direct'); в wp-config.php может помочь. Не уверен, что это сработало бы в 2009 году. Смотрите здесь для моего аналогичного случая с использованием nginx. Я обнаружил, что это был важный шаг.

0 голосов
/ 15 декабря 2009

У меня была такая же проблема, и я решил ее, отключив PHP 'safe_mode' в plesk, теперь WP может создавать папки и перемещать файлы без проблем.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...