プラグインMTS Simple-Booking(予約システム)の導入を機にWordpressをまるごとSSL化しました。以前から「問合せ」がSSL化されていないことがとても気になっていたのでこれでサイトの安全性がかなり向上しました。
動作検証には、志義どっとPCの母体である志義ゼミナール(www.shigizemi.com)を取り上げます。
今回購入したサーバ証明書は数年前最安値のRappidSSL(1年間約2,000円)です。(2015年7月時点、SSL-STOREの情報によると最安値はCOMODOの1,200円/年のようです。次回はコレにします。)
【前提条件】
- Apache(CentOS上)+OpenSSLが動作している(私の環境は、バーチャルホストが2つ)
- WordPressパーマリンクがデフォルト(?p=123つまり%post_id%)
- テキストエディタにviを使う(個人的にお好きなものをお使いください)
【手順】
1.プライベートkey生成
サーバ証明書用(パブリックkey)と対になるプライベートkey(秘密鍵)を生成します。私は、証明書を設置するサーバ機にSSHでログインして操作をします。各自のサーバの環境に合わせて作業をすすめてください。(サーバ機とは異なるPC上で作業をしても最終的には証明書をサーバ機に設置するためにリーモでログインするか直接ログインする必要があります。)
rootで実行します。
証明書用作業用ディレクトリとしてユーザディレクトリ(例:user5)に「csr」というディレクトリを作成します。(全てが完了したら、バックアップを取って、削除します。)
#mkdir -p /home/user5/csr
# cd /home/user5/csr
csrディレクトリ内での作業
プライベートkey作成のためmd5 ダイジェスト値を擬似乱数の情報として利用するためそれを生成します。
# vi test-rand.txt <<===適当なファイルを作る。(内容はなんでもよい。私は 1234abcshigiなど適当に入力して保存した。)
# openssl md5 * > rand.dat
作成した擬似乱数ファイル(rand.dat)から、プライベートkeyを作成します。
コマンド書式:openssl genrsa -rand (擬似乱数ファイル名) -des3 (鍵長) > (プライベートkeyファイル名)
トリプルDESを使い、鍵長2048bit の秘密鍵(ファイル名:2015shigi-key.pem)を作成する場合
# openssl genrsa -rand rand.dat -des3 2048 > 2015shigi-key.pem
※ プライベートkeyのファイル名は、既存のプライベートkeyファイルを上書きしないよう、注意のうえ指定してください。
プライベートkeyを保護するためのパスフレーズの入力を求められます。
任意のフレーズを入力し、[Enter]キーを押します(同じフレーズを2度入力します)。
ここで入力するパスフレーズは、絶対に忘れないように大切に管理してください。
指定したファイル名 (2015shigi-key.pem) で、プライベートkeyファイルが作成されます。
もうひとつのサイト、つまり本サイト(志義どっとPC)もSSL化しました。サーバ証明書はCOMODO Positiveを2年間で2,200円という超格安で購入し、インストールしました。あとでサイトシールを目立つところに貼っておきましょうっと。
パーマネントリンクをデフォルトの%post_id%にしたので、All in One SEO Packのsitemap.xmlやWordpressの仮想robots.txtが使えませんでした。
そこで、sitemapはGoogl XML Sitemapsを利用し、robots.txtは実ファイルで対応しています。