『OpenCart』にSSLを導入する

それで、っと。(何が?とかキビシク突っ込んであげてください;)

SSL入れていきます。

自分で書いてたルート証明とかの情報がちょっと古くなっているので、再検索。
携帯対応ということも考慮にいれて、変わらず、
「Equifax Secure Certificate Authority」ルートの入っているSSL証明を探す。

で上がった候補が、
・QUICKSSLpremium
・rapidSSL
・alphaSSL
この3つのどれか。

どれもリーズナブルだけど、欲しいスペックに不満なし。
でも、できるだけ安いほうがいいから、やっぱり海外で再販業者を探す。
(日本のサイトで申しこめば、タブン結構丁寧な導入解説とかあるはずなので、参照してください。)

http://www.namecheap.com/ssl-certificates/geotrust-ssl-certificates.aspx
↑ここから、rapidSSLを購入することにします。
rapidSSLは、最近ルート証明が「Equifax Secure Certificate Authority」に変わったので、携帯の対応範囲が格段に広がったので、いいんじゃないかなと思う。
私は先にドメインを取ってしまったんだけど、このサイトから、ドメインを取ると1年のSSL証明が2ドルとか3ドルみたいな激安でオプション追加できたりする。バリュー。。。

全体的な流れ

<SSL証明書を買って支払う> → <CSRキーを生成してSSL証明機関へ送る> → <SSL証明機関から発行された証明書とサーバのプライベートキーなど合計4つのキーファイルをサーバにインストールする>

レンタルサーバサービス側でCSRキーを発行する

レンタルサーバの管理画面から、SSLのメニューを探し、CSRキーとプライベートキーを発行する。
画面内からコピーペーストできる場合もあるし、メールで送られてくる場合もある・
この手順は、手順自体が、レンタルサーバのサービス業者によって色々。メールで先方に依頼する場合もある。
※取得するSSLのドメインは、サブドメインまで含めて。www.○○○.comという形で。

SSL証明買って、、、CSRの送信

1)SSL証明書買います。

上記、私の購入した先は、英語ですけど難しくはないので、ユーザー登録、注文して決済してください。ユーザ登録したメアドに、確認メールが届く。

SSL証明会社へCSRを送信する

届いたメールの中のSSL Certificates: というタイトルの文を参照しながら、「SSL listing page」というリンクをクリック。
サービスの管理画面に入る。
購入したSSL証明が一覧になっているので、その中から使用するSSLの「Activate Now」リンクをクリック。今回は1つ購入しただけなので迷うことはない;
(※アクティベートして利用を開始した日から1年有効となる)
必要な内容を入力していく。
※webmaster@ドメイン、root@ドメイン、admin@ドメイン、postmaster@ドメインなど管理者用の特定のメールアドレスが必要になるので、先にレンタルサーバの管理画面の方で、メアドを作成しておいて下さい。この場で画面を見て作成しても構いません。

先ほどレンタルサーバ会社で発行したCSR(証明書のリクエストキー)を
「—–BEGIN CERTIFICATE REQUEST—–」から
「—–END CERTIFICATE REQUEST—–」まで全て含めて送信する。

サイトの管理者によるリクエストの承認を行う

完了したら、ここで登録した、先程の、webmaster@ドメイン、root@ドメイン、admin@ドメイン、postmaster@ドメインなど管理者用のメールアドレス宛に、SSL証明書を発行してもよいか問い合わせる承認依頼メールが届く。

その確認メール内の、
(申込者の名前) requests that you come to the URL below to review and approve this certificate request:
***リンク***
このリンク部分をクリックして、確認画面へ行き、内容を確認して、SSL証明のリクエストを承認する。

今度は、申込者のメールアドレスの方に、承認が受け付けられた旨の連絡と、証明書のキー2種類が、CSRと同じテキストの形式で届く。
このSSL照明会社(ジオトラスト)のサービスの場合は、届いたメールの下の方にあるが、メールへのファイル添付で届く場合やSSL証明会社の管理画面からダウンロードしてくる場合もある。

レンタルサーバサービス側で全てのキーを登録する

これで、

レンタルサーバサービス(自サーバ)で発行された
・CSRキー
・プライベートキー

の2つと、

SSL証明会社で発行された
・WEBサーバ証明書
・CAキー

の2つ、合計で4つのキーファイルが揃った。

この4つのキー全てを、WEBサーバに送信すれば、SSLの証明書のインストールは完了。
私の利用しているサービスの場合は、レンタルサーバの管理画面で、4つのキーをそれぞれ登録するフォームがあり、そこへコピペすれば、SSLが使えるようになる。このステップも、4つをテキストファイルにして、レンタルサーバ会社へメールで送る場合やFTPなどで特定の場所へアップロードして、連絡する場合など、色々。

OPENCARTでSSL設定

OPENCARTの管理画面でSSLを有効にする

OPENCARTの管理画面へログイン。
「システム」タブ→「設定」をクリックして、設定メニュー内の、「サーバー」設定タブ内のメニューから、1つ目の、「SSLを使用する」を「はい」にして、保存。

/admin/config.phpを編集

FTPでアクセスし、
/admin/config.php ファイルをダウンロードしてきて編集する。
8行目、9行目の、

define('HTTPS_SERVER', 'http://○○○com/admin/');
define('HTTPS_IMAGE', 'http://○○○com/image/');

define(‘HTTPS_SERVER’, ‘https://○○○com/admin/’);
define(‘HTTPS_IMAGE’, ‘https://○○○com/image/’);

に変更して、アップロードしなおす。

OPENCARTの管理画面にHTTPS://でアクセス、ログインし直してみて、表示できているか確認。
フロント画面から、買い物してみて、カート画面に移った時に自動的に、HTTPS://のSSL接続になっているか確認。

この時に、SSL証明エラーが出ている場合は、正しく証明書がインストールされていません。
画面が接続エラーで表示できない場合は、サーバがSSL対応に変更されていないということです。

以上です。