2011-09-28

How to fine tune your WordPress settings to allow image file uploads on IIS7

We have been testing WordPress 3.2.1 and found out that it would not upload any image files.

You may end up with the following error or something similar when you try to upload an image:
Unable to create directory *********/wp-content/uploads. Is its parent directory writable by the server?

This error occurs when you have not given the IUSR account write-access to uploads directory.

You may be able to fix this problem with the following steps:
(Note: we assume that the PHP environment is properly set up, so the detailed instructions on php.ini settings are not mentioned here.)

1. Make sure a folder named uploads exists in wp-content.
This directory is oftentimes not automatically created in the IIS environment, so you may have to create it on your own.

2. Right-click on uploads directory to bring up Security tab.
Add IUSR to the user list and assign write-access to it.

3. Now, go back to the WordPress media settings and make sure if the URL for file uploads is wp-content/uploads.

IIS7 にインストールされた WordPress からファイルのアップロードができない場合の調整方法

 Windows Server 2008 R2 の IIS7 環境に WordPress 3.2.1 をインストールしてみたのですが、デフォルトのままでは WordPress から画像やファイルをアップロードできないことがわかりました。

 まず、アップロードを試みると、以下のようなエラーメッセージが出てしまいます。

ディレクトリ /wp-content/uploads/YYYY/MM を作成できませんでした。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?

これは明らかにディレクトリパーミッションが問題で発生するトラブルですので、以下の順に確認しながら調整します。
(php.ini の設定ではファイルアップロードを有効にしていることを前提にしていますので、php 設定についてはここでは省略します。)

1. wp-content フォルダの下に uploads フォルダがあることを確認。
uploads フォルダがなければ作成してください。



2. uploads フォルダのアクセス権に IUSR が登録されていることを確認。
IUSR がなければ、図のように IUSR を追加して、書き込み権限だけを与えます。

注意:デフォルトの IIS_IUSRS だけではアップロードするための権限が足りないため、ローカルコンピュータの IUSR を手動で追加する必要があります。



3. WordPress のメディア設定の「アップロードするファイルの保存場所」が wp-content/uploads になっていることを確認します。



 これで当方は画像のアップロードができるようになりました。
 当方で試した WordPress のバージョンは 3.2.1 ですが、以前のバージョンでもアップロード設定で躓いた方は、この方法で試してみると解決するかもしれません。