前半の記事ではダウンロードした WordPress のソースファイルを、作業用のフォルダーに解凍、展開して公開前の準備をするところまで行った。
ここからは実際に WordPress を公開するところまでを書き綴っておく。
WordPress のフォルダーを Web で公開する
前半の記事でダウンロードした WordPress のソースファイルを素直に展開、解凍したのであれば、作業用のフォルダーにはwordpress というフォルダができているはずだ。
WordPress を http://<サイト名>/wordpress/ という URL でアクセスできるようにするなら、これをこのまま C:\inetpub\wwwroot にコピーすればいい。
WordPress のフォルダーをコピーしたら、すぐにフォルダーとファイルのアクセス権を変更しておこう。
IIS 7.5 (7.0) でフォルダーやファイルを公開するときは、「IIS 7.0 でファイルアクセス権を割り当てるべきアカウント」で書いたように 、アクセスの権限を割り当てる対象は IUSR ユーザーになる。
ただし、読み取り権限だけしか必要としない場合、IIS は、SYSTEM ユーザーを使ってフォルダーやファイルにアクセスしているようだ。
さて WordPress のような PHP で書かれた Web アプリケーションの場合、一般的には最低限必要なフォルダーやファイルに対してのみ書き込みの権限を割り当てるのが常識だが、WordPress の場合はこれが少々ややこしい。
WordPress が持つ、プラグインやテーマ、さらに WordPress 自身の自動アップグレード機能、オンライン (Web インターフェース) でのプラグインやテーマのファイルの編集機能を目一杯活かすことを考えると、wordpress フォルダー以下全てのフォルダーやファイルに書き込みの権限を与えることになってしまう。
プラグインのアップグレードはそこそこあるので、WordPress 自体の自動アップグレード機能を諦めることにして、以下のようにアクセス権を割り当てるようにしたい。
| フォルダ−/ファイル | 最低限 | 今回採用 |
|---|---|---|
| ※フォルダについてはすべて削除不可としたい | ||
| wordpress\ | ||
| |– * | 読み込みのみ | 読み込みのみ |
| |– wp-admin\ | ||
| | `– * | 読み込みのみ | 読み込みのみ |
| |– wp-content\ | ||
| | |– * | 読み込みのみ | 読み込みのみ |
| | |– cache\ | ||
| | | `– * | 読み込みのみ | 読み込み/書き込み可 |
| | |– plugins\ | ||
| | | `– * | 読み込みのみ | 読み込み/書き込み可 |
| | |– themes\ | ||
| | | `– * | 読み込みのみ | 読み込み/書き込み可 |
| | `– uploads\ | ||
| | `– * | 読み込み/書き込み可 | 読み込み/書き込み可 |
| `– wp-includes\ | ||
| `– * | 読み込みのみ | 読み込みのみ |
しかし、WordPress を解凍、展開したフォルダーには上記の内の wordpress\wp-content\cache\ と wordpress\wp-content\uploads\ のふたつのフォルダーが存在しない。
実はこれらのフォルダーは WordPress の運用を始めた後に WordPress 自身が必要になったときに作成するようになっている。
この他にも WordPress に導入するプラグインによっては、上記以外のフォルダーを勝手に作成するものさえある。
このため、人によっては wordpress\wp-content\ フォルダーに書き込みのアクセス権を割り当ててしまうこともあるようだ。
Windows では Linux などに比べてより詳細なアクセス権の割り当てができ、さらにはアクセス権の継承という概念がある。
これを駆使して、WordPress やプラグインなどが wordpress\wp-content\ フォルダーの中に新たにサブフォルダーを作成することができるようなアクセス権の割り当てを考えてみた。
実際に IUSR ユーザーに割り当てるアクセス権は以下のようになる。
| wordpress\ | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| wordpress\wp-content\ | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| wordpress\wp-content\cache\ wordpress\wp-content\plugins\ wordpress\wp-content\themes\ wordpress\wp-content\uploads\ |
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
今回使っているの Web サーバーは Server Core であるため、コマンドラインで以下のコマンドを実行してアクセス権の割り当てを行う。
icacls wordpress /remove "NT AUTHORITY\IUSR"
icacls wordpress\wp-content /grant "NT AUTHORITY\IUSR":(RX,AD) "NT AUTHORITY\IUSR":(CI)(IO)(RX,W,DC)
icacls wordpress\wp-content\plugins /grant "NT AUTHORITY\IUSR":(RX,W) "NT AUTHORITY\IUSR":(OI)(CI)(IO)(M)
icacls wordpress\wp-content\themes /grant "NT AUTHORITY\IUSR":(RX,W) "NT AUTHORITY\IUSR":(OI)(CI)(IO)(M)
icacls wordpress\wp-content\upload /grant "NT AUTHORITY\IUSR":(RX,W) "NT AUTHORITY\IUSR":(OI)(CI)(IO)(M)
ところで、ここに書いたアクセス権の割り当ては検証が不十分であるために、もしかするとうまく働かないかもしれない。
問題があるとすれば wordpress\wp-content\ フォルダーに割り当てるアクセス権の部分だが、何か情報があればコメント欄を使って報告して欲しい。
WordPress の Web インストール
アクセス権を変更したら、Web ブラウザで WordPress のインストールページにアクセスする。
WordPress をインストールマニアックス用に公開したフォルダーの wordpress フォルダーにコピーしたので、この場合の URL は http://maniax3.compnet.jp/wordpress/wp-admin/install.php になる。
この URL にアクセスして表示されたページで、「ブログタイトル」欄と「メールアドレス」欄を適切に埋め、「WordPress をインストール」ボタンをクリックすると、入力した「ブログタイトル」と「メールアドレス」がデータベースに登録され、WordPress のインストールが完了する。
続いて、作成したばかりの WordPress のサイトにログインするためのユーザー admin のパスワードが生成され表示されるので、これを控えておく。
WordPress の管理画面にログインするときに、このパスワードが必要になる。
なお、先ほど入力した「メールアドレス」は、この admin ユーザーのメールアドレスとして登録されている。
この画面の「ログイン」ボタンをクリックすると、WordPress の管理画面へのログイン画面が表示される。
WordPress の管理画面へは、直接 http://maniax3.compnet.jp/wp-admin/ にアクセスしても表示させることができる。
インストール直後の WordPress の管理画面へのログイン画面では、「ユーザー名」欄に先ほどの admin を、「パスワード」欄には自動的に生成されたパスワードを入力して、「ログイン」ボタンをクリックする。
これで、WordPress の管理画面が表示されるので、後は自由にいじくり回せばいい。
なお、WordPress をインストールして最初にこの管理画面を表示させたときは、パスワードの変更を促すメッセージが表示されるので、このメッセージに従ってプロフィールのページを開き、パスワードを自動生成されたものから変更しておくのが良いだろう。
ここでインストールした WordPress には http://maniax3.compnet.jp/wordpress/ でアクセスできるが、すでに admin のパスワードが変更してあることは言うまでもない。
タグ: IIS, Install Maniax, MySQL, OSS, phpMyAdmin, Web, Windows, WordPress