SSL

さくらのレンタルサーバーの独自ドメインにSSLを導入してみる

無料でSSL証明書を発行してくれるとこって、 Let’s Encrypt 以外にもあるんですねっ!でも、 StartCom ってとこは、不正な証明書を発行していたらしく 米MozillaやGoogle、Apple が認めませんって事で最新ブラウザから使えないことに┐(゜~゜)┌  せっかく3年間も更新期間あるのにぃ。。。 やっぱり、中国系ですから~( ゚ ρ ゚ )ボーーーー

で、Let’s Encrypt で証明書を取ることにしました。

と、その前に、さくらレンタルサーバーでは、共有SSLっていうのがあって、同じサーバー内で1つのSSLを共有してるから、その中に悪さする人がおったらいろいろやばいことされる可能性があってセキュリティ上問題があったけど試しに使ってみてみると、WordPressの設定をあっちこっち変更しないとだめで、おまけに投稿内のURLを変えないとみんなリンク切れ~(/。\)イヤン!

まぁ、これは Search Regex っていうプラグイン使えば、簡単に一括変更できるしねーw 

なんとかhttpsで表示できたので、早速 Let’s Encrypt ~!

 Let’s Encrypt でSSL証明書発行してみる

Let's Encrypt
Let's Encrypt is a free, automated, and open certificate authority brought to you by the nonprofit Internet Security Research Group (ISRG).

なんと、さくらのレンタルサーバーでは自動更新できない!?

ルート権限が無いので、自動で証明書を作成するコマンドが使えないらしいです、よーわからんけどσ(^◇^;) 

まぁ、いざとなったらVPSにすればいいかと思って・・・

 WindowsでCentOSを使えるようにしてみる

後で知りましたが、Windows10でLinux使えたんですねー(;゜ロ゜) わざわざ VirtualBox 仮想環境に CentOS 入れましたがなぁ。。。 

でも、32bitしか選択できず長い間悩んでました(/。\)イヤン! 

Intelやし、そんなに古くもないし。 まさかBIOS設定してなかったとは・・・(#/__)/ドテ 

「Intel(R) Virtualization Technology」を「 Enabled」にしときましょうねー(^^;

インストールを参考にしたのはこちら

http://www.kakiro-web.com/memo/centos6-install.html

その後参考にしたのはこちら

さくらのレンタルサーバにLet’s EncryptのSSL環境を導入してみた | ちゃたろうふぁんくらぶ

ほとんど素人やから、これ設定するの大変ですわぁ(ー。ー;) viエディタの使い方調べてから作業に掛かりましょう!

文字入力は [Insert] で入力モード
保存して終了は [Esc]でコマンドモードに戻り、: w q 
または、[Esc] Z Z みたいです(笑)

 Let’s Encryptをインストールして証明書取得してみる

クライアントソフトが Certbot に名前が変わってます~

インストールして、画面の進むままにメールアドレス入れて、ドメイン名入れて・・・ まだ独自ドメイン取ってなかったから、さくらのドメイン uchina-harusa.sakura.ne.jp 入れてみたらやっぱり断られました(笑)

問題なくいけそうなので、さくらのサーバコントロールパネルの新規ドメインの取得で独自ドメイン買ぉーてドメイン設定してから、再度証明書取得してみる。
年間1852円なり~

独自ドメインでも失敗~(#/__)/ドテ なんでや? ドメイン設定したら「うちなー畑人」のページにアクセスできたのにぃ。。。

何気なく「ちゃたろうふぁんくらぶ」のページを下までスクロールしたら、1件のCommentがあったから覗いてみたら「Certbotはroot権限がないと使えない」って!!(´ー`*) フッ

 心機一転、Ubuntuでやってみる

「Certbotはroot権限がないと使えない」ってのを書いてはった HIATLI で見つけた Ubuntu ってのが気になってググってたら、ええとこ発見しました~

Windows ユーザーの HTTPS化 - さくらのレンタルサーバ + Let's Encrypt + WordPress マルチサイト - Unofficial Web Site Tokyo
2017/11/11 追記 – さくらのレンタルサーバーでは無料 SSL 機能がサポートされました。 2017年10月17日から、「さくらのレンタルサーバ」では「Let’s Encrypt」をコントロールパネル上で簡単に設定できる無料 SSL 機能が提供されています。この結果 … "Windows ユーザーの HTTP...

早速、試してみたw 詳細使ったら簡単、簡単~(笑) コピペ設定できるしねー♫ 無事、サブドメインの「uchina.harusa.org」では証明書取れました( ̄ー ̄)v
テスト用に複製して置いてあるやつね(笑)
でも、メインのドメイン「harusa.org」で取れないんですよねーσ(^_^;)アセアセ…

 home 
   L uchina-harusa
           L  www
               L  harusaのディレクトリ
               L  uchina.harusaのディレクトリ

こんな感じで、メインの harusa.org は www に index.php と .htaccess 置いて、とりあえずここ来た人は「みんなwww.harusa.org にとんでねぇ!サブのディレクトリは除外して!」って感じで .htaccess に書いてて、サブドメインの uchina.harusa.org は、さくらの方でパスを設定して WordPress 設置してるディレクトリに直で飛んでる感じになってます。

ってことで、wwwの .htaccess と harusa の .htaccess 削除したら、証明書取れました(^^)v

さくらのレンタルサーバーの仕様のおかげで .htaccess にいろいろ書いてましたもんねσ(^_^;)アセアセ…

 この際、他のやり方でもやってみるw

更新のたびに、.htaccess 削除せなあかんようやったらめんどくさいので、メインの方もサブと同じくWordPress置いてるディレクトリに index.php と .htaccess 戻して、さくらでパス設定して harusa.org のディレクトリに直で飛ばすように設定~

WordPressの中のURLも Search Regex 使って変更~w。

もー、この辺になってくると慣れっこっていうか、得意?になってる(笑) おまけに前に文句言うてた、 Media from FTP も使いこなしてるよ~って感じ(≧∇≦)キャー♪

他のやり方はこちら

さくらのレンタルサーバ(スタンダード)だけでLet’s Encryptの認証をする | HIATLI
※※公式にLet's Encryptに対応してくれたので、面倒臭い更新作業をしなくて良くなりました!わーい!

ACMEクライアント使ったやり方やけど、さっぱりわからん(/。\)ハズカシ…..

めっちゃ時間かかったけど、よーするに、SSHでさくらレンタルサーバーにログインできる環境が必要ですよ-!って事です(^^;

ほんま素人は時間かかりますわぁ┐(゜~゜)┌ ヤレヤレ…

今となっては、Teraterm や PuTTY を使えばいいんですねっ!って言えるけど、ここまでくるの大変でしたわぁ(ー。ー;) で、今は、これ使ってます(笑)

http://nanno.dip.jp/softlib/man/rlogin/

まぁ、SSHでログインできるソフトはいっぱいありますよーって感じ~

ほんで、

bash

git clone https://github.com/Neilpang/acme.sh.git
./acme.sh/acme.sh --install --accountemail "example@example.net" --nocron
rm -R ./acme.sh

コピペしてENTER押したら、なんか勝手にインストールできてたような・・・・・ あっ、でけへんから bash っていうのをググってたら vdeep というサイトで「さくらレンタルサーバーのデフォルトのシェルはcshなので、次のコマンドでbashに変更しました。」というのを見て bash に変更~

ほんまに、さくらは癖ありすぎやなぁ(´ー`*) フッ

で、インストールできたので次のを打ち込もうとしたところ、あれっ?何か違う・・・

create_certs.sh

#!/bin/sh
ROOT=/home/example/.acme.sh/
# 必要なら以下をコメントアウト
# ${ROOT}acme.sh --upgrade
${ROOT}acme.sh --issue --log \
   -d example.com -w /home/example/www/ \
   -d www.example.com -w /home/example/www/www
${ROOT}acme.sh --issue --log \
   -d example.net -w /home/shak/www/net

これって、なんかのファイルの中身みたいって思って、create_certs.sh ってファイル作ってこれを貼り付けました~

正解です(笑)

FTPで create_certs.sh をホームディレクトリに置いて

bash ./create_certs.sh

これを打ち込んで証明書のできあがり~ヽ(^。^)丿

renew_certs.sh ってファイルも同じように作ってホームディレクトリにUPしときました。

あらためて、やってみたら acme.sh インストールでけへんからググったら、別のサイトにやり方ありましたヽ(^。^)丿

acme.shスクリプトの使い方 - Apache 2.4系でHTTP/2対応サーバを構築してみるテスト。
HTTP/2のサーバをApache2.4系で構築します。そして、サーバ証明書を、無償の証明書発行機関から取得するためのacme.shスクリプトの使い方を解説。

無事 acme.sh インストールできました。

 WordPressの設定をしてみる

WordPressにログインして
管理メニュー>ダッシュボード>設定>一般
WordPressアドレス(URL) と サイトアドレス(URL) の 「http」 に 「S」を書き足し「https」とし、[変更を保存]をクリック

アップロードするファイルの保存場所を変更してる人は、先に変えときましょう。

以上(笑) 中身の変更は証明書の登録終わってから~

 SSL証明書の登録をして有効化してみる

まず、発行できたSSL証明書は、 .acme.sh の中に作られたドメイン名のディレクトリに入っているのでFTPで落としておく。ドメイン名.key、ドメイン名.cer、ca.cer の3つ

さくらのサーバコントロールパネルにログインして、左下の方の「ドメイン設定」をクリック

証明書を登録するドメインのSSL証明書の[登録]をクリック

「証明書の表示」の[中間証明書のインストール]をクリック

ca.cer をテキストエディタで開き、中身を「中間証明書のインストール」のボックス欄にコピペして[送信]をクリック

テキストエディタは、サクラエディタ使ってます。

http://sakura-editor.sourceforge.net/index.html.ja

「独自 SSL の設定」で[参照]をクリックして、ドメイン名.key を選択し[秘密鍵をアップロードする]をクリック

ドメイン名.cer をテキストエディタで開き、中身を「証明書のインストール」のボックス欄にコピペして[送信]をクリック で証明書の登録完了~

ページの上の方にチェックボックスがあるので、チェックして[有効化]をクリックしたかも?σ(^◇^;)

*SNISSLが利用可能です*と出て、そのすぐ下の[ドメイン設定]をクリック

4. SSLの利用をお選びください SNISSLを利用するにチェックで[送信]をクリック

以上でSSL証明書の登録完了~

https://~ でアクセスできるはず

 WordPressのリンクの修正をしてみる

WordPressに「Seardh Regex」プラグインをインストールし有効化する。

「ツール」に「Seardh Regex」と表示されるのでクリック

Search pattern  のボックスに「http://ドメイン名」を入れ
Replace pattern のボックスに「https://ドメイン名」を入れ[Replace>>]をクリック
そしたら、下にずらずら~っと置き換えるのが出てくるので[Replace&Save>>]をクリック

これで「http」から「https」への修正完了~

ドメイン名入れずに「http」だけを置き換えたら他のリンクまで「https」に変わってしまうので注意(笑)

リンクや画像がちゃんと表示されるかチェックする。

後は、ここでSSLのテストしてみましょうヽ(^。^)丿

SSL Server Test (Powered by Qualys SSL Labs)
A comprehensive free SSL test for your public web servers.

ドメイン全体をHTTPS化してみる

参考にしたのはこちら

はるかのひとりごと - 料理やお菓子のアニメ再現レシピに情熱を注ぐブログ
アニメの料理やお菓子を究極に再現するブログです。また得意分野の専門知識をわかりやすく情報提供しています。

さくらSNI 独自SSLでドメイン全体をHTTPS化する
さくらでURL正規化を正しく行うSSLの設定方法

以上(笑)

これでは手ぇ抜きすぎてるから、ルート(www)に www.harusa.org の「index.php」と「.htaccess」を置いてたときの設定を書いときます。

 home 
   L uchina-harusa
           L  www ← にharusaの index.php と .htaccess
               L  harusa ← WordPress本体
               L  uchinaharusa ← サブドメインのWordPress

こんな感じやったので、ルートに置いた「index.php」は 「/harusa」 を追加

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/harusa/wp-blog-header.php' );

「.htaccess」は下のを追加


RewriteEngine On
RewriteCond %{HTTP_HOST} ^harusa\.org$ [OR,NC]
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ http://www.harusa.org/$1 [R=301,L]

この状態で、サブドメインの uchina.harusa.org にアクセスできなくなってしもたので赤太字のところを追加


RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/uchinaharusa/)
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.png$
RewriteCond %{HTTP_HOST} ^harusa\.org$ [OR,NC]
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ http://www.harusa.org/$1 [R=301,L]

よー意味分からんけど「uchinaharusa」ディレクトリは harusa.org から除外してねーって感じなんですかねぇσ(^◇^;)

なんしか、これで uchina.harusa.org にアクセスできるようになったからめでたしめでたし(笑)

今現在の設定は、メインもサブもサブディレクトリに置いてて、さくらのドメイン設定でそれぞれのディレクトリを読むようにパス設定してるから赤太字のところは削除しても問題なくアクセスできてます(^^)v


RewriteEngine On
RewriteBase /harusa/
RewriteCond %{HTTP_HOST} ^harusa\.org$ [OR,NC]
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ http://www.harusa.org/$1 [R=301,L]

普通は RewriteRule ^(.*)$ http://www.harusa.org/harusa/$1 [R=301,L] とするところ さくらのドメイン設定でパス設定を /harusa/ としているので省いてます。 そうしないと、リダイレクトしたときにディレクトリ harusa がないよーって「404」でます(^_^;

次使うんやったら、ここかなぁ(笑)

レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】
高速かつ高い安定性を誇る高性能レンタルサーバー【エックスサーバー】稼働率99.99%以上の高い安定性で、業界トップクラスの高コストパフォーマンスを誇る高品質レンタルサーバーです。月額693円(税込)から利用可能。まずは無料お試し10日間。