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

前半の記事ではダウンロードした 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\
このフォルダー、サブフォルダーおよびファイル
アクセス権 許可 拒否
フルコントロール unmark unmark
フォルダのスキャン/ファイルの実行 unmark unmark
フォルダの一覧/データの読み取り unmark unmark
属性の読み取り unmark unmark
拡張属性の読み取り unmark unmark
ファイルの作成/データの書き込み unmark unmark
フォルダの作成/データの追加 unmark unmark
属性の書き込み unmark unmark
サブフォルダとファイルの削除 unmark unmark
削除 unmark unmark
アクセス許可の読み取り unmark unmark
アクセス許可の変更 unmark unmark
所有権の取得 unmark unmark
wordpress\wp-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
wordpress\wp-content\cache\
wordpress\wp-content\plugins\

wordpress\wp-content\themes\
wordpress\wp-content\uploads\
このフォルダーのみ
アクセス権 許可 拒否
フルコントロール 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 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 のインストール画面 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/ でアクセスできるが、すでに admin のパスワードが変更してあることは言うまでもない。

タグ: , , , , , , ,

コメントは受け付けていません。