Wordpress не может загружать файлы

Я установил стек LAMP и Wordpress на локальный сервер apache2, используя руководства здесь:

  1. https://www.digitalocean.com/community/tutorials/how. -to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu

  2. https://www.digitalocean.com/community/ tutorials / how-to-install-wordpress-on-ubuntu-14-04

Но когда я пытаюсь загрузить медиа-файл (изображение / звук), я получаю сообщение об ошибке -

The uploaded file could not be moved to wp-content/uploads/2015/01.

Что может быть не так? Я добавил своего пользователя в группу www-data и также выбрал каталог / var / www / .

4
задан 17 January 2015 в 23:53

3 ответа

Можно использовать этот сценарий для фиксации разрешения Wordpress:

#!/bin/bash
#
# This script configures WordPress file permissions based on recommendations
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions
#
# Author: Michael Conigliaro <mike [at] conigliaro [dot] org>
#
WP_OWNER=www-data # <-- wordpress owner
WP_GROUP=www-data # <-- wordpress group
WP_ROOT=$1 # <-- wordpress root directory
WS_GROUP=www-data # <-- webserver group

# reset to safe defaults
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \;
find ${WP_ROOT} -type d -exec chmod 755 {} \;
find ${WP_ROOT} -type f -exec chmod 644 {} \;

# allow wordpress to manage wp-config.php (but prevent world access)
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php
chmod 660 ${WP_ROOT}/wp-config.php

# allow wordpress to manage wp-content
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \;
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \;
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \;

сохраните его в файл и выполните его и передайте его Ваш wp каталог установки:

wget https://gist.github.com/Adirael/3383404/raw/6c5446d56477426faeb709e5b807f00422acdea2/fix-wordpress-permissions.sh
chmod +x fix-wordpress-permissions.sh
sudo ./fix-wordpress-permissions.sh /var/www/html

https://gist.github.com/Adirael/3383404

15
ответ дан 17 January 2015 в 23:53

Надо надеяться, это помогает решить Вашу проблему и объяснить, что продолжается, для помощи Вам в будущем также. Когда Вы входите в Wordpress "панель инструментов" и загружаете файлы - "пользователь", который выполняет, изменения в файловой системеwww-data (т.е. libapache2-mod-php5 через апачский веб-сервер). Поэтому для внесения изменений в wp-content/uploads/2015/01., www-data потребности или иметь полномочия записи к каталогу или владеть каталогом. Это означает, что можно или дать папке либеральные полномочия путем выполнения:

chmod -R 777 wp-content/uploads

Примечание: Вы будете иметь к cd в каталог Wordpress сначала, и если Вы в настоящее время не владеете папкой, необходимо будет использовать sudo

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

sudo chown -R www-data <wordpress-parent-directory>

и позвольте www-data владейте всей папкой.

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

2
ответ дан 17 January 2015 в 23:53

Действительно ли каталог wp-content находится там, где вы думаете?

Я заметил, что рассматриваемая статья создала каталог в /var/www/html/, но WordPress обнаружит, что он будет находиться в каталоге WordPress, который вы извлекли из сжатого tar-файла. В моем случае это была /var/www/html/wordpress/wp-content, которая была мягкой ссылкой на другой каталог. После того, как я установил привилегии и собственность в этом месте, это сработало для меня.

0
ответ дан 17 January 2015 в 23:53

Другие вопросы по тегам:

Похожие вопросы: