・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.confmod_perl を読み込む指定を追加する (ついでにサーバ名も記述する)・秘密鍵 (server.key) の作成 とりあえず、パスフレーズは入力しない (必要な場合は -des3 等のオプションを追加する) conf# mkdir ssl.key conf# openssl genrsa -out ssl.key/server.key 1024
ServerName www.example.com LoadModule perl_module modules/mod_perl.soconf# 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
............................................++++++ ........++++++ e is 65537 (0x10001)・未署名公開鍵の確認 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 最低限このぐらいは変更します
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# vi ../bin/apachectl デフォルトで https が立ち上がるようにしてしまう
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# cat >> ../bin/apachectl chkconfig に対応させる
67 行目 を変更 $HTTPD -k $ARGV -DSSLconf# 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 起動
# chkconfig: 345 55 45 # description: Apache 2