Apacheの導入

 Apacheのバージョン2.0系は,「DSO」(Dynamic Shared Object)という「モジュール」(ソフトウエア部品)を組み込むことによって,必要に応じて機能を拡張できる仕組みを持つ。ほとんどのLinuxディストリビューションに含まれるApacheにおいても,DSOを用いた機能拡張が施されている。自分LinuxでもこのDSOを利用しよう。

 具体的には,Apacheをコンパイル,導入する際に,DSOにより表3に示したモジュールを組み込める状態にする。その後,PerlやPHP4の実行環境構築時に「mod_perl」と「mod_php」をApacheに組み込む。

表3●自分LinuxのApacheで組み込み可能にするモジュール
表3●自分LinuxのApacheで組み込み可能にするモジュール
[画像のクリックで拡大表示]

 では,Apacheのコンパイル,導入から開始しよう(以下,誌面掲載時の1段幅に合わせて改行してあるのでご注意ください)。

 このようにコンパイルし,導入すれば,Apacheを構成するすべてのファイルが/usr/local/src/origdev/opt/apache2ディレクトリ以下に保存される。

mod_perlとmod_phpを導入する

 Apacheを導入したので,次は,mod_perlやmod_phpを含むPHP4の実行環境を導入する。なお,導入の際にテストできるよう,Apacheの設定を一時的に書き換える。

 Apacheの設定ファイル(/usr/local/src/origdev/opt/apache2/conf/httpd.conf)を,viなどのエディタなどで開き,

というServerNameディレクティブの設定を,

のように書き換える。書き換えたら,mod_perlからコンパイルする。

 このように,make testコマンドを実行した際,「All tests successful, 10tests skipped.」と表示されれば,mod_perlを正しく導入できる。次のコマンドでインストールしよう。

 続けて,PHP4の実行環境もコンパイルして導入する。

Perlの実行環境を導入する

 mod_perlを導入しただけでは,Perlで記述されたCGIプログラムは動作しない。Perlの実行環境も必要だ。Perlの実行環境をコンパイルして導入しよう。

 コンパイル時に実行するConfigureコマンドでは,「Installation prefix to use? (~name ok) [/usr/local]」の問い合わせメッセージのみ,「/usr/local/src/origdev/usr」を入力する。そのほかの問い合わせメッセージには,[Enter]キーを押すだけでよい。

のmake testコマンドで「All tests successful.」が表示されれば,コンパイルが完了する。

のように入力して,Perlの実行環境を導入する。

Apacheの設定

 自分LinuxのWebサーバー環境に必要なソフトはすべて導入した。あとは,自分Linux向けに設定を施そう。最低限,/usr/local/src/origdev/opt/apache2/conf/httpd.confファイルの3カ所を書き換える。

(1)ホスト名またはIPアドレスの指定
 先ほどテスト用に設定したServerNameディレクティブの「localhost」を,ホスト名またはホスト名のIPアドレスに書き換える。

(2)トップ・ディレクトリの変更
 Webサーバーの設定やログ,エラー・ログを格納しているディレクトリを含むトップのディレクトリを指定するServerRootディレクトリのパスを変更する。viエディタで,/usr/local/src/origdev/opt/apache2/conf/httpd.confファイルを開き,

「:%s/\/usr\/local\/src\/origdev//g 」を入力する。ファイル内の「/usr/local/src/origdev/」が削除される。削除されたら,

のようにして変更内容を反映する。

(3)ダイジェスト認証は不要
 ダイジェスト認証用モジュール(auth_digest_module)を組み込んでいる個所を,

のように,先頭に「#」を付けてコメントアウトする。このダイジェスト認証はベーシック認証よりもセキュリティが高い認証方式だが,MD5による暗号化の仕組みを用意していない自分Linuxではエラーになる。そのため,読み込まないように設定する。

Apacheの起動確認

 Apacheの設定も完了したので,自分Linux開発マシン上で稼働させてみよう。ApacheやPerl,PHP4などのファイルを/usr/local/src/origlinuxディレクトリにコピーする。このディレクトリには前回までに作成した自分Linuxのファイルが存在するため,今回新たに追加されたファイルのみをコピーすればよい。追加されたファイルのみをコピーするには,

のように実行する。もし上書き確認のメッセージが表示されたら,「y」を入力する。

 前回と同様に,/usr/local/src/origlinux/rootsysディレクトリ以下のbootディレクトリは不要なため,削除する。

 ここまでの作業が終わったら,まずは/usr/local/src/origlinux/rootsys/etc/passwdファイルに,

の1行を追記する。これで,Apacheのユーザーである「nobody」が登録される。

 次に,/usr/local/src/origlinux/rootsys/etc/servicesファイルに,

の2行を追記する。続けて,/usr/local/src/origlinux/rootsys/etc/hostsファイルを作成し,

のようにループバック・アドレスとローカル・ホスト名,自分Linuxに割り当てたIPアドレスとホスト名を記しておく。

 最後に,Apacheのライブラリが格納されているディレクトリ名(/opt/apache2/lib)を記した/usr/local/src/origlinux/rootsys/etc/ld.so.confファイルを作成する。

 そして,ldconfigコマンドにより/usr/local/src/origlinux/rootsys/etc/ld.so.cacheファイルを更新する。

 これで,すべての準備が完了だ。自分Linux開発マシンを再起動し,Apacheを立ち上げてみよう。

 再起動したら,LILOの画面で「mylinux」を選択する。rootでログインしたら,

を発行すると,Apacheが起動する。念のため,psコマンドでApacheのプロセスを確認する。

 root権限で起動されているプロセス(./httpd -f/opt/apache2/conf/httpd.conf -k start)が1つ,nobodyの権限で起動されているプロセスが5つ表示されれば,Apacheは正常に起動している。

 別のマシンのWebブラウザから「http://192.168.1.1/」にアクセスしてみよう。写真1のWebページが表示されたことだろう。

写真1●Apacheが正しく起動
写真1●Apacheが正しく起動
Webブラウザからアクセスしてみると,テスト・ページが表示される。

 ここまで完成したら,次は,このApache上で動作するWebアプリケーションを導入するため,再起動して自分Linuxの開発環境に戻しておく。