Yamada−Lab

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

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

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

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

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

1.1 Apache2.0のインストール

■ソースファイルのダウンロード

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

http://httpd.apache.org/download.cgi

(2)Apacheは2007年12月時点では、Aapche2.2の最新版はApache2.2.6で、Aapche2.0の最新版はです。ここでは、後者のApache2.0.61をインストールすることとします。(1)の画面を下にスクロールし、「Unix Source: httpd-2.0.61.tar.gz」のリンクをクリックします。

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

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

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

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

カレントディレクトリを、ソースファイルhttpd-2.0.61.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 httpd-2.0.61.tar.gz

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

 コンパイル(./configure)のオプションとして、モジュールをDSO(動的に)で組み込み可とし、また、暗号化通信のSSL対応とします。またWEB/DAV(Web-based Distributed Authoring and Versioning)も使用可能とします。さらに、SEO対策用にURLリライト可能とします。

--enable-so モジュールをDSO(動的に)で組み込み可
--enable-ssl 暗号化通信のSSL対応
--enable-dav WEB/DAV対応
--enable-rewrite URLリライト対応

[root@ma10 src]# cd /httpd-2.0.61
[root@ma10 src]# ./configure --enable-so --enable-ssl --enable-dav --enable-rewrite
[root@ma10 src]# make
[root@ma10 src]# make install

1.2 Apache2.0の基本環境設定・動作確認

■httpd.confの設定

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

・Apacheを実行するグループとユーザの設定

#User nobody
#Group #-1
   ↓
User apache
Group apache

・サーバ管理者のメールアドレスの設定

#ServerAdmin you@example.com
   ↓
ServerAdmin root@localhost

・サーバ名称の設定

#ServerName www.example.com:80
   ↓
ServerName www10.mediaart.co.jp

・ドキュメントルートの設定

#DocumentRoot "/usr/local/apache2/htdocs"
    ↓
DocumentRoot "/usr/local/apache2/htdocs"

ドキュメントルートに置いたファイルは、以下のURLでアクセスできます。

URL:   http://サーバ名称/ファイル名

たとえば、上記の設定では、/usr/local/apache2/htdocs/sample.htmlは

URL:   http://www10.mediaart.co.jp/sample.html

で、アクセスすることになります。

・ディレクトリインデックスファイル名の設定

#DirectoryIndex index.html index.html.var
    ↓
DirectoryIndex index.html index.htm index.php

URLがhttp://www10.mediaart.co.jp/のように「/」で終わっていたりディレクトリ名で終わっている場合、DirectoryIndexで指定したファイル名を順次探して、存在すればそのファイルにアクセスします。

たとえば、http://www10.mediaart.co.jp/の場合は、まずhttp://www10.mediaart.co.jp/index.htmlを探しにいきます。

・ドキュメントルートでのCGI/SSIの実行権付与とインデックスリストの非表示

# Options Indexes FollowSymLinks
    ↓
Options FollowSymLinks ExecCGI

Indexesがあると、URLで指定したファイルがないと、当該ディレクトリ内のインデックスリストが表示されてしまいます。

・ユーザディレクトリ

UserDir public_html
あるいは厳密に絶対パスで
UserDir /home/*/public_html

たとえば、/home/yamada/public_html/sample.htmlの絶対パスのファイルは

http://www10.mediaart.co.jp/~yamada/sample.html

でアクセスできるようになります。URLでのユーザディレクトリはユーザ名の前に「~」(チルダと呼ぶ)を付加します。

・CGIファイル拡張子の設定

#AddHandler cgi-script .cgi
    ↓
AddHandler cgi-script .cgi .pl

■Apacheの起動

 Apacheの起動は以下により実行します。

/usr/local/apache2/bin/apachectl start

 Apacheの停止は以下により実行します。

/usr/local/apache2/bin/apachectl stop

 Apacheの環境設定ファイルhttpd.confを変更した場合は、Apacheを以下のコマンドにより再起動し、再読み込みさせる必要があります。

/usr/local/apache2/bin/apachectl restart

 ただし、アクセス数の多いサーバでは、・・・/apachectl restartでは、アクセス中のユーザの接続も強制中断されるために、かわりに以下のコマンドを使います。

/usr/local/apache2/bin/apachectl gracefull

 

○備考

■Red Hat Linux9でPHP5をインストールするには、Apacheも最新版にインストールする必要がある

 フリーなOSとしてののRed Hat Linuxは、Fedora Core(フェドラコア)へと引き継がれました。Red Hat LinuxのバージョンはRed Hat Linux9までで、そのアップデート等のサポートも2004年4月30日までで完了しています。

(参考)
Red Hat Linux から Fedora Core へ
http://www.stackasterisk.jp/tech/systemConstruction/fc01_01.jsp

 RPMパッケージを操作するコマンドとして、Red Hat Linuxではrpmコマンドがありましたが、より簡単で便利なコマンドとしてFedora Core1からyumコマンドが導入されました。yumコマンドは、Red Hat Linuxでもインストールしてつかうことができます。

(参考)
yum(Yellow dog Updater, Modified)について
http://www.stackasterisk.jp/tech/systemConstruction/fc01_04.jsp#5

 Red Hat Linux9用にサポートされているRPMパッケージは、たとえば以下のサイトにあります。

Index of /pub/Linux/fedoralegacy/redhat/9/updates/i386
http://riksun.riken.go.jp/pub/Linux/fedoralegacy/redhat/9/updates/i386/

 このサイトにあるRPMパッケージであれば、yumコマンドにより、簡単にインストールやバージョンアップが可能です。

 ただ、Apacheについては、最も新しくてもhttpd-2.0.40-21.9.i386.rpm までしかサポートされていません。PHPもphp-4.2.2-17.2.i386.rpmまでしかサポートされていません。

 Apache(httpd-2.0.40)の環境でPHP5をインストールしようとすると、Apache(httpd-2.0.40)では古く、依存関係でエラーになってしまいます。

 したがって、Red Hat Linux9の環境で、PHP5をインストールするためには、Apacheも最新のバージョンに再インストールする必要があります。

■旧Apache2.0+PHP4を残したまま、新Apache2.0+Apache5をインストール

 Red Hat Linux9のRPMパッケージでは、はおのおの以下のディレクトリにインストールされています。

/usr/sbin/httpd
/usr/bin/php

 一方、Apache2.0とPHP5は、ソースからコンパイルしてインストールする場合、既定ではおのおおの以下のディレクトリにインストールされます。

/usr/local/apache2/bin/httpd
/usr/local/bin/php

 そこで、ここでは、古いApacheとPHPをアンインストールすることなく、新しいApacheとPHPをインストールすることとします。

【参考リンク】

コンパイルとインストール−Apache HTTP サーバ バージョン 2.0
Apache公式サイトにおけるコンパイルとインストール方法の説明
http://httpd.apache.org/docs/2.0/ja/install.html

Configure the source tree−Apache HTTP Server Version 2.0
Apache公式サイトにおける./configureのオプションの詳細説明
http://httpd.apache.org/docs/2.0/ja/programs/configure.html

WWWサーバの構築(Linux編)
http://www.aconus.com/~oyaji/www/apache_linux.htm

安全な RedHat Apache サーバの構築方法
http://www.linux.or.jp/JF/JFdocs/SSL-RedHat-HOWTO.html#toc3

SSLによるSecureWWWサーバの構築
http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm

NetPlatz::Apache2 + SSL の設定方法 (Linuxの場合)
http://platz.jp/howto/apache_ssl_linux.html

URLリライト方式によるURL転送作業
http://kamoland.com/comp/urlchange2.html

 

【関連書籍】

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月3日

更新日: 2007年12月18日