Apache2 にオレオレ証明書で HTTPS アクセスできるようにする手順

よくやるけどすぐ忘れるのでメモ。

検証環境

  • CentOS 6.3
  • Apache 2.2.26
  • 設定ファイルの格納フォルダ: /usr/local/apache2/conf
  • httpd.conf に Include conf.d/*.conf を書き、/usr/local/apache2/conf.d/*.conf を自動ロードできるようにしてあります。

チュートリアル

オレオレ証明書を作る。(有効期限は10年)

$ cd /usr/local/apache2/conf/
$ sudo mkdir ssl.crt
$ sudo mkdir ssl.key
$ sudo sh -c "openssl genrsa 2048 > ssl.key/server.key"
$ sudo sh -c "openssl req -new -key ssl.key/server.key > server.csr"
(質問は全てデフォルトのまま Enter)
$ sudo sh -c "openssl x509 -days 3650 -req -signkey ssl.key/server.key < server.csr > ssl.crt/server.crt"

https アクセスを有効にする。

$ sudo sh -c "cat <<EOT > /usr/local/apache2/conf.d/ssl.conf
NameVirtualHost *:443
Listen 443

<VirtualHost *:443>
    DocumentRoot /var/www

    SSLEngine on
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key
</VirtualHost>
EOT"

Apache を再起動する。

$ sudo service httpd restart

ダン!

参考