WordPress не может устанавливать темы

Я не могу понять, как решить эту проблему, поэтому WordPress позволяет мне загружать темы.

У меня есть свежая копия Fedora 17, установленная на моей машине разработки.

Затем я установил mysql, используя: yum install mysql mysql-server. Затем я установил WordPress, который также устанавливает apache и php: yum install wordpress

Я могу зайти на http://localhost/wordpress и посмотреть, как работает WordPress. Но когда я пытаюсь установить свою тему, она запрашивает учетные данные ftp. Затем я обновил файл wp-config.php и установил для константы FS_METHOD значение direct. Теперь он не запрашивает учетные данные ftp, но выдает эту ошибку:

Could not create directory. /usr/share/wordpress/wp-content/themes/my-theme-name/

Служба httpd работает под пользователем «apache» и группой «apache». Каталог /usr/share/wordpress/ рекурсивно принадлежит пользователю 'apache' и группе 'apache'. Я даже установил разрешения на 777 (тоже рекурсивно), и даже тогда я продолжаю получать ту же ошибку, что и выше.

Как я могу решить эту проблему?


person Roman    schedule 20.09.2012    source источник
comment
Проверьте пользователя, используемого wordpress, в wpconfig, у меня была такая же проблема на моем сервере, процесс выполнялся под пользователем, но wordpress использовал другого пользователя.   -  person    schedule 20.09.2012


Ответы (2)


Конфигурация Fedoras SELinux, скорее всего, блокирует попытки веб-сервера записать на диск. Чтобы изменить настройки вашей папки WordPress, вы можете запустить эту команду (от root):

chcon -R -t httpd_sys_content_rw_t /usr/share/wordpress/wp-content

Не нужно делать chmod 777 для всей папки, это огромный риск для безопасности. Конечно, это для прямого доступа к файловой системе, вы должны отключить доступ по ftp. Для доступа по ftp вам нужно будет найти правильный контекст SELinux.

person Gerald Schneider    schedule 20.09.2012
comment
В этом была проблема. Спасибо за помощь. Можно ли полностью отключить SELinux? - person Roman; 21.09.2012
comment
crypt.gen.nz/selinux/disable_selinux.html впервые попадает в Google и кажется довольно надежным руководством. - person Gerald Schneider; 21.09.2012

Вы проверили эти строки в своем Wp-config.php (примерно строка 105):

define('FTP_USER', 'usr');
define('FTP_PASS', 'P@ssw0rd');
define('FTP_HOST', 'url');

Ваш процесс веб-сервера работает на apache, но Wordpress будет использовать учетную запись, определенную в wp-config.php. Итак, вам нужно установить группу вашего пользователя, чтобы получить доступ к этим файлам.

Установка разрешений 777 не является решением, вы должны позаботиться об этом.

person Community    schedule 20.09.2012