Я настраиваю пару установок Wordpress и постоянно сталкиваюсь с проблемами разрешения. Я подозреваю, что основная проблема заключается в том, что я не являюсь средой общего хостинга, а просто обычная виртуальная машина Ubuntu, и поэтому любые настройки по умолчанию в Ubuntu не соответствуют ожиданиям WP. Примеры проблем:
До сих пор мне пришлось изменить umask по умолчанию для apache, чтобы исправить 2, chmod - бит setgroupid, чтобы исправить 1, а теперь я изучаю 3. Я предполагаю, что это не должно быть так сложно. Мне не хватает некоторых очевидных настроек конфигурации?
Я установил установку wordpress с пользователем для каждого класса, чтобы ограничить сопутствующий ущерб, позволяя при этом работать в команде и возиться, поэтому chmod 777 и другие подходы «голова в песок» хуже, чем статус-кво.
Для обновлений я отправляю все файлы / каталоги пользователю, от имени которого работает веб-сервер, выполняю обновление, а затем возвращаю их обратно в root. Обновление больше не нужно указывать и нажимать, но оно того стоит, ИМХО. Файлы PHP, доступные для записи пользователем через веб-сервер, заставляют меня съеживаться. Некоторые каталоги в wp-content должны быть всегда доступны для записи пользователю, от имени которого работает веб-сервер.
В качестве альтернативы вы можете воздержаться от онлайн-обновлений и позволить системе обновлений Ubuntu обрабатывать обновления, предполагая, что вы использовали ее для первоначальной установки WP.
http://codex.wordpress.org/Changing_File_Permissions говорит:
ПРИМЕЧАНИЕ. Для автоматического обновления / установки плагинов / тем и обновлений WordPress не требуется никаких специальных разрешений. Все файлы WordPress должны оставаться собственностью вашей учетной записи, вы НЕ должны делать их доступными для записи всем (777). Если вы попытаетесь изменить владельца / разрешения файлов, чтобы позволить программе обновления работать, высока вероятность появления ошибок / проблем, связанных с неправильной выбранной схемой разрешений.
Для основных файлов WordPress все должны быть доступны для записи только вашей учетной записи.
Это не правильно. Как обновление может заменить файлы ядра, если пользователь веб-сервера не может писать в них? Как он может добавлять новые файлы, если он не может писать в каталог?
К сожалению, это более или менее должно быть так сложно.
Цена бесконечной гибкости LAMP заключается в ее бесконечных перестановках и неизбежных регрессиях и энтропии, которые с этим связаны. Разные люди используют разные дистрибутивы, используют разные пакеты в этих дистрибутивах, следуют разным руководствам / howtos / блогам, используют разные каталоги и используют разные функции и плагины. Помимо различий в управлении версиями для каждого компонента, вы можете столкнуться с ситуацией, когда практически ни один блог WordPress не настроен одинаково.
Ваши варианты
- делай сам, разбирайся с каждой мелочью в индивидуальном порядке
- жить в рамках предварительно настроенных решений настройки общего хостинга (даже если на вашем собственном vps)
- оплачивать профессиональные услуги вроде wpengine.com
- заплатить системному администратору, чтобы он со всем этим справился