IIS への Drupal のインストール

公開日: 2008 年 9 月 19 日 (作業者: ruslany (英語))

更新日: 2008 年 9 月 19 日 (作業者: ruslany (英語))

はじめに

Drupal(英語) は、個人ユーザーやコミュニティ ユーザーが Web サイト上にさまざまなコンテンツを簡単に公開、管理、整理できる無料ソフトウェア パッケージです。その組み込み機能は、無料で提供される豊富なアドオン モジュールと組み合わせて次のような機能を有効にします。

  • コンテンツ管理システム
  • ブログ
  • コラボレーション オーサリング環境
  • フォーラム
  • ピアツーピア ネットワーク
  • ニュースレター
  • ポッドキャスト
  • 画像ギャラリー
  • ファイルのアップロードとダウンロード

その他にも多くの機能があります。

この記事では、IIS 6 および IIS 7 と組み合わせて Windows 上で実行するように Drupal をインストールして構成する方法について説明します。この記事では、IIS 6 または IIS 7 上で PHP アプリケーションを実行するのに必要なセットアップと構成の手順が完了していることを前提としています。

ここで示している手順は、以下の構成でテストし、動作が確認されています。

  • Windows Server 2008 Web Edition
  • IIS 7
  • PHP 5.2.6
  • MySQL 5.0
  • Drupal 6

PHP のセットアップに関するメモ

Drupal は、PHP で提供される既定の構成をあまり変更することなく使用できます。Drupal を動作させるために、PHP で提供される基本構成ファイル (php.ini 構成ファイル) で変更が必要なのは、次の部分だけです。

  • "extension_dir" を "c:\php\ext" (PHP 拡張機能ディレクトリの場所) にします。
  • 拡張機能の一覧のうち "extension=php_mysql.dll" のコメントを解除して、MySQL サポートを有効にします。

必要条件

Drupal を IIS 7 と正常に連携させるには、IIS 7 FastCGI モジュールの更新プログラムをインストールすることが必要です。更新プログラムの詳細については、こちら(英語)を参照してください。

Drupal のダウンロードと展開

http://drupal.org/(英語) から Drupal の最新リリースを見つけます。このドキュメントの手順はバージョン 6.4 を基にしていますが、以降のバージョンもインストールに関してはほとんど違いはありません。zip パッケージをダウンロードしたら、中身を C:\Inetpub\wwwroot\drupal または任意選択のディレクトリに展開します。

構成ファイルへの書き込みアクセス許可の付与

出荷時の Drupal には、sites\default ディレクトリに default.settings.php ファイルが含まれています。インストーラーを実行する前に、このファイルを "settings.php" にコピーし、Web サーバーの書き込み権限を新しいファイルに付与する必要があります (メモ: 既定のファイルの名前は変更せずに、コピーしてください。Drupal を使用するにはこの default.settings.php ファイルが存在していることが必要です)。インストール プロセス中に、Drupal のインストーラーによって、設定した詳細内容に応じて settings.php ファイルが変更されます。

新しいファイルを作成したら、インストール ディレクトリから以下のコマンドを使用して、書き込みアクセス許可をそのファイルに割り当てることができます。

C:\inetpub\wwwroot\Drupal>icacls sites\default\settings.php /grant BUILTIN\IIS_IUSRS:(M)

インストールが完了したら、Drupal ではファイルのアクセス許可設定が読み取り専用に戻されます。ファイルが読み取り専用に設定されていることを確認します。読み取り専用になっていない場合は設定を手動で変更します。これを行うには、次のコマンドを使用します。

C:\inetpub\wwwroot\Drupal>icacls sites\default\settings.php /reset

"files" フォルダーの作成および書き込みアクセス許可の付与

Drupal では、一時ファイルの保存に sites\default\files ディレクトリが使用されます。そのため、このフォルダーでファイルの書き込みおよび変更を行うことができるようにする必要があります。これを有効にするには、次のコマンドで files フォルダーを作成します。

C:\inetpub\wwwroot\Drupal>md sites\default\files

次のコマンドで、このフォルダーに変更アクセス許可を付与します。

C:\inetpub\wwwroot\Drupal>icacls sites\default\files /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M)

データベースのセットアップ

Drupal のインストール手順を開始する前に、サーバー上にデータベースを作成します。さらに、データベース ユーザーを作成し、データベースに対する db 所有者アクセス許可を付与します。MySQL データベースの場合は「IIS での PHP アプリケーション用データベースのセットアップ」の説明に従ってください。このチュートリアルでは、次のデータベース情報を使用します。

  • データベース名: "drupal"
  • データベース ユーザー: "drupal"
  • アカウント パスワード: "drupal"

インストール スクリプトの実行

インストールを開始するには、ブラウザーを開き、https://localhost/drupal/ を要求します。そうすると、インストール スクリプトの最初のページが表示されます。

Ff454108.505_image001(ja-jp,TechNet.10).jpg

[Install Drupal in English (英語で Drupal をインストールする)] をクリックします。前の構成手順がすべて正常に完了したら、[Verify requirements (要件の確認)] 手順に進み、[Set up database (データベースの設定)] 手順に移動します。

Ff454108.505_image002(ja-jp,TechNet.10).jpg

このページで、以下の内容を入力します。

  • データベース名: "drupal"
  • ユーザー名: "drupal"
  • パスワード: "drupal"

[Save and continue (保存して次へ)] をクリックします。必要なデータベース テーブルが作成され、構成内容が sites\default\settings.php に保存されます。この手順の後で、このファイル上の "変更" アクセス許可を削除する必要があります。

[Configure Site (サイトの環境設定)] ページで、必要な構成情報を入力します。

Ff454108.505_image003(ja-jp,TechNet.10).jpg

クリーン URL の有効化

Drupal では、Web サイトに生成されたすべてのリンク URL に対してクエリ文字列パラメーターが既定で使用されます。この動作は、"クリーン URL" と呼ばれる機能を有効にして変更できます。ただし、この機能を Web サーバー上で使用するには URL 書き換え機能に依存します。IIS 6 には、URL 書き換え機能がないので、ISAPI_Rewrite(英語)Ionics ISAPI Rewrite Filter(英語) など、いずれかのサード パーティー製 URL 書き換え機能を使用します。IIS 7 では、URL 書き換え機能がサポートされているので、IIS 7 Microsoft URL 書き換えモジュールをインストールして有効にすることができます。以下の手順では、IIS 7 URL 書き換えモジュールを使用して、Drupal でクリーン URL を有効にする方法について説明します。

まず、Microsoft URL 書き換えモジュールをダウンロードしてインストールする必要があります。インストールが完了したら、web.config ファイルを作成して開きます。このファイルは、C:\inetpub\wwwroot\drupal フォルダーにあります。次の XML コードをコピーして、このファイルに貼り付けます。

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Drupal Clean URLs" stopProcessing="true">
                        <match url="^(.*)$" />
                        <conditions>
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
                    </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

web.config ファイルを保存して、Web ブラウザーを開き、https://localhost/Drupal/index.php?q=admin/settings/clean-urls に移動します。

Ff454108.505_image004(ja-jp,TechNet.10).jpg

このページを使用してクリーン URL を有効にし、[Save configuration (設定の保存)] をクリックします。URL 形式が正常に変更されると、すべての URL はクエリ文字列パラメーターが含まれていない階層構造で表示されます (例: https://localhost/Drupal/admin/settings/clean-urls)。

詳細情報

FastCGI および URL 書き換えモジュールに関するご質問やバグの報告をお寄せいただく場合は、次のフォーラム (英語) をご利用ください。

IIS での各種 PHP アプリケーションの実行に関する詳細については、次を参照してください。