Apache2でmod_sslを使う |
[root conf]# /usr/local/apache2/bin/httpd -l Compiled in modules: core.c mod_access.c mod_auth.c ・ ・ |
[root src]# ftp ring.asahi-net.or.jp ftp> cd /pub/net/apache/dist/httpd ftp> lcd /usr/local/src ftp> get httpd-2.0.47.tar.gz ftp> get httpd-2.0.47.tar.gz.md5 ftp> quit ダウンロードしたファイルが改竄されていない事を確認します。 [root /root]# cd /usr/local/src チェックサムの確認 [root src]# md5sum httpd-2.0.47.tar.gz チェックサムの計算 63f16638c18b140b649fab32b54d7f9c httpd-2.0.47.tar.gz [root src]# cat httpd-2.0.47.tar.gz.md5 63f16638c18b140b649fab32b54d7f9c httpd-2.0.47.tar.gz 値が一致するので大丈夫そうです。 |
[root src]# tar zxvf httpd-2.0.47.tar.gz [root src]# cd httpd-2.0.47 [root httpd-2.0.47]# ./configure --enable-ssl --prefix=/usr/local/apache2.0.47 [root httpd-2.0.47]# make [root httpd-2.0.47]# make install -> /usr/local/apache2.0.47にインストールされます。 古いApacheをリネイムし、今回インストールしたアパッチにシンボリックリンクを張ります。(古いapacheがある人だけ。) [root httpd-2.0.47]# cd /usr/local/ [root local]# mv apache2 apache2.0.43 <-- 古いapacheを適当な名前にリネイムします。 [root local]# ln -s apache2.0.47 apache2 |
※ | 私の環境では、既にApache2を利用していた為、httpd.confは以前のものをコピーして使います。これ以外にもtomcatとの連携で必要なファイルも既存のapache2ディレクトリよりコピーしておきます。(/usr/local/apache2/modules/mod_jk2.so、/usr/local/apache2/conf/workers2.properties) 参考までに、下記に以前の設定内容を掲載しておきます。(Apache2のインストールで掲載しているものと同様です。) |
[root httpd-2.0.47]# cd /usr/local/apache2.0.47/ [root apache2]# vi conf/httpd.conf |
ServerName www.ryouto.jp |
#Alias /manual "/usr/local/apache2/manual" #<Directory "/usr/local/apache2/manual"> # Options Indexes FollowSymLinks MultiViews IncludesNoExec # AddOutputFilter Includes html # AllowOverride None # Order allow,deny # Allow from all #</Directory> |
#Local zone SetEnvIf Remote_Addr 192\.168\.0\. dontlog #worm SetEnvIf Request_URI "default\.ida" worm dontlog SetEnvIf Request_URI "root\.exe" worm dontlog SetEnvIf Request_URI "cmd\.exe" worm dontlog SetEnvIf Request_URI "scripts" worm dontlog SetEnvIf Request_URI "NULL\." worm dontlog SetEnvIf Request_URI "\.files" worm dontlog CustomLog logs/access_log common env=!dontlog CustomLog logs/worm_log combined env=worm |
#AddDefaultCharset ISO-8859-1 |
ServerTokens Prod ServerSignature Off |
[root apache2]# bin/apachectl configtest <-これで設定ファイルの誤りがないかチェックします。 |
[root conf]# mkdir cert [root conf]# cd cert/ まずは、秘密鍵と証明要求書の作成です。 [root cert]#openssl req -new -text -out httpd.req -keyout httpd.pem 秘密鍵に含まれるパスフレーズを削除します。 [root cert]#openssl rsa -in httpd.pem -out ryocho.pem 自己署名証明書の作成 [root cert]#openssl req -x509 -in httpd.req -text -key ryocho.pem -out ryocho.crt |
<IfModule mod_ssl.c> Include conf/ssl.conf </IfModule> |
DocumentRoot "/usr/local/apache2/ssldocs" <--httpsと指定された場合のドキュメントルートです。適当なディレクトリを割り当てます。 ServerName www.ryouto.jp:443 <--サーバー名です。 ServerAdmin webmaster@ryouto.jp <--サーバー管理者です。 ErrorLog logs/error_log <--ssl用のエラーログです。通常のapacheと同じファイルが指定されます。 TransferLog logs/access_log <--ssl時のアクセスログです。通常のapacheのログと同名になっています。別にしたければ名前を変えましょう。 SSLCertificateFile /usr/local/apache2/conf/cert/ryocho.crt <--サーバー証明書 SSLCertificateKeyFile /usr/local/apache2/conf/cert/ryocho.pem <--秘密鍵 |
[root htdocs]# vi /usr/local/apache2/ssldocs/index.html <head> <title> ssl test page </title> </head> <body> SSL TOP PAGE! </body> </html> |
[root apache2]# bin/apachectl startssl (通常のstartではありません。)<- エラーがでなければOKです。早速他のマシンから接続してみてください。 |
#!/bin/sh # Source function library. . /etc/init.d/functions APACHBINDIR=/usr/local/apache2/bin case "$1" in start) echo -n "Starting httpd: " ${APACHBINDIR}/apachectl startssl $HTTPDOPT echo touch /var/lock/subsys/httpd ;; stop) echo -n "Shutting down http: " ${APACHBINDIR}/apachectl stop echo rm -f /var/lock/subsys/httpd rm -f /var/run/httpd.pid ;; status) status httpd ;; restart) $0 stop $0 start ;; reload) echo -n "Reloading httpd: " ${APACHBINDIR}/httpd -HUP echo ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac exit 0 |
[root rc3.d]# ln -s ../init.d/httpd S80httpd [root rc3.d]# cd ../rc5.d [root rc5.d]# ln -s ../init.d/httpd S80httpd [root rc5.d]# cd ../rc0.d [root rc0.d]# ln -s ../init.d/httpd K10httpd [root rc0.d]# cd ../rc6.d [root rc6.d]# ln -s ../init.d/httpd K10httpd |
お問い合わせはwebmaster@ryouto.jpまで。
Copyright (C)2003 ryouto.jp. All Rights Reserved.