Solaris 上で Web サーバ立ち上げ

Solaris 9 上で、apache 2.0.52 等をインストールし、Web サーバを立ち上げます。

apache インストールについて解説した本、Web ページは多いですが、 このページでは、設定、運用上気を付けねばならないこと(セキュリティ等)を中心に説明している.

apache-2.0.52 インストール

apacheについて

  1. ソースを取ってきて、適当なディレクトリに置く (今回は/tmpに置いた。)
  2. 解凍、展開
        # cd /tmp
        # gzip -d httpd-2.0.52.tar.gz
        # tar -xvf httpd-2.0.52.tar
    
  3. インストール (/tmp/httpd-2.0.52/INSTALL、/tmp/httpd-2.0.52/docs/manual/install.html に詳しい設定方法が書いてある。 今回は、何もオプションをつけずにインストールした。)
        # cd httpd-2.0.52
        # (echo --prefixのところは、必要があれば変更する)
        # ./configure --prefix=/usr/local/apache2
        # make
        # make install
    
  4. これで/usr/local/apache2ディレクトリができる。 この下に設定ファイルなどがある。
  5. 設定

    httpd.conf を設定します。

        # cd /usr/local/apache2/conf
        # vi httpd.conf
    

    このファイルを環境に合わせて編集する

  6. apacheのログ用のファイル,ディレクトリ等の作成
    /usr/local/apache2/bin/apachectl configtest
    mkdir -p /usr/local/apache2/logs/archive
    
  7. apacheログ管理用のスクリプト
    /usr/local/apache/bin/log.shの ファイルの中身は以下の通り
    #!/bin/sh
    d=`date "+%d"`
    w=`date "+%w"`
    y=`date "+%y"`
    m=`date "+%m"`
    
    log_dir=/usr/local/apache2/logs
    
    echo "log dir=" ${log_dir}/archive/access_log.${y}.${m}.${d}
    
    cp -f ${log_dir}/access_log ${log_dir}/archive/access_log.${y}.${m}.${d}
    mv -f ${log_dir}/error_log ${log_dir}/archive/error_log.${y}.${m}.${d}
    
    /usr/local/apache2/bin/apachectl restart >/dev/null
    
  8. apacheのログ移動用のcronの設定
    apacheのログ移動用の設定は以下の通り(ファイル名は/var/spool/cron/crontabs/root)です。
    0 6 * * * /usr/local/apache2/bin/log.sh
    
  9. ユーザの追加
        # vipw
    
    で /etc/passwd に以下の行を追加 www:x:80:80:HTTP SERVER ::/bin/nosh
  10. 起動、終了
        # /usr/local/apache2/bin/apachectl start(stop,restart)
    
    で起動、終了、再起動ができる

httpd.conf の設定

CGI とアクセス制御について

CGI を使いたいときは、 httpd.confに以下のような設定を追加する必要がある。 (なお、.htaccess は使わないことにしたいので、「AllowOverride None」になっています)。

    <Directory "/usr/local/apache2/share/htdocs/hogehogedir">
     AllowOverride None
     Options +ExecCGI
     AddHandler cgi-script cgi pl
     Order allow,deny
     Allow from all
    </Directory>

余分な処理を省くための処理

余分な処理を省くために httpd.conf に次のように設定します。

Apache Jakarta

別マシンで Java Servlet を動かして(Tomcat 等)、通信を行なうようなとき に便利です。

運用

Solaris と apache のセキュリティ