このセクションでは、Gentoo Linux に PHP をインストールする際の注意事項とヒントについて説明します。
PHP ソースをダウンロードし独自でコンパイルすることも可能ですが、 Gentoo のパッケージシステムを使用することが、もっとも簡単でクリーンな インストール方法です。Linux でのソフトウエアのビルドに詳しく無いならば、 パッケージを使うと良いでしょう。
Gentoo システムのビルドをこれまでに行っていれば、Portage は 既に使用したことがあると思います。Apache と PHP のインストールは、 他のシステムツールのインストールと何ら変わる所はありません。
最初に、Apache 1.3.x をインストールするか Apache 2.x をインストールするか を決める必要があります。どちらでも PHP を使えます。ただし、以下に示すのは Apache 1.3.x を使う場合です。次に、Portage ツリーが最新かどうか チェックする必要があります。最近アップデートしていないなら、 まず emerge sync を実行します。これにより、 最新の安定版の Apache と PHP を使用できるようになります。
すべての用意が整ったら、以下の例のようにして、Apache と PHP を インストールできます。
Gentoo のサイトには Portage についてのすばらしい マニュアル がありますので、参照してください。
Apache 2 を使う場合は、上記の例で、emerge apache とします。
上記では、PHP 拡張モジュールを有効にしないで emerge しました。 このマニュアルが書かれた時点で、Portage のデフォルトでは、 PEAR が必要とする XML 拡張モジュールだけが 有効とされます。 これでは不足の場合も、簡単に、MySQL, gettext, GD などの適当な拡張モジュールを 有効にすることができます。
PHP をソースからコンパイルする場合は、拡張モジュールを有効にするのに configure コマンドを使用しました。Gentoo では、「USE フラグ」を使って、configure スクリプトを自動的に設定します。 使用可能な USE フラグは、以下のようにすると表示されます。
この出力から解る通り、多くの USE フラグが PHP に対して使用可能です。 よく見て、必要なものを選択してください。 選択したフラグに必要なライブラリがインストールされていない場合は、 Portage により適切にコンパイルされます。 emerge -pv をもう一度使用して、設定した USE フラグに応じて Portage が何をコンパイルするか確認してみるのも良いでしょう。 たとえば、X がインストールされていない場合に、X が必要となるような USE フラグを設定すると、PHP の前に X がコンパイルされます。このとき、 X のコンパイルには数時間もかかってしまいます。
MySQL, cURL および GD サポートを有効にして PHP をコンパイルする場合の コマンドは以下のようになります。
この例で、php だけでなく mod_php も emerge することを忘れないようにしてください。 php はコマンドライン版の PHP に対応し、mod_php は Apache モジュール版の PHP に対応しています。
PHP スクリプトが実行されず、PHP のソースがそのまま表示される場合は、 /etc/conf.d/apache の編集を忘れているのかもしれません。 Apache を -D PHP4 フラグを付けて起動する必要があります。 このフラグが付いているかどうか確認するには、Apache が動作している時に、 ps ax | grep apache を行います。
まれに、複数のバージョンの PHP がインストールされてしまう場合があるかもしれません。 そうなった場合は、古いバージョンを、以下のようにして、unmerge する必要があります。 emerge unmerge mod_php-<old version>
Java のために PHP を emerge できない場合は、先述の例のように USE フラグの先頭に -* としてください。
Apache や PHP の設定について何か問題がある場合は、 Gentoo Forums も参照してください。 "Apache PHP" というキーワードで検索してみると良いでしょう。