facebookアプリサーバーにSSL証明書をインストール
facebookアプリが
2011/10からssl対応必須になった為
VPSにSSL証明書をインストールしてみた。
SSLの発行は色々探していたものの
Rapid-SSLが一番安かった。※海外で無料のものもあったが、1年縛りなど条件があった為断念。
本当はワイルドカード証明書にして同じドメイン上でいくつかサービスを行っているものを
取りまとめたかったが、初めてということもあり、サブドメイン1個に対して1個の証明書を取得。
また自分の場合VPSでメールサーバーを立てていなかったので手続き上、
postmaster@xxxx.hoge.comの振り分けが必要になり
あわててpostfixとdovecotの設定をすることに。。メールサーバーについては別記事に。
以下手順。
(参考)http://dounokouno.com/2011/04/07/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps%EF%BC%88centos-5-5%EF%BC%89%E3%81%AB-rapidssl-%E3%82%92%E3%82%A4%E3%83%
B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E3%81%AE/
環境
[サーバー] さくらVPS
[IP] 192.168.XX.XX
[対象ドメイン] http://xxxx.hoge.com
[証明書受信メール]postmaster@xxxx.hoge.com
※本当はhttp://hoge.comに対してワイルドカード証明書にして
http://xxx.hoge.comやhttp://yyy.hoge.comなど複数サービスの
証明にしたかったが、ワイルドカードだと\18000もするということで今回断念。
1個だと\2400程度なのでこれでひとまず練習してみることに・・。
VPS(CentOS)の設定
1.mod_sslのインストール
yum -y install mod_ssl
2.秘密鍵の生成
cd /etc/pki/tls/certs/ openssl genrsa -des3 -out server.key 2048 Enter pass phrase for server.key: (パスフレーズ) Verifying - Enter pass phrase for server.key: (パスフレーズ)
3.秘密鍵からCSRを生成
openssl req -new -key server.key -out server.csr --------------------------------------------------------------------- Enter pass phrase for server.key: (パスフレーズ) Country Name (2 letter code) [GB]:JP (国名) State or Province Name (full name) [Berkshire]:Tokyo (都道府県) Locality Name (eg, city) [Newbury]:Sumidaku (市区町村) Organization Name (eg, company) [My Company Ltd]:Blamestitch(会社) Organizational Unit Name (eg, section) []: (空) Common Name (eg, your name or your server's hostname) []:ooedoworld.blamestitch.com (ドメイン名) Email Address []:oggata@gmail.com (メールアドレス) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: (空) An optional company name []: (空) ---------------------------------------------------------------------
4.CSR の内容を見る
cat server.csr -----BEGIN CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST-----
7.server証明書をコピーする
vi /etc/pki/tls/certs/server.crt (メールで送られてきたサーバー証明書をコピーする)
8.apacheを再起動するたびにパスフレーズを聞かれないように応答を削除する
# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: (←パスフレーズを入力) writing RSA key
9ssl.confを編集する
# vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/certs/server.key DocumentRoot "/var/www/html" ServerName www.example.com:443
10.バーチャルホストの設定を変更(バーチャルホストを利用している場合)
vi /etc/httpd/conf.d/ssl.conf # 以下の設定を追加 RewriteEngine On RewriteLog "logs/rewrite_log" RewriteLogLevel 0 RewriteCond %{HTTP_HOST} !ooedoworld.blamestitch.com$ ←SSLのホスト名 RewriteRule ^/(.*)?$ http://%{HTTP_HOST}/$1 [L,R]
11.中間証明書をサーバーへインストール(コピー)
vi /etc/pki/tls/certs/rapidssl-chain.crt
12.SSL.confを編集して、「中間証明書」を読み込む(128行目あたり)
vim /etc/httpd/conf.d/ssl.conf SSLCertificateChainFile /etc/pki/tls/certs/rapidssl-chain.crt