apache_1.3.19 のインストール

  1. apache のインストール
  2. 設定ファイルの変更
  3. 問題
  4. 参考文献

1. apache のインストール

以前インストールされていた apache (ver. 1.3.9) はdebianパッケージになっていた.
しかし debian が potato になり, slink 版では最新版のパッケージはないため, ソースからインストールした.

インストール作業
  1. 最新バージョン apache_1.3.19 を http://httpd.apache.org/ よりダウンロード.
    今回は自分のホームディレクトリにダウンロードした
  2. ホームディレクトリで圧縮ファイルを展開する.
    orange:~$ tar zxvf apache_1.3.19.tar.gz
    (一部抜粋)
    apache_1.3.19/ABOUT_APACHE
    apache_1.3.19/INSTALL
    apache_1.3.19/Makefile.tmpl
    apache_1.3.19/README

    それによって apache_1.3.19 というディレクトリができる.
    以下に展開されたファイルのうち大事そうなものを挙げるので 少し目を通しておくといいだろう.
    • README.configure: 圧縮ファイルの展開から make install までの説明.
    • Makefile.tmpl: Makefile を作るためのテンプレート
    • configure: 環境設定用のシェルスクリプト
    • src: Apache のソース本体の入ったディレクトリ
    • INSTALL: インストールの方法
    • conf: 設定ファイルの元の入ったディレクトリ

  3. apache_1.3.19 のディレクトリに移動して configure する.
    configure スクリプトはシステムの OS や環境を自動的に判別して,
    最適なコンパイル作業を行なえるようにするものである. (Makefileを作る)
    orange:~$ cd apache_1.3.19
    orange:~/apache_1.3.19$ ./configure
    (一部抜粋)
    Configuring for Apache, Version 1.3.19
    + Warning: Configuring Apache with default settings.
    + This is probably not what you really want.
    Creating Makefile

    (*)デフォルトでは /usr/local/apache/ 以下にインストールするようになる.
    インストールしたい場所を指定するには
    orange:~/apache_1.3.19$ ./configure --prefix=[インストールするディレクトリ]
    ※ 今回は、インストールするディレクトリを /etc/apache にした.
    また, 事前にインストールされる場所を知るには
    orange:~/apache_1.3.19$ ./configure --show-layout

  4. make する.
    make コマンドによって実際にコンパイルされる.
    orange:~/apache_1.3.19$ make
    ===> src
    make[1]: Entering directory `/home/hogehoge/apache_1.3.19'
    make[2]: Entering directory `/home/hogehoge/apache_1.3.19/src'
    ===> src/regex
    sh ./mkh -p regcomp.c >regcomp.ih
    gcc -I. -I../os/unix -I../include -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED `../apaci` -DPOSIX_MISTAKE -c regcomp.c -o regcomp.o
    (後略)
  5. make install する.
    適切な場所へインストールされる.
    orange:~/apache_1.3.19# make install
    make[1]: Entering directory `/home/hogehoge/apache_1.3.19'
    ===> [mktree: Creating Apache installation tree]
    ./src/helpers/mkdir.sh /etc/apache/bin
    ./src/helpers/mkdir.sh /etc/apache/bin
    ./src/helpers/mkdir.sh /etc/apache/libexec
    (中略)
    +------------------------------------------
    | You now have successfully built and installed the
    | Apache 1.3 HTTP server. To verify that Apache actually
    | works correctly you now should first check the
    | (initially created or preserved) configuration files
    |
    | /etc/apache/conf/httpd.conf
    |
    | and then you should be able to immediately fire up
    | Apache the first time by running:
    |
    | /usr/local/apache/bin/apachectl start
    |
    | Thanks for using Apache. The Apache Group
    | http://www.apache.org/
    +------------------------------------------
    以上でインストール終了.

2. 設定ファイルの変更

設定ファイルは /etc/apache/httpd.conf
以前の設定ファイルは httpd.conf , srm.conf, access.conf に分けていたが,
apache_1.3.11 からは httpd.conf だけに統一されるようになった.


3. 過去に起きた問題

  1. インストールが終わってapacheを起動するために
    #/usr/local/apache/bin/apachectl start
    をしても apache が起動しない. エラーもでない.

    [解決法] httpd.conf の Port が 8080 になっていた. red では 8080 は webcache になっていたので httpd.conf の port を 80 に変更


  2. 日本語が文字化けして表示されない.
    [解決法]
  • ログファイルを一つにしておくとサイズかとても大きくなってしまう.

    [解決法1] ログファイルを一週間毎に分割して圧縮して保存する.
    • シェルスクリプトの作成 (ここでは savelog-ep.sh とした)
      #! /bin/sh
      cd /usr/local/apache/logs
      # ログファイル名を変更 (日時を付加)
      mv access_log access_log.`date '+%y%m%d-%H%M'`
      gzip access_log.`date '+%y%m%d-%H%M'`
      mv error_log error_log.`date '+%y%m%d-%H%M'`
      gzip error_log.`date '+%y%m%d-%H%M'`
      # Apache を再起動
      /etc/init.d/apache reload
    • crontab に追加し月曜の朝 2:30 に起動するようにする.
      #crontab -e
      30 2 * * 1 sh /usr/local/apache/bin/savelog-ep.sh
    • ファイル数がある程度たまったら古いものから順に消して行くように, 改良する必要がある.
    • 参照URL
      http://www.rfs.co.jp/server/apache/06.html

    [解決法2]debian でインストールしたときには, 分割・圧縮してくれるプログラムがあったので, それを利用する.(たぶん今回しか使えない方法)
    • /etc/apache/conf/cron.conf を /usr/local/apache/conf/ 以下にコピーする.
      これは別にやらなくても良いが, 新しい apache は /usr/local/apache にあるので統一したかった.
    • /etc/cron.daily/apache を書き換える.
      これは /etc/apache という箇所を全て /usr/local/apache にした. /var/log/apache/access.log(error.log) を /usr/local/apache/logs/access_log(error_log) にした.


    更新日 : 2001/03/12 (高橋 こう子)
    作成日 : 2001/01/12
    Copyright (C) 2000  [小杉田 圭之] All rights reserved.