このセクションでは、Debian GNU/Linux に PHP をインストールする際の注意事項とヒントについて説明します。
PHP のソースコードをダウンロードし自分でコンパイルすることも可能ですが、 Debian のパッケージシステムを使用することが、もっともシンプルでクリーンな インストール方法です。Linux でのソフトウエアのビルドに不慣れならば、 この方法を取るのが良いでしょう。
最初に決めなければいけないのは、Apache 1.3.x と Apache 2.x のどちらを インストールするかです。それぞれに対応するパッケージは、 libapache-mod-php* および libapache2-mod-php* という名前です。 以下では、Apache 1.3.x を使用する場合について説明します。 また、現在のところ、PHP 5 の Debian 公式パッケージはありません。 ですので、PHP 4 のインストールについて解説します。
Debian では、PHP を CGI や CLI として使用することもできます。 それぞれ、php4-cgi と php4-cli という名前が付けられています。 これらが必要な場合は、下記のステップを対応する名前でもって行ってください。 また、特別なパッケージとしては、さらに、php4-pear があります。 これは、pear コマンドラインユーティリティ および PEAR の最小限の部分がインストールされるものです。
Debian の安定版のパッケージよりも新しいパッケージが必要な場合や、 Debian の公式レポジトリに含まれない PHP 拡張モジュールが必要な場合は、 http://www.apt-get.org/ を探してみると 良いかもしれません。たとえば、Dotdeb などが見つかるでしょう。この非公式レポジトリは Guillaume Plessis が管理しており、最新版の PHP 4 および PHP 5 の Debian パッケージがアップされています。このリポジトリを使用するには、以下の2行を /etc/apt/sources.lists に追加し、apt-get update を実行します。
パッケージのリストが最新であるかにも注意を払う必要があります。 パッケージの更新をしばらく行っていないのならば、apt-get update をまず最初に実行する必要があります。こうすることにより、 Apache と PHP の最新の安定版パッケージを取得することができます。
すべての準備が完了したら、以下の例に従って Apache と PHP をインストールします。
APT により、Apache 1.3 用の PHP 4 モジュールが自動的にインストールされます。 インストール中に Apache を再起動する旨が表示されなかった場合は、手動で 再起動する必要があります。
上記では、PHP のコアモジュールだけがインストールされています。 これだけでは不足の場合もあるでしょう。また将来、MySQL や cURL, GD といった より多くのモジュールを有効にすることが必要になるかも知れません。
PHP を自らコンパイルする場合は、有効にするモジュールを configure コマンドで指定します。APT では、追加のパッケージをインストールします。 それら追加パッケージは、'php4-*'(サードパーティのリポジトリから PHP 5 をインストールする場合は 'php5-*')といった名前が付けられています。
上記の出力を見てわかるとおり、(php4-cgi や php4-cli, php4-pear といった 特別なパッケージのほかにも) さまざまなパッケージがあり、インストールが可能です。 詳細に参照して、必要なものを選択してください。選択したモジュールに必要な ライブラリがインストールされていない場合、APT により自動的にインストールされます。
MySQL, cURL および GD サポートを PHP に追加する場合のコマンドは 以下のようになります。
APT により、(システムで)用いられている php.ini (/etc/php4/apache/php.ini, /etc/php4/cgi/php.ini など) に適切な設定が追加されます。
追加したモジュールを有効にするには、前述したとおり、Apache を再起動させる必要があります。
PHP スクリプトが実行された結果が出力されず、PHP のソースコードが表示される場合は、 APT によって、/etc/apache/conf.d/php4 が読み込まれるように、 Apache 1.3 の設定ファイルが変更されるべきところが、 実際には変更されていないものと思われます。 以下の行を /etc/apache/httpd.conf に追加し、 Apache を再起動させてください。
追加の拡張モジュールをインストールしたにもかかわらず、 その機能がスクリプトから利用できない場合は、前述した適切な設定が php.ini に追加されているかどうか確認してください。debconf による設定で コンフリクトが起こると、追加モジュールのインストールに失敗する場合があります。