Windows Web Server 2008 構築と運用のポイント

PHP on IISのクイックステップ 今回はWindows Web Server 2008でサーバー構築を行う際のポイントについて解説していきます。まずは前回までのまとめとして、IISでPHPアプリケーションをインストールしていく際のステップをまとめました。

細田 隼平

2009年7月22日 20:00

PHP on IISのクイックステップ

 今回はWindows Web Server 2008でサーバー構築を行う際のポイントについて解説していきます。まずは前回までのまとめとして、IISでPHPアプリケーションをインストールしていく際のステップをまとめました。

1)PHP(非スレッドセーフ版)をダウンロードし解凍、サーバー内に配置してphp.iniを作成

2)IISの設定を行う
(IISにCGI機能を追加、phpとIISをFastCGIでモジュールマッピング、既定のドキュメントにindex.phpを追加、64bit OSの場合はアプリケーションプールの32bitアプリケーションの有効化)

3)権限付与は「IUSR」に対して付与する
 IIS経由のファイルアクセス時の権限は「IUSR」というユーザー(正確にはユーザーではありませんが)へのアクセス権の設定が評価されます。

4)動かしたいPHPアプリケーションはダウンロード・解凍後に「コピー > 貼り付け」を行う(「切り取り > 貼り付け」は移動元の権限設定状態を保持したまま移動先に配置されてしまうことがあるため、お勧めできません)
 コピーして貼り付けると、貼り付け先の上位フォルダの権限設定を引き継ぐことができるのでアクセス権の設定が楽になります。解凍先が直接アプリケーションの配置先の場合は問題ありません。

5)必要に応じてPHPのextensionを利用する
 多くのextensionはphp.iniでアンコメント(行頭の「;」を外す)して、アプリケーションプールをリサイクルするだけで利用可能になります。特にmbstring関連は変更するケースが多いでしょう。

6)困ったらWebで検索する
 私が参加したインストールマニアックスの影響で、Web上にIISでOSSを動かすためのドキュメントがあふれています。これを利用しない手はありません。100種類以上あるアプリケーションのインストールドキュメントを見つけて有効活用しましょう(いくつかのドキュメントではセキュリティー的に甘い方法を記述していることもあるため、その点は注意が必要です)。

7)Webで検索しても解決しない場合はバージョンの低いアプリケーションで同様のエラーが出るか確認してみる、または異なるブラウザを使ってみる
 筆者の経験上、PHPのバージョンよりもアプリケーションそのもののバージョンを下げたほうが動くことが多いです。また、IEでしか動かないもの、FireFoxでしか動かないものなど多種多様ですので、異なるブラウザで確認してみることも必要です。

 また、動作確認を終えて実稼働に入る際にはphp.iniでdisplay_errors=Offとするのを忘れないでください。

Windowsでパーミッションを444にせよ!?

 多くのオープンソースWebアプリケーションでは、インストール中やインストール後の画面で、そのアプリケーションの設定ファイルのパーミッションを読み取り専用にするようにセキュリティー警告が出ます。

 中にはパーミッションを変更しないと動作しないアプリケーションもあります。その警告はほとんどが「パーミッションを444に変更せよ」などのようにUnix形式のパーミッション表記での指定になっていてWindowsではどうすればいいのか戸惑ってしまうかもしれません。

 ここではWindows上でのオープンソースWebアプリケーションにあったセキュリティー設定方法を説明します。

 権限を読み取り専用(444)に変更する場合は、該当ファイルで「右クリック > プロパティ」を表示し、属性の所にある「読み取り専用」にチェックを入れ「適用 > OK」で対応可能です。この設定により権限設定対象のファイルは書き込みモードで開くことができなくなるため、Webアプリケーションのセキュリティーチェックをパスできます。

 プロパティのセキュリティータブから詳細な設定ができそうに見ますが、読み取り専用かどうかのチェックはまずはこの「右クリック > プロパティ」の個所の「読み取り専用」が評価されるようですので、必ず設定する必要があります。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30