web-dev-qa-db-ja.com

ワードプレスではアップロードできません

私は最近、自分のラップトップ上にubuntu 12.10を実行しているWordpress 3.5.2のローカルインストールをインストールしました。 here からガイドに従ってインストールしました。 Media Library -> Add New経由でメディアファイルをアップロードすることができないことを除いて、これまでのところ、他のすべてはうまくいきます。

進行状況バーが0から100%に上昇するにつれて、ファイルがアップロードされているようです。ただし、それ以降は、ワードプレスはサムネイルまたは画像をどこにも表示できません。 uploadsフォルダを見た後、それは空です。それで、サポートフォーラムからの指示に従うと、それはパーミッションの問題だと思いました。

Wordpressは/usr/share/wordpressにインストールされています。 uploadsフォルダはデフォルトで/var/lib/wordpress/wp-content/uploadsにあります。 755にはwp-content/uploadsには777があります。フォルダはwww-dataによって所有されています。

私はエラーを見ることができません、ファイルは単にどこにも現れないでしょう。アクセス許可があるため、任意のユーザーとして手動でファイルをuploads/フォルダにコピーできます。また、Webブラウザでhttp://localhost/wordpress/wp-content/uploads/file.jpgを表示できます。テーマも追加プラグインもインストールされていません。設定ファイルにdefine('WP_DEBUG', true);を追加しましたが、エラーは表示されません。

編集:それが何か助けになるならば、これは/var/log/Apache2/error.logからの行です。

[Thu Jun 27 22:35:02 2013] [error] [client 127.0.0.1] PHP Warning:  Creating default object from empty value in /usr/share/wordpress/wp-admin/includes/update.php on line 92, referer: http://localhost/wordpress/wp-admin/upload.php

EDIT2:これは権限を持つディレクトリリストの例です。

msvalkon@Lunkwill:/var/www$ ll
total 20
drwxr-xr-x  2 www-data www-data 4096 Jun 27 12:21 ./
drwxr-xr-x 15 root     root     4096 Jun  7 10:06 ../
-rw-------  1 www-data www-data   46 Jun 27 12:21 .bash_history
-rw-r--r--  1 root     root      200 Jun 27 11:46 index.php
-rw-r--r--  1 root     root       11 Dec 14  2012 .profile
lrwxrwxrwx  1 msvalkon www-data   21 Jun 20 11:45 wordpress -> /usr/share/wordpress//

msvalkon@Lunkwill:/usr/share/wordpress$ ll
total 164
drwxr-xr-x   5 msvalkon www-data  4096 Jun 27 13:41 ./
drwxr-xr-x 349 root     root     12288 Jun 20 11:51 ../
lrwxrwxrwx   1 msvalkon www-data    23 Sep 13  2012 .htaccess ->  /etc/wordpress/htaccess
-rw-r--r--   1 msvalkon www-data   395 Jan  8  2012 index.php
-rw-r--r--   1 msvalkon www-data  9202 Sep 13  2012 readme.html
-rw-r--r--   1 msvalkon www-data  4264 Dec 14  2011 wp-activate.php
drwxr-xr-x   9 msvalkon www-data  4096 Jun 27 12:48 wp-admin/
--- SNIP ---
drwxr-xr-x   5 msvalkon www-data  4096 Jun 27 12:48 wp-content/


msvalkon@Lunkwill:/var/lib/wordpress$ ll wp-content/
total 28
drwxrwxrwx 7 msvalkon www-data 4096 Jun 27 12:58 ./
drwxrwxrwx 3 msvalkon www-data 4096 Jun  5 18:17 ../
drwxrwxrwx 2 msvalkon www-data 4096 Sep 13  2012 blogs.dir/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 languages/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 plugins/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 themes/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 13:17 uploads/
1
msvalkon

そう、私は問題を解決することができました。たぶんこの答えは問題に再び遭遇する他の人々を助けます。この問題は、ubuntuのパッケージマネージャを使ってインストールするときのインストール手順に本質的にあります。

実際の問題はデータベースの設定にあり、インストールはWP_CONTENT_DIR/srv/www/wp-content/localhostに設定しました。

msvalkon@Lunkwill:/var/www/wordpress$ Sudo cat /etc/wordpress/config-localhost.php 
<?php
# Created by /usr/share/doc/wordpress/examples/setup-mysql 
--- SNIP ----
define('WP_CONTENT_DIR', '/srv/www/wp-content/localhost');
define('WP_DEBUG', true);
?>

どうやら.debパッケージは以下のディレクトリ構造を作成します。

/usr/share/wordpress <-- contains a wp-content-folder and symlinks to
                         /var/lib/wordpress/wp-content/uploads and /blogs.dir
/var/lib/wordpress <-- contains a wp-content-folder
/srv/www/wordpress <-- also contains a wp-content-folder

/srv/www/wordpress/wp-contentのパーミッションの変更はついにうまくいきました。

0
msvalkon

777パーミッションはlocalhostではpassablyOKですが、本番環境では非常に悪いです。 (一時的に777を設定してアップロードを試みることができ、それがうまくいけば、フォルダのアクセス権を755に戻します。これはいくつかのHost設定のための回避策です)

標準のWP許可スキームについては http://codex.wordpress.org/Changing_File_Permissions を参照してください。

そのドキュメントから:

通常、すべてのファイルはWebサーバー上のユーザー(ftp)アカウントによって所有され、そのアカウントによって書き込み可能であるべきです。共有ホストでは、ファイルはWebサーバープロセス自体によって所有されるべきではありません(これは、www、Apache、または誰もいないユーザーである場合があります)。

安全な権限を設定する最善の方法については http://codex.wordpress.org/Hardening_WordPress#File_Permissions を参照してください。

0
markratledge

私の13.04インストールでは、/srv/www/wp-content/localhostuploadsがその中の実際のディレクトリであり、他の3つのディレクトリはblogs.dirへのシンボリックリンクですが、実際にはディレクトリ/var/lib/wordpress/wp-contentがありました。

2つのサブディレクトリを置き換えて、それらを他のサブディレクトリと同じシンボリックリンクにすることで、問題が解決しました。

0
user35041