apache2.0+mod_ssl+mod_perl のインストール
〜 RedHat9 で apache2 をインストール 〜
openssl は rpm のものを使います
2003-10-17 作成 福島
2003-11-11 更新 福島
TOP > tips > apache2
・apache 2.0 のインストール
 mod_perl は apache 2.0 をインストールした後にインストールします。(1.3.x と違います)

$ tar xzf httpd-2.0.47.tar.gz
$ cd httpd-2.0.47
httpd-2.0.47$ CPPFLAGS=-I/usr/kerberos/include/ \
	./configure \
		--enable-so \
		--enable-ssl \
		--enable-proxy \
		--enable-rewrite \
		--enable-auth-dbm \
		--with-ssl=/usr
※ RedHat 9 以前の場合、CPPFLAGS=-I/usr/kerberos/include/ は不要です。
httpd-2.0.47$ make
httpd-2.0.47$ su
httpd-2.0.47# make install
httpd-2.0.47# exit
httpd-2.0.47$ cd ..
$ 

・mod_perl のインストール

$ tar xzf mod_perl-2.0-current.tar.gz
$ cd mod_perl-1.99_10
mod_perl-1.99_10$ perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
mod_perl-1.99_10$ make
mod_perl-1.99_10$ make test
mod_perl-1.99_10$ su
mod_perl-1.99_10# make install
mod_perl-1.99_10# exit
mod_perl-1.99_10$ cd ..
$ 

$ cd /usr/local/apache2/conf
conf$ su
conf# vi httpd.conf
mod_perl を読み込む指定を追加する (ついでにサーバ名も記述する)
ServerName www.example.com

LoadModule perl_module modules/mod_perl.so
・秘密鍵 (server.key) の作成  とりあえず、パスフレーズは入力しない (必要な場合は -des3 等のオプションを追加する) conf# mkdir ssl.key conf# openssl genrsa -out ssl.key/server.key 1024
............................................++++++
........++++++
e is 65537 (0x10001)
conf# chmod 600 ssl.key/server.key 秘密鍵を他の人に見られてはいけません ・公開鍵 (server.csr) の作成 (CSR は未署名の公開鍵です。後に CA で署名されて CRT ファイルになります) conf# openssl req -new -key ssl.key/server.key -out ssl.key/server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP[Enter]
State or Province Name (full name) [Berkshire]:Saitama[Enter]
Locality Name (eg, city) [Newbury]:Saitama[Enter]
Organization Name (eg, company) [My Company Ltd]:RougeNetwork[Enter]
Organizational Unit Name (eg, section) []:[Enter]
Common Name (eg, your name or your server's hostname) []:www.example.com[Enter]
Email Address []:admin@example.com[Enter]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[Enter]
An optional company name []:[Enter]
・未署名公開鍵の確認 conf# openssl req -in ssl.key/server.csr -text ・署名済み公開鍵 (server.crt) の作成  詳細は別項を参照してください。(本来は VeriSign 等の CA 組織が署名します) ・秘密鍵と署名済み公開鍵の設置 conf# mkdir ssl.crt conf# mv server.crt ssl.crt/. ・apache を https で起動 (http も使えます) conf# vi ssl.conf 最低限このぐらいは変更します
DocumentRoot "/usr/local/apache2/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog logs/error_log
TransferLog logs/access_log
<Directory "/usr/local/apache2/htdocs">
	Options +Indexes +ExecCGI    この辺は、お好みで
</Directory>
conf# vi ../bin/apachectl デフォルトで https が立ち上がるようにしてしまう
67 行目 を変更
$HTTPD -k $ARGV -DSSL
conf# cat >> ../bin/apachectl chkconfig に対応させる
# chkconfig: 345 55 45
# description: Apache 2
conf# ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apache2 conf# chkconfig --add apache2 conf# /etc/rc.d/init.d/apache2 start 起動