さくらレンタルサーバーのLet’s EncryptでWordPressブログを常時SSL化する方法

さくらインターネットのレンタルサーバーで、Webサイトを運営している方に朗報です!

さくらレンタルサーバーでは、今までSSL証明書については自前で有償購入する必要があったのですが、2017年10月17日より、さくらのレンタルサーバおよびマネージドサーバにおいて、無料SSLサーバー証明書「Let’s Encrypt」をコントロールパネル上から簡単に設定できる機能が使えるようになりました。

私自身もさくらインターネットのレンタルサーバーとWordpressで当ブログを運営していますので、この知らせは非常に嬉しかったです。

ところが、簡単に出来る!というフレーズを元に着手した常時SSL化は、当初想定していた以上に癖があり、軽くハマってしまいました。

今回のWordpressを常時SSL化する設定は、そこそこ環境に依存するものだった為、同様に常時SSL化を試みている方の悩みを本記事で100%解決に導くものではありませんが、少しでもお役に立てればと思います。

ちなみに、当記事はこれまで運用してきたWebサイトをSSL化する為の手順になります。これから新規でWebサイトを起こそうとされている方には不要な手順も含まれています。

日々記事のブログ運営環境

先に記述しております通り、Wordpressの常時SSL化の設定は、環境に依存するものだった為、当ブログがどういう環境で運営されているのかを公開します。

サーバーさくらのレンタルサーバー スタンダード
ドメイン(レジストラ)お名前.com
ソフトウェアWordPress
WordPressテーマSimplicity2/Simplicity2-child

常時SSL化のブログ記事などを検索すると、エックスサーバーの例が出てきますが、当ブログはさくらレンタルサーバで運営しております。

WordPressをSSL化する前提条件

WordPressのSSL化にあたっては、テーマ「Simplicity2」がカスタマイザーで簡単に対応してくれる機能を備えているため、そちらを使用します。

HTMLなどの記述を全部https://変更する方法も考えましたが、リスクが一番小さい方法を取りました。

Simplicity2以外のテーマについては、SSL化の簡易対応の機能の有無について存じ上げておりません。ご利用のテーマの最新バージョンの情報などをテーマ提供者のフォーラム等で確認するなどしておくほうが無難です。

SimplicityはシンプルかつSEO対策もされており、機能豊富な無料テーマです。そこらの有料テーマより遥かに高性能なので、これを機に試してみても良いかも知れません。

さくらレンタルサーバーでWordpressをSSL化する手順

問題解決を急がれている目的で、記事をご覧いただいている方が多いかと思いますので、SSLに関する説明等々は、本記事の主旨と異なる為、改めて別記事にてまとめるようにしたいと思います。

今回、日々記事の常時SSL化の作業は下記の作業が発生しました。

  1. SSL証明書の取得
  2. Woedpressでアドレス(URL)をhttp://→https//へ変更
  3. WordPressテーマのカスタマイザーによるSSL対応の設定
  4. http://→https://のリダイレクト設定

作業項目としては、これだけです。これらが全て網羅されたマニュアルがあればハマる事無くスムーズにSSL化出来たことと思いますので、作業した手順に沿ってご説明致します。

無料SSLサーバー証明書「Let’s Encrypt」を設定する

さくらのレンタルサーバおよびマネージドサーバのコンパネから、導入済みの独自ドメインに対して、無料SSLサーバー証明書「Let’s Encrypt」を設定します。一応、手順を記載しておきます。

  1. https://secure.sakura.ad.jp/rscontrol/にアクセスし、サーバーコントロールパネルにログインします。
  2. 画面を少し下までスクロールしますと、左側に「ドメイン設定」が出てきますので、『ドメイン/SSL設定』を押下します。
  3. ドメイン一覧が表示されますので、SSLを設定したいドメインの『登録』を押下します。
  4. 対象ドメインのSSL証明書の設定画面が表示されます。このメニューでは無料のSSL/有料のSSLどちらも設定をする事が出来ます。
    今回は、無料証明書であるLet’s Encryptを使用しますので、『無料SSLの設定へ進む』を押下します。
  5. 対象ドメインの無料SSL証明書設定画面が表示されます。さくらのレンタルサーバーで提供されている無料SSL証明書はLet’s Encryptだけです。
    『無料SSLを設定する』を押下します。
    ※利用ポリシーについて、リンクを開かなくても設定に進めますが、一応わからないなりにも目を通して置くことをおすすめします。
  6. 無料SSL証明書の設定手続が正常に出来ますと、下記のように、赤字で発行手続き中である旨が表示されます。
    文中記載の通り、証明書の発行には、数十分~数時間掛かる場合があるとなっておりますので、時間がない中での対応ではなく、気長に対応するのが良いかと思います。
    ※SSL証明書の発行が完了したからと言って、直ぐに何かサイトに影響がある訳ではないので安心して下さい。。SSL証明書の発行が完了したということはhttp://でもhttps://でもドメインにアクセス出来るようになるというだけです。
  7. 無料SSL証明書の発行が完了すると、登録しているメールに『[さくらインターネット]SSLサーバ証明書発行のお知らせ』のタイトルでメールが届きます。
  8. メールが届いてから、再びコンパネを開いてドメイン一覧を表示すると、証明書が設定されているのが確認できます。
    『表示』を押下すると、https://でドメインが表示されます。
    『更新』を押下すると、証明書の詳しい内容を確認出来ます。(特にこの後の作業でも不要なので割愛します。)

サーバーコントロールパネルでの作業は以上になります。いよいよWordpressでの設定をして行きます。

WordPressでの作業は3つありますが、この3つの設定については、SSL化に伴うWebサイトの停止時間を限りなく少なくする為に、ほぼ同時くらいに作業をした方が良いと思いますので、手順をしっかり確認して手戻りが内容にだけしておきたいです。

 URLをhttp://からhttps://に変更する

Webサイトのほんとに基本かつ根本的な部分を変更します。

  1. ご自身のWordpressの管理メニューにアクセスします。
    『http://独自ドメイン/wp-admin』のようなURLになっていますので、ブラウザのアドレスバーに入力しますと。ログイン画面が表示されます。
  2. 管理メニューにログインしましたら、左側の設定から一般設定を開きます。
  3. 一般設定の中にある、WordPressアドレス(URL)とサイトアドレス(URL)には、ご自身のサイトのURLが記載されていますので、ここに記載されているURLのhttp://部分をhttps://へ変更します。
  4. 設定>一般設定での変更作業は完了です。

次の設定へ進みます。

Simplicity2のSSL対応(簡易版)機能を有効にする

Simplicity2では、これまでhttp://で運用して来たページやリンクなどを一斉にhttps://へ簡易変換してくれるカスタマイズ機能がありますので、その設定を有効にします。

  1. 管理メニュー左側の外観>カスタマイズを押下します。
  2. カスタマイズのメニューが表示されましたら、下の方にある「その他」を開きます。
    その他の設定の中に、『内部URLをSSL対応(簡易版)』の設定がありますので、チェックをオンにして、設定を保存します。
    ※Simplicity2は最新の安定稼働版までバージョンアップしておきましょう。
  3. 外観>カスタマイズ>その他での変更作業は完了です。

この機能を有効にすることで、以下のようなURL置換が行われます。

  • 内部リンクURLのSSL化
  • Amazonアソシエイト画像のSSL化
  • バリューコマース画像(インプレッション画像)のSSL化
  • もしもアフィリエイト画像(インプレッション画像)のSSL化
  • A8.net画像(インプレッション画像)のSSL化
  • アクセストレード画像(インプレッション画像)のSSL化
  • 古いはてなブログカードの iframe URLのSSL化
  • はてブ数画像のSSL対応
  • 楽天商品画像のSSL対応
  • Google検索ボックスのSSL対応

引用:https://wp-simplicity.com/simplicity-ssl/

次の設定へ進みます。

.htaccessの記述を変更する

サイトのアドレス(URL)をhttp://からhttps://へ変更しましたので、それに伴いリダイレクトの設定をします。

.htaccessの中身は、既に設定変更が入っている方と、シンプルな設定の方とでは違ってきますが、さくらレンタルサーバーにWordpressを設定して特にカスタマイズをしていない場合について見ていきます。

.htaccessの編集をする場合は、必ず「複写」でファイルをバックアップしてから実施しましょう。
  1. FFFTPやWinSCPなどのフリーソフトを用いて、設定ファイルを参照します。
    ※.htaccessはWebサイトのルートに配置されている設定ファイルです。
  2. テキストエディタ等で中身を開き、記述する場所を確認します。
    場所としては、「# END SAKURA Internet Inc.」と「# BEGIN WordPress」を目安にすると良いでしょう。
    ※Wordpress関係のパラメータを読み込む一番最初に読み込む設定を入れます。
  3. 追記する内容は下記の通りです。
    ※サーバーIPアドレスと独自ドメインは自サイトに合わせて置き換えて下さい。
    ※サーバーIPアドレスはサーバーコントロールパネルを開き、サーバー情報の表示からサーバに関する情報を参照開きます。そこにIPアドレスの記述がありますので、その文字列を転記します。


    ※独自ドメインは、◯◯◯.comや△△△.netなどの事です。ここではhttp://をhttps://へ変換する対象を指定しています。

  4. .下記画像のように追記したら、ファイルを上書き保存します。

    これで.htaccessの変更作業は完了です。

次の設定へ進みます。

wp-config.phpの記述を変更する

さくらレンタルサーバーを使っている場合、.htaccessの変更だけではうまくSSL化する事が出来ませんので、wp-config.phpも同時に修正する必要があります。

  1. FFFTPやWinSCPなどのフリーソフトを用いて、設定ファイルを参照します。
    ※wp-config.phpはWebサイトのルートに配置されているphpファイルです。
  2. テキストエディタ等で中身を開き、記述する場所を確認します。
    場所としては、「// ** MySQL 設定 – こちらの情報はホスティング先から入手してください。 ** //」の上側にスペースを作って入れ込むのが良いでしょう。
  3. 追記する内容は下記の通りです。
    ※ドメイン名は自サイトに合わせて置き換えて下さい。
    ※独自ドメインは、◯◯◯.comや△△△.netなどの事です。当ブログの場合は、hibikiji.comになります。
  4. 下記画像のように追記したら、ファイルを上書き保存します。

    これでwp-config.phpの変更作業は完了です。

以上で、SSL化の設定に関する作業は全て終わりました。

後は、自分のサイトにアクセスして、保護されている状態の表示になるかどうかを確認して行きます。

常時SSL化後の動作確認

SSL化の設定をしたあとは、自分のサイトにアクセスして動作確認を行います。

確認内容は下記の通りです。

リダイレクトの確認

自分のサイトにhttp://でアクセスすると、https://へリダイレクトされますので、まずそこでエラーが出ないことを確認します。

リダイレクトの設定が間違っている場合、初っ端でエラーが出ることになります。

混在コンテンツの確認

Firefox、Chrome、IEなどのブラウザで、SSL対応が出来ているかどうか確認します。

下記の例の通り、SSLで保護された状態になると、緑色の鍵マークだったり、鍵のマークが表示され、暗号化されている事が確認できます。
※Firefoxの場合
※Chromeの場合

※IEの場合

しかし、設定の仕方やカスタマイズの内容、タグの記述の仕方によっては、混在コンテンツとしてエラーが出ている可能性があります。

混在コンテンツになっている場合、Firefoxでは下記の通り注意マークが表示されます。

エラーの確認含めて、Firefoxがわかりやすいので、以下Firefoxを例に挙げてご説明します。

混在コンテンツの解消方法

これは、混在コンテンツになっている部分(http://が紛れている)を地道に潰していく必要があります。

  1. Firefoxで自サイトを開き、混在コンテンツが表示されたら、「>」を押下します。
  2. 混在コンテンツとなっている、詳細を確認するために「詳細を表示」を押下します。
  3. ページの情報が表示されたら、「メディア」を開き、リンクされている一覧の中から、http://となっている部分を確認します。
  4. 私のサイトでは、a8.netのアフィリエイトの画像部分がhttp://となっており、エラーが出ていました。これを修正すると、混在コンテンツが解消されました。

混在コンテンツの発生内容は人によって様々ですので、こればかりは地道に対応をしていく他ありません。

さくらインターネット提供プラグインは使えなかった

WordPressのプラグイン追加のキーワードに、「SSL さくら」のように入れて検索をすると、何と!「さくらのレンタルサーバ 簡単SSL化プラグイン」なる物がヒットするではないですか。

常時SSL化を簡単に行える・・・という魅力的な説明書きもあったので、ハマり倒していた私は藁をも掴む思いでプラグインをインストールして見ましたが、正常に動作しませんでした。

まず、自分自身のWordpressバージョンでテストされていないこともありますし、WordpressのテーマやApacheのバージョンなど色々な環境が影響しているのだと思います。

もしかすると、このプラグインで一発OKの方もいらっしゃるかも知れませんが、一応私の構成では失敗したというご報告をしておきます。

まとめ

私はたまたま試験用のWebサイトを別で立てていた事もあり、日々記事への影響は少なくて済みましたが、Webサイトが1つしか無い方はぶっつけ本番になるので、失敗した時の精神的ダメージは非常に大きいです。

当ページの内容は盛り沢山になってしまって見づらい部分があるかも知れませんが、少しでも無料SSLサーバー証明書「Let’s Encrypt」を使った常時SSL化をされようとしている方の参考になれば幸いです。

今回も最後までお読みいただき有難うございました。

もし宜しければ、Twitterのフォロー/facebookページのいいねを宜しくお願い致します。

ABOUTこの記事をかいた人

当ブログでは、私自身が困って調べたこと、試した事を中心に記事を書いています。何か少しでもお役に立てれば幸いです。 最近では、企業様からのレビュー記事のご依頼を頂くことも出てきました。 お気軽にお問合わせよりご連絡下さい。