今回、ご依頼がありましたのでGMOの運営するレンタルサーバー、XREA(エクスリア)での常時SSL化をしてみました。
躓いた所が何点かありましたので、そこの所を書いて見ようと思います。
メインサイトではSSL化出来ない
では、まずコンパネにログインをして見ます。SSL化自体は、XREAから無料SSLが提供されているので、それを設定するだけなのですが、それだけでは色々と問題点が出てしまうので、それを修正していきます。
まず、コンパネのリストから「サイト設定」をクリックして「サイト一覧」を見てみます。サイト名の所にMainと書いてあるサイトには無料SSLを適用出来ません。Mainのドキュメントルートが「Public_html」になっていると思いますが、こちらにファイルが入っている場合はSubのサイトを作りファイルを移動しなくてはいけません。もし、Mainに使われているサイト名をそのまま移行したい場合は一旦ドメイン名で仮サイトを作って、その後でドメインを移行しましょう。
仮サイトを作る
仮ドメインの作成
では、仮サイトを作っていきます。仮のサブドメインを作りますので、「Value-domain」にログインします。コントロールパネルから、左のメニューの「ドメイン」→「ドメインの設定操作」をクリックして、ドメインのメニューから「DNS/URL」をクリック。
ここでサブドメインを作成して「変更」をクリック。これで一旦サイトを移す為のドメインの作成をしたのでXREAに戻ります。
仮サイトの作成
続いて、XREAのコンパネメニューから「ドメイン設定」をクリック。次に「+ドメイン設定の新規作成」をクリック。ドメインの新規設定画面が出ますので先ほど作ったドメインを入力して「ドメイン設定を新規作成する」をクリック。これでドメインが出来上がりましたので、またサイト設定に移動します。移動したら、「+サイト設定の新規作成」をクリックしてサイト追加の画面に移ります。
「ドメイン名」をプルダウンで先ほど追加したドメインを選択。「SSL」を無料SSLにチェックを入れて「+サイト設定を新規設定する」をクリック。これで、新たにサイトが出来上がりました。ドキュメントルートが「/public_html/ドメイン名」になり、サブフォルダがサーバー上に作られるのでこの中に必要なファイルを移動していきます。お使いのFTPクライアントを使用して出来上がったフォルダに移動します。
httpsでサイトエラーが出る場合
さて、XREAのSSLですがXREAのコンパネで無料SSLの設定をしただけでは設定が反映されない場合があります。この場合サイドValue-domainにログインして左のメニューから「サーバー」→「XREA」をクリックしてアカウントサーバーの「旧コンパネ」の「ウェブ」をクリックしてください。旧コンパネ内の左メニューに「マイドメイン利用」の中に「SSL設定」というメニュー項目があるのでこれをクリック。ドメイン選択のプルダウンを先ほどSSLに設定したドメインを選択して「証明書設定」をクリックします。証明書設定の下3つ「②プライベートキー[パスフレーズなし]」「発行された証明書(必須)」「発行された中間証明書(必須)」という項目の全てが埋まっている場合は問題ありませんが、これがどれか1つでも抜けているとSSLの設定が出来ていません。入力されている項目を一旦コピーしてメモ帳にでも貼り付けておきます。再度新コンパネに戻りサイト設定からSSLをはずした後にSSLを設定します。これで、先ほどの旧コンパネに戻って証明書設定の項目が埋まっていれば問題ないですが、もし抜けていれば先ほどコピーした物を貼りつけます。これを3つの項目が埋まるまで繰り返してみてください。
サイトのチェック
内部リンクなどのチェック
さて、ここからが少し面倒な所です。実際にSSLの検証をする為にサイトを表示させるのですが、内部リンクが絶対パスになっている場合、別ドメインに移っているのでリンクが機能しない為SSLの警告が出てしまいます。かといって、現在表示されているメインサイトをいきなり変更してしまっても何か問題があった場合に困ります。なので絶対パスの部分を相対パスに変更します。最初から相対パスになっている場合はこの部分は要りませんね。
ブラウザで表示のチェック
では、実際にブラウザに表示させてみます。私はFirefoxを使ってますが、ChromeでもSafariでもだいたい同じような感じだと思います。サイトのURLをブラウザに入力してみましょう。
鍵のマークが出て緑色なら問題ないです。
この場合はエラーが出ているので修正します。Firefox Developer Editionの場合は、メニューバーの「ツール」→「ウェブ開発」→「開発ツールを表示」とクリックしていくと、開発ツールのコンソールにエラーメッセージが出ているのでそのエラーを一つづつ潰していきます。
全てのページの修正が終わって表示に問題がなくなればメインのドメインを移します。
ドメインの移管
では、またXREAのコンパネから「サイト設定」に移ります。今までMainに使っていたサイトのドメイン名を別のドメインに変更します。余っているドメイン名なら何でもいいですが、もし何もないなら適当なサブドメインを作って変更します。次に「+サイト設定の新規設定」をクリックしてサイトを新規設定します。ドメイン名に今までMainで使用していたドメイン名を入れ無料SSLにチェックを入れて保存します。一応、上で書いた「httpsでサイトエラーが出る場合」もチェックしておきます。
これで、メインで使っていたドメイン名のフォルダがpulic_htmlの中に出来上がりますので、先ほどチェックし終わったサイト内のファイルを全てこのフォルダ内に移動します。
これでサイトの移行は完了して常時SSLが適用されています。
httpからhttpsへリダイレクトさせる
最後にhttpとurlを打った場合もhttpsへリダイレクトされるように設定します。サーバー内に「.htaccerss」というファイルがありますので、これをテキストエディタで開きます。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
上記のコードを追加してください。https://example.com/の部分は自サイトのurlに変更してください。
これで、httpでurlを入力した場合もhttpsにリダイレクトされます。
まとめ
やり方自体は他サーバーとそれほど変わりはないと思いますが、所々で躓く所がありました。もし、XREAを使用してSSL化が上手くいかない場合は参考にしてみてください。