Apache 2.2 を試してみました
Apache 2.2.x をやってみろといわれてやってみたメモです。
[ダウンロード]
http://httpd.apache.org/
# 展開
tar xfj httpd-2.2.0.tar.gz
cd httpd-2.2.0
# so,rewrite,speling,cgi,ssl,deflate を有効化
# (openssl を手動でインストールした場合はこんな感じ)
./configure --enable-so --enable-rewrite --enable-speling --enable-cgi --enable-deflate --enable-ssl --with-ssl=/usr/local
# メイク
make
make install
#initファイルはこんな感じで作る。
vi /etc/init.d/httpd
#! /bin/sh
#
# Apache2 init script
#
# chkconfig: 2345 60 40
# description: Apache2 Web Server
## Source function library.
. /etc/rc.d/init.d/functions# Get config.
. /etc/sysconfig/network# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi# See how we were called.
case "$1" in
start)
echo -n "Starting httpd: "
/usr/local/apache2/bin/httpd -DSSL -k startecho
touch /var/lock/subsys/httpd
;;
stop)
echo -n "Stopping httpd: "
/usr/local/apache2/bin/apachectl stop
echo
rm -f /var/lock/subsys/httpd
rm -f /usr/local/apache2/logs/httpd.pid
;;
status)
status /usr/local/apache2/bin/httpd
;;
restart)
echo -n "Stopping httpd: "
/usr/local/apache2/bin/apachectl stop
echo
rm -f /var/lock/subsys/httpd
rm -f /usr/local/apache2/logs/httpd.pid
echo -n "Starting httpd: "
/usr/local/apache2/bin/httpd -DSSL -k start
echo
touch /var/lock/subsys/httpd
;;
reload)
echo -n "Reloading httpd:"
killproc /usr/local/apache2/bin/httpd -HUP
;;
*)
echo "Usage: httpd {start|stop|status|reload|restart}"
exit 1
esacexit 0
# ※SSLを有効にする場合は、オプションに -DSSL を付けるのがミソ
[conf設定]
apache2.2から設定ファイルの構成が変わった。
cd /usr/local/apache2/conf
ls -l
drwxr-sr-x 2 root root 4096 2月 8 11:50 extra
-rw-r--r-- 1 root root 12707 2月 8 11:56 httpd.conf
-rw-r--r-- 1 root root 13480 2月 8 10:26 httpd.conf.bak
-rw-r--r-- 1 root root 12958 2月 8 09:43 magic
-rw-r--r-- 1 root root 15020 2月 8 09:43 mime.types
drwxr-sr-x 3 root root 4096 2月 8 09:43 original
#SSLやユーザホーム機能の設定ファイルは extraディレクトリに入っているので
#それらを使用する場合は、 httpd.confを編集し
#下記のようにしてコメントを外し、インクルードさせる(mod_ssl の場合)
# 他のモジュールについても同様。
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
◆SSLの設定(自己認証:自前なんちゃってキーの場合)
デフォルトで、SSLキーの場所は/usr/local/apache2/conf の下に作成しろと言うことになっています。
# 秘密鍵の生成
/usr/local/bin/openssl genrsa -out /usr/local/apache2/conf/server.key 1024
# 証明要求書の生成
/usr/local/bin/openssl req -new -days 1024 -key \
/usr/local/apache2/conf/server.key -out \
/usr/local/apache2/conf/server.csr
# 自己署名の生成
/usr/local/bin/openssl x509 -in /usr/local/apache2/conf/server.csr -out \
/usr/local/apache2/conf/server.crt -req -signkey \
/usr/local/apache2/conf/server.key -days 1024
# 各鍵は読み取り専用にしておく
chmod 400 /usr/local/apache2/conf/server.*
#SSL 設定ファイルの編集
vi /usr/loacal/apache2/conf/extra/httpd-ssl.conf
# SSLのバーチャルホスト部分を各自、好きに設定してください。
ServerName サーバホスト名:443
DocumentRoot /var/html/xxxx#↓コメント#を外す
SSLCertificateFile /usr/local/apache2/conf/server.crt#↓コメント#を外す
SSLCertificateKeyFile /usr/local/apache2/conf/server.key
[起動]
/etc/init.d/httpd start
とりあえず、これで以上。
ログローテションなどはお忘れなく。