検索
連載

Webサーバから始めよういまさら聞けない!? Web系開発者のためのサーバ知識(1)(2/2 ページ)

開発者として常にプログラマに徹してしまっていないだろうか。そうすると、どうしてもサーバ知識が不足しがちになる(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

ソースからのインストール

 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の公式ドキュメントも併せて参照してください。記事内でも適宜、外部ドキュメントの該当ページをご案内します。

著者紹介

竹下 肯己

株式会社 qnote



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る