UNIX的なアレ:gihyo.jp出張所
第5回 知っておきたいApacheの基礎知識 その1
Web系エンジニアの仕事をしている人なら,まずApacheを聞いたことがない人はいないのではないでしょうか。今では「Webサーバと言えばApache」と言われるくらいメジャーな存在となっています。
今回から数回にわたり,Apacheの設定方法や付属のスクリプトなどの解説をしていきます。
なぜApacheか
Apacheを使う理由は,おもに以下の3点が挙げられると思います。
- 安定した動作
- 豊富な機能
- 豊富なドキュメント
1.安定した動作
有償のアプリケーションとは違いサポートはありませんが,動作は非常に安定しています。先進的な機能を使わない限り,頻繁に落ちるといったことはまずほとんどないと思われます。
2.豊富な機能
Apacheには,標準でさまざまなモジュールが提供されています。おなじみの機能ですが,mod_accessやmod_authなどApacheを使ううえで各種モジュールは必要不可欠と言えるでしょう。
また,サードパーティ製のモジュールも数多く提供されているので,さまざまな機能を実現することができます。
3.豊富なドキュメント
Apacheの公式ページには,各モジュールの使い方も含め日本語化されたドキュメントが豊富にそろっています。ある程度慣れてくれば,このドキュメントを読むだけで基本的な機能は使うことができるようになります。
どのバージョンを使えば良いのか
現在,Apacheは1.3系,2.0系,2.2系とそれぞれ開発されています。とくに明確にこだわる理由がなければ,2.0系を使っておくのが無難でしょう。この記事の中でも主に2.0系を扱っていきたいと思います。
Apacheをインストールする
さて,それではapacheをインストールしてみましょう。今回はパッケージを使用せずにインストールします。それではソースコードをダウンロードしましょう。
下記のページから,Apache2.0系の最新のソースコードをダウンロードしてきます。
ダウンロード後は,tar.gzの形式のファイルを展開します。
$ wget http://www.ring.gr.jp/archives/net/apache/httpd/httpd-2.0.63.tar.gz
$ tar xvfz httpd-2.0.63.tar.gz
次の重要なポイントはconfigureオプションです。
Apacheには,さまざまな機能を提供してくれる「モジュール」と呼ばれる機能の組み込み方が2種類あります。1つは静的に組み込む方法,もう1つは動的に組み込む方法です。それぞれのメリット・デメリットは下記の通りです。
- 静的
メリット :パフォーマンス的に有利
デメリット:メンテナンスがしづらい
- 動的
メリット :不要なモジュールは抜いたりするなど,後々のメンテナンスがし易い
デメリット:静的に組み込む場合に比べて,パフォーマンスが低下する
上記のような差分がありますが,使いやすさを考慮して動的に組み込むような設定にしたいと思います。
それではインストールを引き続き行いましょう。
ファイルを展開したディレクトリに移動し,下記のコマンドを実行します。
$ ./configure --enable-mods-shared=all --enable-ssl=shared --prefix=/usr/local/apache2
それではconfigureのオプションについて1つずつ説明をしていきたいと思います。
- --enable-mods-shraed=all
これは,moduleを動的に使えるようにしますという意味です。1つずつの機能単位でも指定できるのですが,allと記述をすることで頻繁に使われるモジュールの大半を指定することができます。
- --enable-ssl=shared
sslを使用する場合に追加するオプションです。sharedを指定することで動的モジュールとして追加しています。
- --prefix=/usr/local/apache2
インストールするディレクトリを指定しています。上記では標準でインストールされるディレクトリと同一の名前を使用していますが,ここは好みの場所・ディレクトリ名を指定することができます。
その他にも,configureのオプションは多数あります。詳細をみたい場合は下記のコマンドでhelpを参照してください。
$ ./configure --help
それでは最後にインストールをしましょう。
$ make $ sudo make install
エラーがでなければこれでインストールは完了です。
Apacheを立ち上げてみる。
それではApacheを起動させてみましょう。下記のコマンドを実行してください。プロセスの起動確認も同時に行います。
Apacheを起動する際は,apachectlという起動scriptを使用します。
$ sudo /usr/local/apache2/bin/apachectl start $ ps `cat /usr/local/apache2/logs/httpd.pid` PID TTY STAT TIME COMMAND 16577 ? Ss 0:00 /usr/local/apache2/bin/httpd -k start
起動後,portをListenしているかどうかも確認をしておきましょう。デフォルトの設定では80番portをListenするので,netstatというコマンドを使用して確認します。
下記のように80番portをListenしていればapacheが起動しています。
$ netstat -an | egrep "^tcp.*:80.*LISTEN" tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
それでは最後にブラウザからapacheをあげているサーバーに対してアクセスしてみましょう。図1のページが表示されれば無事インストールが完了しています。
Apacheをさらに使いこなすために
今回はApacheの基本的なインストールの方法を紹介してきました。
次回以降は,Apacheの起動scriptの使い方やhttpd.confの記述方法など,より実践的な使い方を説明していきたいと思います。


