Yamada−Lab

Apache2.0+PHP5のインストール(Linux環境)

第2章 PHP5のインストール

前へ | 目次へ |次へ  | Yamada-Lab

 LinuxサーバにApache2.0をインストールします。

ここでは、Linuxサーバをリモートホストとし、インターネット経由でWindowsPCをクライアントとして、「Tera Term Pro」や「NextFTP」を使って作業を行っています。

2.1 PHP5のインストール

(1) PHP5のUnix版(Linux版)のソースファイルをダウンロードします。たとえば、以下のサイトにアクセスします。

http://www.php.net/downloads.php

 PHPは2007年12月時点で最新版はPHP5.2.5です。「Complete Source Code」の項の「PHP5.2.5(tar.gz」)リンクをクリックします。

(2)ミラーサイトのリンクをクリックします。

(3)「保存」ボタンをクリックし、クライアントPCの任意のフォルダにダウンロードします。

 

(4)ダウンロードしたファイルを、FTPにより、Linuxサーバのたとえば/usr/local/src/ディレクトリにアップロードします。

■ソースファイルの解凍、コンパイル

(1)一般には、make install時のみ、スーパユーザroot権限で実行しますが、ここでは、最初からスーパユーザroot権限で実行します。

カレントディレクトリを、ソースファイルphp5.2.5.tar.gzがある/usr/local/src/に変更し、tarコマンドにより解凍します。オプションは「zxvf」とします。

-z gzipコマンドで解凍する(対象ファイル拡張子:.tar.gz)。-fの前に指定する必要がある。
-x アーカイブ内部のファイルを階層構造を保ったまま展開する。
-v 処理したファイルの一覧を表示する。
-f アーカイブファイルのパスを指定する。オプションの最後に指定する。

[yamada@ma10 yamada]$ su -l
[root@ma10 etc]# cd /usr/local/src
[root@ma10 src]# tar zxvf php-5.2.5.tar.gz

(2)カレントディレクトリを、./php-5.2.5に変更し、コンパイルを以下により実行します。PHP5は、既定では主たるファイルが/usr/local/bin/以下にインストールされます。RedHat標準のPHP4は別のディレクトリにインストールされているので、RedHat標準のPHP4を残したまま、新しいPHP5をインストールできます

 まず、PHPのconfigureを行います。configureのオプションを指定することにより、自分のサーバのディレクトリ構造にあった形で、特定の拡張モジュールを有効にするなどのカスタマイズを行います。configureの選択可能なオプションは

./configure --help

で確認できます。

(補足)
たとえば、PHP4等の古いバージョンでXMLを使うときに必要だったオプション--with-libxmlは、php-5.2.5では未定義オプションになっています。つまりPHP5.2.5ではXML関連の関数はオプションで指定しなくても、PHP本体に既定で組み込まれているということです。

 まず、Apache2環境では、apxsの所在ディレクトリを、--with-apxs2=/usr/local/apache2/bin/apxsで指定します。日本語などのマルチバイト言語対応文字列関数を使用できるようにするために、--enable-mbstringを付加します。

apxs(APache eXtenSion )はApache拡張ツールで、DSO(Dynamic Shared Object:動的拡張オブジェクト)作成ツールです。

 データベースとして、MySQLを使うなら--with-mysqlを付加します。MySQLをソースからコンパイルしてインストールした場合は、MySQLの所在ディレクトリを--with-mysql=/usr/local/mysqlのように明示的に指定します。MySQLのインストールは、PHPのインストールの前に実行しておく必要があります。MySQL4.1.3以降の拡張を使う場合は、--with-mysqli=/usr/bin/mysql_configも付加します。

 データベースのPostgreSQLを使用する場合は、--with-pgsql=/usr/local/pgsqlを付加します。その他、自サーバに必要なオプションを適宜付加します。

 Red Hat9でyumを実行しても、いくつかのモジュール等のバージョンが古かったりなかったりします。その場合は適宜インターネットで探しインストールしておく必要があります。その場合、make test(make checkではない)でエラーがないか確認しておきます。(詳細は後述)

--with-apxs2=/usr/local/apache2/bin/apxs Aapche2におけるapxsのディレクトリ
--enable-mbstring マルチバイト対応
--with-mysql=/usr/local/mysql MySQ対応
--with-mysqli=/usr/bin/mysql_config MySQ拡張対応
--with-pgsql=/usr/local/pgsql PostgreSQL対応

[root@ma10 src]# cd php-5.2.5
[root@ma10 src]# CFLAGS="-O2" ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/bin/mysql_config \
--with-pgsql=/usr/local/pgsql

[root@ma10 src]# make
[root@ma10 src]# make test
[root@ma10 src]# make install

 CFLAGS="-O2"は、コンパイルの最適化レベル2を指定しています。行末の「\」は、エンターキーによる「改行」コードを無効にします。このようにして、オプションをみやすくできます。


2.2 PHP5の環境設定・動作確認

■php.iniのコピー

 まず、PHP5の環境設定ファイルphp.iniを以下によりコピーしておきます。カレントディレクトリはmake installを実行したディレクトリです。

[root@ma10 src]# cp php.ini_dist /usr/local/lib/php.ini

php.ini_recomendedをコピーする方法もありますが、いろいろ最適化されているので、既定のままのphp.ini_distをコピーした方が無難なようです。

■php.iniの設定

 /usr/local/lib/にあるphp.iniファイルをviエディタ等で自サーバ用に編集(カスタマイズ)します。行頭の「;」は、コメント行であることを示しています。本サーバでは、たとえば以下のような設定を行っています。

・マルチバイト文字列対応のために以下の設定を行います。

;output_handler =
    ↓(「;」を削除し、コメント行でなくし、有効にする)
output_handler = mb_output_handler

;default_charset = "iso-8859-1"
    ↓
default_charset = "UTF8"

;mbstring.language = Japanese
    ↓
mbstring.language = Japanese

;mbstring.internal_encoding = EUC-JP
    ↓
mbstring.internal_encoding = UTF8

;mbstring.http_input = auto
    ↓
mbstring.http_input = auto

;mbstring.http_output = SJIS
    ↓
mbstring.http_output = UTF8

;mbstring.encoding_translation = Off
    ↓
mbstring.encoding_translation = On

;mbstring.detect_order = auto
    ↓
mbstring.detect_order = auto

;mbstring.substitute_character = none;
    ↓
mbstring.substitute_character = none;

■httpd.confの設定

 Apacheの環境設定ファイルである/usr/local/apache2/conf/httpd.confに、以下の各行がない場合は追加します。

・PHPの共有モジュールをロードするよう設定

LoadModule php5_module modules/libphp5.so

・ApacheがPHPファイルを識別するための拡張子の設定

AddType application/x-httpd-php .php .phtml

・PHP のソースをハイライト表示するよう設定

AddType application/x-httpd-php-source .phps

■Apacheの再起動

 以下によりApacheを再起動し、編集したhttpd.confを読み込ませます。

/usr/local/apache2/bin/apachectl restart

■PHPの動作確認

 以下の簡単なPHPファイルを作成し、たとえばphpinfo.phpとして、ルートディレクトリにおきアクセスしてみます。

phpinfo.php

<?php
  phpinfo();
?>

 以下のように表示されれば、ApacheおよびPHPは正常にインストールされ起動されています。

 また、MySQLのモジュールが正常にインストールされていれば、以下の部分が表示されます。

 PostgreSQLのモジュールが正常にインストールされていれば、以下の部分が表示されます。

【参考リンク】

PHP::Unix システムへのインストール
http://www.php.net/manual/ja/install.unix.apache2.php

PHPのインストール(Apache2.0 Linux編)
http://www.aconus.com/~oyaji/www/apache_linux_php.htm

自宅サーバー Debian:: PHP 5 のインストール
http://debianj.com/php_5_instal

 

【関連書籍】

Ben Laurie, Peter Laurie 著、田辺 茂也 監訳、大川 佳織 訳:「Apacheハンドブック 第3版」、オライリー・ジャパン、2003年9月
Apache HTTPサーバについての解説書として定番

こがよういちろう:「Apache HTTPサーバの構築」、アスキー出版局、1998年12月
Apacheの手軽な解説書


大垣 靖男:「[改訂版] PHP ポケットリファレンス 」、技術評論社、2005年9月
PHPプログラミングのために、手元においておきた必携書

山田祥寛 :「Pocket詳解 PHP辞典」、秀和システム、2006年3月

山田祥寛:「独習PHP」、翔泳社、2006年1月
入門から、PEAR、Smartyまで、PHPを丸ごと学べる定番の入門書

KJ、田中ナルミ:「PHPによるWebアプリケーションスーパーサンプル 活用編」、ソフトバンククリエイティブ、2006年9月
PEARモジュールを活用して、複雑なスクリプティングをより軽量化

小島まさご:「実践マスターPHP+MySQL―PHP4/PHP5対応」、ソーテック社、2007年6月
PHPの基礎から、データベースMySQLを使用した会員管理システム構築まで詳細に解説

【関連リンク】

The Apache Software Foundation
Apacheの公式サイト
http://www.apache.org/

Downloading the Apache HTTP Server
Apacheの公式ダウンロードサイト
http://httpd.apache.org/download.cgi

ApacheのWindow用バイナリーファイルのダウンロードサイト
http://ftp.riken.jp/net/apache/httpd/binaries/win32/

Apache HTTP サーバ バージョン 2.2 ドキュメント
Apache2.2の日本語公式ドキュメント
http://httpd.apache.org/docs/2.2/

PHP:Hypertext Preprocessor
PHPの公式サイト
http://www.php.net/

PHP:Downloads
PHPの公式ダウンロードサイト
http://www.php.net/downloads.php

PHP:マニュアル
PHPの公式日本語マニュアル
http://www.php.net/manual/ja/

日本PHPユーザ会
http://www.php.gr.jp/

PHP入門スクリプト
PHP関連リンク集
http://php.ninja-x.jp/

レッツPHP!
http://php.s3.to/

初心者のためのホームページ作り:PHP入門
http://www.scollabo.com/banban/php/index.html

初心者用PHP入門
http://www.standpower.com/index.html

phpspot
http://phpspot.net/php/

基礎から解る!PHP入門講座
http://w1.nirai.ne.jp/freeze/

そふぃのPHP入門
http://nyx.pu1.net/

ボブ先生のスパルタPHP入門
http://www.kochinet.info/usr/php/

 

第1章 Apache2.0のインストール

1.1 Apache2.0のインストール
1.2 Apache2.0の環境設定・動作確認

第2章 PHP5のインストール

2.1 PHP5のインストール
2.2 PHP5の環境設定・動作確認

PostgreSQL8.2によるWebアプリケーション(Linux+Apache2.0+PHP5.2環境)

この記事へのコメント


前へ | 目次へ |次へ  | Yamada-Lab

執筆 山田豊通
更新日: 2007年12月18日