WordPress だけでも作業報告 (後半) [Install Maniax 3]

前半の記事ではダウンロードした WordPress のソースファイルを、作業用のフォルダーに解凍、展開して公開前の準備をするところまで行った。 ここからは実際に WordPress を公開するところまでを書き綴っておく。

WordPress のフォルダーを Web で公開する

前半の記事でダウンロードした WordPress のソースファイルを素直に展開、解凍したのであれば、作業用のフォルダーにはwordpress というフォルダができているはずだ。 WordPress を http://<サイト名>/wordpress/ という URL でアクセスできるようにするなら、これをこのまま C:inetpubwwwroot にコピーすればいい。 WordPress のフォルダーをコピーしたら、すぐにフォルダーとファイルのアクセス権を変更しておこう。 IIS 7.5 (7.0) でフォルダーやファイルを公開するときは、「IIS 7.0 でファイルアクセス権を割り当てるべきアカウント」で書いたように 、アクセスの権限を割り当てる対象は IUSR ユーザーになる。 ただし、読み取り権限だけしか必要としない場合、IIS は、USERS グループの権限 (もしくは SYSTEM ユーザーの権限) を使ってフォルダーやファイルにアクセスしているようにみえる。 つまり読み込みに関しては、USERS グループ (もしくは SYSTEM ユーザー) に対しての権限があれば、特に IUSR ユーザーの権限を考えることはない。 さて WordPress のような PHP で書かれた Web アプリケーションの場合、一般的には最低限必要なフォルダーやファイルに対してのみ書き込みの権限を割り当てるのが常識だが、WordPress の場合はこれが少々ややこしい。 WordPress が持つ、プラグインやテーマ、さらに WordPress 自身の自動アップグレード機能、オンライン (Web インターフェース) でのプラグインやテーマのファイルの編集機能を目一杯活かすことを考えると、wordpress フォルダー以下全てのフォルダーやファイルに書き込みの権限を与えることになってしまう。 プラグインのアップグレードはそこそこあるので、WordPress 自体の自動アップグレード機能を諦めることにして、以下のようにアクセス権を割り当てるようにしたい。
フォルダ−/ファイル 最低限 今回採用
※フォルダについてはすべて削除不可としたい
wordpress
|-- * 読み込みのみ 読み込みのみ
|-- wp-admin
|   `-- * 読み込みのみ 読み込みのみ
|-- wp-content
|   |-- * 読み込みのみ 読み込みのみ
|   |-- cache
|   |  `-- * 読み込みのみ 読み込み/書き込み可
|   |-- plugins
|   |  `-- * 読み込みのみ 読み込み/書き込み可
|   |-- themes
|   |   `-- * 読み込みのみ 読み込み/書き込み可
|   `-- uploads
|       `-- * 読み込み/書き込み可 読み込み/書き込み可
`-- wp-includes
`-- * 読み込みのみ 読み込みのみ
しかし、WordPress を解凍、展開したフォルダーには上記の内の wordpresswp-contentcache と wordpresswp-contentuploads のふたつのフォルダーが存在しない。 実はこれらのフォルダーは WordPress の運用を始めた後に WordPress 自身が必要になったときに作成するようになっている。 この他にも WordPress に導入するプラグインによっては、上記以外のフォルダーを勝手に作成するものさえある。 このため、人によっては wordpresswp-content フォルダーに書き込みのアクセス権を割り当ててしまうこともあるようだ。 Windows では Linux などに比べてより詳細なアクセス権の割り当てができ、さらにはアクセス権の継承という概念がある。 これを駆使して、WordPress やプラグインなどが wordpresswp-content フォルダーの中に新たにサブフォルダーを作成することができるようなアクセス権の割り当てを考えてみた。 実際に IUSR ユーザーに割り当てるアクセス権は以下のようになる。
wordpresswp-content
このフォルダーのみ
アクセス権 許可 拒否
フルコントロール unmark unmark
フォルダのスキャン/ファイルの実行 mark unmark
フォルダの一覧/データの読み取り mark unmark
属性の読み取り mark unmark
拡張属性の読み取り mark unmark
ファイルの作成/データの書き込み unmark unmark
フォルダの作成/データの追加 mark unmark
属性の書き込み unmark unmark
サブフォルダとファイルの削除 unmark unmark
削除 unmark unmark
アクセス許可の読み取り mark unmark
アクセス許可の変更 unmark unmark
所有権の取得 unmark unmark
サブフォルダーのみ
アクセス権 許可 拒否
フルコントロール unmark unmark
フォルダのスキャン/ファイルの実行 mark unmark
フォルダの一覧/データの読み取り mark unmark
属性の読み取り mark unmark
拡張属性の読み取り mark unmark
ファイルの作成/データの書き込み mark unmark
フォルダの作成/データの追加 mark unmark
属性の書き込み mark unmark
サブフォルダとファイルの削除 mark unmark
削除 unmark unmark
アクセス許可の読み取り mark unmark
アクセス許可の変更 unmark unmark
所有権の取得 unmark unmark
wordpresswp-contentplugins wordpresswp-contentthemes
このフォルダーのみ
アクセス権 許可 拒否
フルコントロール unmark unmark
フォルダのスキャン/ファイルの実行 mark unmark
フォルダの一覧/データの読み取り mark unmark
属性の読み取り mark unmark
拡張属性の読み取り mark unmark
ファイルの作成/データの書き込み mark unmark
フォルダの作成/データの追加 mark unmark
属性の書き込み mark unmark
サブフォルダとファイルの削除 unmark unmark
削除 unmark unmark
アクセス許可の読み取り mark unmark
アクセス許可の変更 unmark unmark
所有権の取得 unmark unmark
サブフォルダーとファイルのみ
アクセス権 許可 拒否
フルコントロール unmark unmark
フォルダのスキャン/ファイルの実行 mark unmark
フォルダの一覧/データの読み取り mark unmark
属性の読み取り mark unmark
拡張属性の読み取り mark unmark
ファイルの作成/データの書き込み mark unmark
フォルダの作成/データの追加 mark unmark
属性の書き込み mark unmark
サブフォルダとファイルの削除 unmark unmark
削除 mark unmark
アクセス許可の読み取り mark unmark
アクセス許可の変更 unmark unmark
所有権の取得 unmark unmark
今回使っているの Web サーバーは Server Core であるため、コマンドラインで以下のコマンドを実行してアクセス権の割り当てを行う。
icacls wordpresswp-content /grant "NT AUTHORITYIUSR":(RX,AD) "NT AUTHORITYIUSR":(CI)(IO)(RX,W,DC)
icacls wordpresswp-contentplugins /grant "NT AUTHORITYIUSR":(RX,W) "NT AUTHORITYIUSR":(OI)(CI)(IO)(M)
icacls wordpresswp-contentthemes /grant "NT AUTHORITYIUSR":(RX,W) "NT AUTHORITYIUSR":(OI)(CI)(IO)(M)
ところで、ここに書いたアクセス権の割り当ては検証が十分ではないために、もしかするとうまく働かないかもしれない。 問題があるとすれば wordpresswp-content フォルダーに割り当てるアクセス権の部分だが、何か情報があればコメント欄を使って報告して欲しい。

WordPress の Web インストール

アクセス権を変更したら、Web ブラウザで WordPress のインストールページにアクセスする。 WordPress をインストールマニアックス用に公開したフォルダーの wordpress フォルダーにコピーしたので、この場合の URL は http://maniax3.compnet.jp/wordpress/wp-admin/install.php になる。 この URL にアクセスして表示されたページで、「ブログタイトル」欄と「メールアドレス」欄を適切に埋め、「WordPress をインストール」ボタンをクリックすると、入力した「ブログタイトル」と「メールアドレス」がデータベースに登録され、WordPress のインストールが完了する。
WordPress のインストール画面 WordPress のインストール完了画面
続いて、作成したばかりの WordPress のサイトにログインするためのユーザー admin のパスワードが生成され表示されるので、これを控えておく。 WordPress の管理画面にログインするときに、このパスワードが必要になる。 なお、先ほど入力した「メールアドレス」は、この admin ユーザーのメールアドレスとして登録されている。 この画面の「ログイン」ボタンをクリックすると、WordPress の管理画面へのログイン画面が表示される。 WordPress の管理画面へは、直接 http://maniax3.compnet.jp/wp-admin/ にアクセスしても表示させることができる。 インストール直後の WordPress の管理画面へのログイン画面では、「ユーザー名」欄に先ほどの admin を、「パスワード」欄には自動的に生成されたパスワードを入力して、「ログイン」ボタンをクリックする。 これで、WordPress の管理画面が表示されるので、後は自由にいじくり回せばいい。
WordPress のログイン画面 WordPress の管理画面
なお、WordPress をインストールして最初にこの管理画面を表示させたときは、パスワードの変更を促すメッセージが表示されるので、このメッセージに従ってプロフィールのページを開き、パスワードを自動生成されたものから変更しておくのが良いだろう。 ここでインストールした WordPress には http://maniax3.compnet.jp/wordpress/ (インストール マニアックス 3 のルールに規定される公開期限を過ぎたために、サイトを閉鎖した) でアクセスできるが、すでに admin のパスワードが変更してあることは言うまでもない。

関連記事

  • WordPress だけでも作業報告 (前半) [Install Maniax 3]2010.2.10 (水) WordPress だけでも作業報告 (前半) [Install Maniax 3] インストールマニアックス 3 の予選も終わって 1 ヶ月が経とうとしているが、実質的にひとつもアプリケーションをインストールしていない状況というのは余りにも情けない。 格好をつけるだけの意味でも、もっとも手慣れている WordPress […]
  • phpmyadmin [Install Maniax 3]2010.1.12 (火) phpmyadmin [Install Maniax 3] インストールマニアックス 3 の予選も今日が最終日。 結局、まともの OSS アプリケーションのインストールまで漕ぎ付くことができなかった。 それでもなんとか PHP はまともに動くようになったので、かたちだけでも整えるつもりで、MySQL […]
  • WordPress [Install Maniax 5]2011.5.25 (水) WordPress [Install Maniax 5] 前々回の記事、前回の記事と順次作業を進めてきた。 今回はその続きとしていよいよ WordPress をインストールする。前回の記事と同様に、Windows Azure Companion の配置イメージの 8080 ポートに、Web […]
  • phpMyAdmin [Install Maniax 5]2011.5.24 (火) phpMyAdmin [Install Maniax 5] 前回の記事で Windows Azure に Windows Azure Companion の配置イメージを作り、動作させるところまでができた。 ここではその続きを記していく。 Windows Azure Companion […]

コメントを残す