第3回 Apacheの基本インストール Apacheのインストール方法を解説する。まずは標準モジュールとApacheのコンパイル/インストール方法 2001/3/9
Apacheの概略を紹介してきたが、今回はいよいよApacheをインストールしてみるとしよう。また、ここで紹介するインストール手順はApache以外のオープンソース・ソフトウェアにも応用できる。多くのオープンソース・ソフトウェアも、ここで紹介する方法とほとんど変わらないからである。 コンパイルとは? Apacheを最も簡単にインストールする方法は、OSに合わせてコンパイルされたバイナリファイルを見つけ、それをコピーする方法だ。Linux/Solaris/HP-UX/AIXなど、大半のプラットフォームはインターネットで公開されたファイルを見つけられるだろう。しかし、以前にも紹介したとおり、コンパイル済みのバイナリでは自分の好みに合わせたカスタマイズは期待できない。 例えばSSLを使いたい場合や、PHPをDSOで使いたい場合には、それに応じたカスタム・インストールが必要となる。それには、自分でApacheのソースコードを入手し、コンパイル前にカスタマイズ設定をしなくてはならないのだ。「コンパイル」というと難しそうに感じるかもしれないが、Linuxの基本的な操作が理解できていて、多少の問題にもあきらめることなく立ち向かう気力さえあれば、必ずApacheをインストールできるはずだ。 ■なぜコンパイルが必要なのか
「コンパイル」(compile)を日本語に訳すと、「まとめる」とか「編集する」「寄せ集める」といった意味になる。Apacheをはじめとするアプリケーションは、C言語と呼ばれるプログラム言語を用いて作成されているが、1つのプログラムはたいてい複数のファイル(ソースコードなど)から成っている。これに由来するのだろう。 コンパイルを行うと、プログラムの無駄を取り除いて最適化するなどしたうえで、プログラムコードをコンピュータが理解できる機械語(バイナリコード)に変換する(ソースコードは人が理解できるテキストで作成される)。つまりコンパイルとは、この機械語への変換作業なのである。これを行わなければ、C言語のプログラムを実行することはできない(図1)。 厄介なことに、ハードウェアやOSごとに機械語が違っていたりする。このためバイナリファイルを用意しただけではあらゆるケースに対応できないのである。そこで、自分の環境に合わせたコンパイルを行うか、だれかが同じ環境でコンパイルしてくれた結果を使うしかない。この作業は面倒かもしれないが、ソースコードを開けばプログラムを見ることもできるし、その気になれば改造することもできる。これらのソースコードは、プログラムの書き方や、Webサーバの動作原理を知るうえで非常に有益なものだ。まさにオープンソース万歳! である。 ちなみに、コンパイルを行うためのアプリケーションを「コンパイラ」というが、このコンパイラにもいろいろな種類が存在する。CやJavaなど、言語別にコンパイラが存在するのは当然だが、同じC言語用のコンパイラにも複数の種類が存在する。コンパイラが違うと、プログラムの最適化手順が違っていたり、解釈できる命令に若干の差(方言のようなもの)があったりする。それゆえに、たいていのアプリケーションでは、「コンパイルするときには何々コンパイラを使ってほしい」などといった指定がある。このあたりの歴史や現状を調べてみるだけでも、十分面白い研究対象になるほどである。 |
インストールの準備作業 ■Apacheの入手 Apacheのソースコードの最新版を入手するなら、迷わず本家本元のサーバ(http://www.apache.org/)に行ってみよう。ここからリンクされているhttp://httpd.apache.org/dist/で各バージョンのApacheを入手することができる。ソースコード自体に日本語版も何もないから、ここからダウンロードすれば最新のものが手に入る。 ついでなので、筆者が利用したことのある、バイナリファイルを配布しているサイトも紹介しておく。コンパイルが面倒だったり、コンパイル時に必要なツールが足りない場合は、これらのサイトを利用するのもいいだろう。
■ソースコードの解凍 それはさておき、早速インストールを進めていくとしよう。Apacheのソースコードは、tarで1つにまとめた後、さらにgzipで圧縮したファイル(tar.gz)になっている。まずはこの逆の手順でファイルを解凍し、ソースコードを元の状態に復元する。
このとき、入手したファイルをどこに置くか、どのユーザーで解凍するかは皆さんの自由である。しかし、あえてrootユーザーを避けて一般ユーザーで行うくらいの方が、おかしなところにファイルを作るなどの間違いを犯す心配がなくていいだろう。筆者も「ichishi」というユーザーを作成し、/home/ichishiの中にファイルを置いて解凍するようにしている。 ファイルを解凍すると、バージョンに応じたディレクトリ(/home/ichishi/apache_1.3.14など)が作成され、圧縮されていたファイルが展開される。これらがApacheのソースコードであり、コンパイルに必要な各種のファイルである。ソースコードに興味のある方は、作成されたディレクトリの中に「src」というディレクトリがあるはずだから、その中を参照してみてほしい(拡張子がcのファイルがメインのプログラム類だ)。 さて、肝心の解凍手順だが、以下のようなコマンドを使えば一度に解凍できる。以下では、2001年3月現在の最新バージョンであるApache 1.3.19を例に説明する。
このコマンド(tar)でzオプションを使うと、gzipとtarを一度に解凍できる。しかし、商用UNIXに搭載されているtarコマンドの場合は、zオプションが使えないことが多い。その場合は、以下のようにgzipで解凍してから、そのファイルをtarで展開する。
■必ず見るべき2つのファイル 作業の前に、ファイルを解凍して作成されたディレクトリ(以下ソース・ディレクトリ)に移動し、「README」と「INSTALL」の2つを見ておきたい。これらは2つとも単なるテキストファイルだから、moreやlessで見ることができる。
READMEには、そのバージョンを使ううえでの注意事項やApacheについての簡単な説明が書かれている。INSTALLには、インストールの方法やインストール時の注意事項などが書かれている。また、これらのドキュメントにはインストールに必要なツール(とそのバージョン)などが書かれている場合もある(補足1)。 どちらも英語なので少々読みづらいと思うが、さらっとでも目を通したいところだ。Apacheに限らず、この手のファイルには、案外重要な情報が含まれている。上記の2つ以外にも関連するファイルがあるから、余裕があれば1つ1つ見ておいてほしい。 ■コンパイル前設定を行うconfigure ここまでできたら、インストール前の準備を行う。ここでの作業は「コンフィグ」と呼ばれ、Apacheのインストールオプションの設定を行うものだ。この作業をWindowsのアプリケーションに例えると、インストーラでカスタムインストールを選択し、自分が使いたいコンポーネントを選択する画面に相当する。 ソースディレクトリで
と入力してみてほしい。何やらドサッとメッセージが表示されると思う。この「configure」というのが設定を行うためのコマンドで、表示されたメッセージは、設定できる内容についての説明書きになっている。 設定内容といっても、実はそれほど多くない(表1)。よほど特別な場合や特殊な環境でのインストールでなければ、決めるべきはインストールするモジュールだけとなる(補足2)。それも、一般的なモジュールはデフォルトでインストールされるから、それ以外で追加・削除するようなモジュールは限られるだろう。
を実行してコンパイル前の設定を実施する。ここで実行したconfigureの内容は、同じディレクトリに「config.status」というファイル名で保存されている(リスト1)。もしも、若干の変更を加えてもう一度実行したければ、このファイルの内容を修正して「./config.status」と実行すればいい。
./configureを実行すると画面に進行状況が表示されるが、何かエラーがあると作業はそこで中断される。一見うまくいったように見えてもエラーになっていることがあるから、作業が終わったら画面をもう一度よく確認しておこう。特に問題がないようなら、次の作業に進むことができる。 |
コンパイルとインストール 実は、先に紹介した./configureを行うと、ソースディレクトリの「Makefile」というファイルが書き換えられる。このファイルは、コンパイルの際にプログラムを動的に変更するためのパラメータや、アプリケーションをコンパイルする手順などを定義するものだ。このファイルもただのテキストファイルだから、興味があれば開いてみて内容を確認してみるといいだろう。そこにはconfigureで指定した見覚えのある内容も記述されているはずだ。 ■makeでコンパイル 実際にプログラムをコンパイルするには、「make」というコマンドを使うが、このコマンドはMakefileを読み込んで動作する。本来ならば、makeに続いてMakefile中で定義されたパラメータを指定しなければならないのだが、Makefileにはデフォルトのパラメータが定義されている。Apacheの場合は「build」がそれにあたる。 従って、プログラムをコンパイルするのであれば
もしくは
と入力する。makeを実行すると、画面にたくさんのメッセージが流れていく。意味は分からなくても構わないが、エラーが起きていないかは確認しておこう。 先ほどと同じく、エラーがあればそこで作業は中断される。困ったことに、正常に終了してもその旨を示すメッセージは表示されない。特に異常が見当たらなければ成功と考えて構わないだろう。これで、ひとまずプログラムをコンパイルし、バイナリファイルを作成できたということだ。 ■総仕上げのインストールコマンド しかし、バイナリファイルが作成できただけではインストールを終えたことにはならない。なぜならば、作成したバイナリファイルはまだソース・ディレクトリの中に仮置きされているだけだからである。Apacheのような、システムで利用するアプリケーションは作成したファイルをシステムで共通に利用するディレクトリに配置し、きちんと使える状態にしてやらねばならない。 そうはいっても、作成したファイルがどこにあるのか、それをどこに配置すればよいのかは分からないだろう。そこで、それを自動的に行わせる「make install」を実行する。make installは、Makefileの中のinstallパラメータに定義された手順で処理を行う。 ただし、この作業はrootユーザー(システム管理者)でなければ書き込めないディレクトリにファイルを配置しようとする。従って、make installはこれまでに作業をしてきた一般ユーザーではなく、管理者として実行しなければならない。「su」を実行して管理者になってから「make install」を実行しよう。
画面にはこれまでと同じく進行状況が表示されるが、よく見てみると「cp」コマンドであったり「mkdir」コマンドであることが分かる。また、作業が正常に終了すると、以下のようなメッセージを返してくれる。このメッセージが表示されたら、一応Apacheがインストールされた、と判断して構わない。
|