Webサーバから始めよう:いまさら聞けない!? Web系開発者のためのサーバ知識(1)(2/2 ページ)
開発者として常にプログラマに徹してしまっていないだろうか。そうすると、どうしてもサーバ知識が不足しがちになる(編集部)
ソースからのインストール
yumとRPMによるApacheの導入は大変便利なのですが、Apacheのバージョンを選んでインストールしたい場合や、ディレクトリ構成を自由にカスタマイズしたい場合、違うバージョンのApacheを共存させたい場合などには、ソースからコンパイルしてインストールする方法も有用です。ここではApacheをソースからインストールする手順を紹介します。
まず、http://httpd.apache.org/download.cgiにアクセスし、最新版のソースをダウンロードします。最新版は、「Apache HTTP Server x.x.x is the best available version」の下にリンクがあります。今回はhttpd-2.2.11.tar.gzをダウンロードしました。最新版以外のバージョンを入手したい場合は、http://archive.apache.org/dist/httpd/にアクセスして目的のファイルを探します。
入手したファイルを、サーバ上の任意の作業用ディレクトリにアップし、以下の手順でインストールを実行してください。
# 解凍して、解凍先ディレクトリへ移動 tar xvzf httpd-2.2.11.tar.gz cd httpd-2.2.11 # コンパイル前の設定【*3】 ./configure --prefix=/usr/local/apache-2.2.11 --enable-mods-shared=all # コンパイルとインストールの実行 make make install
【*3】configureのオプションについて
「--prefix」で、インストール先ディレクトリを指定できます。この指定を省略すると、/usr/local/apache2にインストールされます。通常は省略して問題ありません。
「--enable-mods-shared=all」は、すべての拡張モジュールを有効にするよう指定するオプションです。
configureやmakeなどの実行時に、インストールに必要な関連ライブラリ(主にソースのコンパイルに必要な開発言語環境)が足りないなどのエラーになることがあります。その場合には、エラーメッセージをよく見て、不足しているパッケージをインストールしてください。configureを実行するとconfig.logというログファイルが生成されますので、そちらも参考にしてください。
多くのパッケージは、先ほど紹介したyumで簡単に追加インストールすることができます。筆者の環境では、zlib-develを追加インストールする必要がありました。
Apacheをソースからインストールした場合、configureで指定したインストール先(あるいはデフォルトの/usr/local/apache2)にすべてのファイルが設置されます。以下のようなディレクトリ構成となりますので確認しておきましょう。
Apacheインストール先(/usr/local/apache2など) |- bin/ Apacheのサーバプログラムや制御スクリプトなど |- conf/ 設定ファイルの設置先 |- conf/extra/ 分割された設定ファイルの設置先 |- logs/ ログファイルの出力先およびサーバプロセスのプロセスIDファイルの生成先 |- modules/ Apacheの拡張モジュール群の設置先 |- htdocs/ コンテンツの設置先となるドキュメントルート |- cgi-bin/ CGIの設置先 |- error/ エラーページの設置先 |- icons/ Apacheが表示するページで利用されるアイコン画像の設置先 |- manual/ マニュアルページの設置先
Apacheの起動と確認
Linuxのシステムの仕組みとして、/etc/rc.d/init.dの配下にサーバプログラムの制御スクリプトを設置しておくと、システム起動時に各サーバプログラムが自動起動するように設定できたり、serviceというコマンドで手動での起動や終了ができたりして便利です。
ApacheをRPMでインストールした場合は、/etc/rc.d/init.d/httpdという制御スクリプトが自動で生成されます。ソースからインストールした場合には、インストール先のbin/apachectlという制御スクリプトをコピーして利用します。
cp Apacheインストール先/bin/apachectl /etc/rc.d/init.d/httpd
制御スクリプトを設置したら、まずは手動で起動してみましょう。
service httpd start
または、
/etc/rc.d/init.d/httpd start
まだ初期設定を何も行っていないので、以下のようなメッセージが表示されますが、とりあえず起動できました(設定については次回解説します)。
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
ちなみにApacheの終了はservice httpd stop(または/etc/rc.d/init.d/httpd stop)、Apacheの再起動はservice httpd restart(または/etc/rc.d/init.d/httpd restart)で実行できます。
では確認してみましょう。Apacheをインストールしたサーバのホスト名(またはIPアドレス)を指定して、Webブラウザでアクセスしてみます(ホスト名でアクセスする場合は、hostsファイルやDNSなどで、ホスト名→IPアドレスの解決ができる状態にしておく必要があります。hostsや名前解決の仕組みについては別の回で解説する予定です)。
サーバのGUI上でWebブラウザを開いてアクセスする場合は、ホスト名「localhost」やIPアドレス「127.0.0.1」でアクセスできます。
ApacheをRPMパッケージでインストールした場合、「Apache 2 Test Page」というページが表示されます(ドキュメントルートである/var/www/htmlにindex.htmlというファイル名でページを設置しておけば、そちらが表示されます)。
Apacheをソースからインストールした場合には、すでにindex.htmlがドキュメントルート(Apacheインストール先のhtdocsディレクトリ)に設置されているため、そちらが表示されます。これは「It works!」と表示されるだけの簡単なHTMLです。
以上で、とりあえずWebサーバ再入門のスタート地点に立ちました。Webアプリケーションの開発をしていれば、ここまでは経験している人も多いと思いますが、ここから先へ踏み込む機会がなく(あるいはその時間がなく)、すべてデフォルトのままでなんとなく使っていた人も多いでしょう。
次回からの数回に渡り、Apacheの基本設定から応用的な利用法までを紹介したいと思います。
なお、Apacheの膨大な機能や設定方法のなかから、開発者がよく利用しそうな部分を中心に抜粋して紹介しますが、より詳細な情報が必要な場合には、Apacheの公式ドキュメントも併せて参照してください。記事内でも適宜、外部ドキュメントの該当ページをご案内します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- プログラマーを引き付けるMac OS Xの魅力
続々移行するそのワケとは Mac一筋という熱狂的なユーザーだけでなく、「面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜだろう - Mac OS XでAMP構築
3通りの方法で整備できる開発環境 Mac OS Xの上にWebアプリケーションの定番、AMP(Apache+MySQL+PHP)環境を3通りの方法で導入してみましょう - Mac OS Xで動かす軽量プログラミング言語
導入からPHP拡張モジュール組み込みまで Leopardでは、インストール直後からいくつかの軽量プログラミング言語が利用できます。早速試してみませんか? - Objective-Cは特殊な言語?
Cocoaの素、Objective-Cを知ろう(1) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう - Mac内にPHP4、5、6を同居させるコツ
Mac OS X+PHPでオールインワン環境(インストール編) PHP4の開発は終了したが、移行の問題は残されている。異なるバージョンのPHPをスムーズに切り替えるには?