Red Hat Linux 9にApacheをインストールする

Apache 2.0.63(httpd-2.0.63.tar.gz)をRed Hat Linux 9にソースからコンパイルしてインストールします。

Apacheのダウンロード

httpd-2.0.63.tar.gzをダウンロードします。
http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/httpd/httpd-2.0.63.tar.gz

Apacheのインストール

ダウンロードした httpd-2.0.63.tar.gz を/usr/local/src にコピーします。
# cp httpd-2.0.63.tar.gz /usr/local/src/.

httpd-2.0.63.tar.gz を展開します。
# cd /usr/local/src
# tar zxvf httpd-2.0.63.tar.gz

展開したディレクトリに移動します。
# cd httpd-2.0.63

ソースからコンパイルします。
インストール先は /usr/local/apache2/ とします。

configureスクリプトを実行します。
# ./configure

コンパイルとインストールを実行します。
# make
# make install

Apacheの起動

Apacheを起動します。
# /usr/local/apache2/bin/apachectl start

Apacheの終了

Apacheを終了させます。
# /usr/local/apache2/bin/apachectl stop

Apacheの起動確認

Apacheの起動確認をします。

Apacheを起動します。
# /usr/local/apache2/bin/apachectl start

WebブラウザでApacheをインストールしたマシンのアドレスにアクセスし、テストページの表示を確認します。

http://インストールしたマシンのIPアドレス/

Apache自動起動

Apacheが自動起動できるように設定します。

/etc/rc.d/rc.localに /usr/local/apache2/bin/apachectl start を追加します。

# vi /etc/rc.d/rc.local
# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/usr/local/apache2/bin/apachectl start
#

C言語によるHello World!の表示

CGIをC言語でプログラミングしWebブラウザに Hello World! と表示させます。

・Hello World! のソース(C言語)を helloworld.c として、 /usr/local/apache2/cgi-bin/ に作成します。

# cd /usr/local/apache2/cgi-bin/
# vi helloworld.c

#include 
int main(void){
    printf("Content-type: text/plain\n\n");
    printf("Hello World!");
    return 0;
}

・helloworld.cをコンパイルします。
# gcc -o helloworld.cgi helloworld.c
# cd /usr/local/apache2/cgi-bin/
# vi helloworld.c
# ls
helloworld.c
# gcc -o helloworld.cgi helloworld.c
# ls
helloworld.c    helloworld.cgi
# ls -l
-rw-r--r--    1 root     root          128  9月  7 21:21 helloworld.c
-rwxr-xr-x    1 root     root         4715  9月  7 21:22 helloworld.cgi
#

・ブラウザでhelloworld.cgiを実行し、 Hello World! と表示されることを確認します。

2010.09.08

Apacheの削除

ソースコードからインストールしたApacheを削除する場合は、インストールしたディレクトリをすべて削除します。

インストール先が /usr/local/apache2/ の場合は以下のようにします。
# rm -rf /usr/local/apache2/
http://<サーバのアドレス>/cgi-bin/helloworld.cgi

configureのオプション

オプション
内容
デフォルト
--help
ヘルプを表示する
--no-create
makeファイルを生成しない
--quiet
各種チェック時のメッセージを表示しない
--srcdir=DIR
ソースファイルの場所を指定する
--version
バージョンを表示する
--prefix=PREFIX
PREFIX に指定されたディレクトリをapacheのルートディレクトリに指定する
/usr/local/apache2/
--exec-prefix=EPREFIX
EPREFIXで指定されたディレクトリにhttpdをインストールする
/usr/local/apache2/bin/
--datadir=DIR
DIRで指定したディレクトリにdataディレクトリ(build,cgi-bin,error,htdocs,iconds,manual)をインストールする
/usr/local/apache2/各種ディレクトリ/
-includedir=DIR
DIRで指定したディレクトリに各種ヘッダファイル をインストールする
/usr/local/apache2/include/
--libexecdir=DIR
DIRで指定したディレクトリにmodulesディレクトリをインストールする
/usr/local/apache2/modules/
--localstatedir=DIR
DIRで指定したディレクトリにlogsディレクトリをインストールする
/usr/local/apache2/logs/
--mandir=DIR
DIRで指定したディレクトリにmanをインストールする
/usr/local/apache2/man/
--sbindir=DIR
DIRで指定したディレクトリにsbinディレクトリをインストールする
/usr/local/apache2/sbin/
--sysconfdir=DIR
DIRで指定したディレクトリに設定ファイルをインストールする
/usr/local/apache2/conf/
--enable-module=NAME
NAMEで指定したモジュールを有効にする
--disable-module=NAME
NAMEで指定したモジュールを無効にする

makeターゲット

ターゲット
内容
all
実行ファイルを生成する
(ターゲット指定なしと同じ)
clean
configureで生成した一時ファイルを削除する
instal
インストールする
depend
ソースファイルとヘッダファイルの依存関係を記述したファイル(.deps)を生成する
distclean
配布されたファイル以外(Makefileも)を消去する

Apache THHP Serverダウンロードサイト
http://httpd.apache.org/download.cgi

追加 2010.09.08
2010.08.14