お金かかる、めんどくさい、別にいいや。無料のSSLもあるけどなんだかなぁ。
みたいな感じでずっとほったらかしだったのですが、WordPressで作ったWebサイト全ページへのアクセスをSSL対応しました。
もうhttpでアクセスしてきても勝手にhttpsにリダイレクトされます。(※ところが、Tweechaで起動時にエラーが発生することが分かった為、一時的にhttpでもアクセスできるよう強制リダイレクトを解除しています)
きっかけを下さったふぁぼーんアプリ作者の山下さんに感謝します。
■SSL対応申請
契約しているWebサーバーサービスでSSL対応の申請を行いました。
「SSL証明書の設定作業が完了しました。本ご案内から1時間以内でご利用可能となります。」というお知らせメールが届きました。
■HTTPSアクセス確認、証明書確認
サイトルートURL「 https://sinproject.net 」にアクセスし証明書エラーが出ないことを確認しました。
■WordPressデータベースのバックアップ
Webサーバーサービスの管理ページより、phpMyAdmin にログインしました。
データベースのログインIdとパスワードを忘れていたので、Wordpress 構成ファイルのルートに有る「wp-config.php」で確認しました。
ログイン後に、WordPressで利用しているデータベースを選択し、その後「エクスポートタブ」を開きました。
「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」にチェックし、「ファイルに保存する」にチェックし、実行ボタンを押しました。
※ココらへんのオプションへのアクセス方法はphpMyAdminのバージョンにより少し変わっていると思います。
ダウンロードしたファイルを念の為テキストエディタで開いて確認しました。
※本来は、ローカルに「MAMP」等でWordPressサイトを構築し、インポートテストまでしたほうがいいのですが、過去にWordPressデータベースのインポートのテストはしたことがあるので、大丈夫だろうということでインポートテストは割愛しました。
■WodPressアドレス(URL)を書き換え
WordPressの管理ページを開きました。「設定>一般」を開きました。
WodPressアドレスとサイトアドレスの両方を「 http://sinproject.net 」から「 https://sinproject.net 」に変更しました。
ログインページが表示されるので、再度管理ページにログインしました。
ブラウザで「 https://sinproject.net 」にアクセスし表示に問題がないことを確認しました。
■コンテンツ内のURL「http」を「https」に変換する
WordPressの管理ページでプラグイン「Search Regex」をダウンロードし、有効化しました。
「管理ページメニュー>ツール>Search Regex」を開きました。
Search pattern: 「 http://sinproject.net 」、Relpace pattern: 「 https://sinproject.net 」を入力し「Replace」ボタンを押しました。
下に「こんなふうに変換するよー」というのが出ますので、ざっと確認してから「Replace & Save」ボタンを押しました。
「2476 occurrences replaced」と表示されました。
ブログの投稿を確認し、今まで http でリンクが貼られていたのが https に置き換わっていることを確認しました。
■http アクセスされても https にリダイレクトするようにする
ブラウザで、トップページ以外のコンテンツページ「 http://sinproject.net/apps/ 」にアクセスして、http アクセスできることを確認しました。
FTPツールでWebサーバーに接続し、サーバーの .htaccess ファイルを取得しました。
テキストエディタでファイル先頭に以下を追加しました。
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
保存してWebサーバーにアップロードしました。
ブラウザで、トップページ以外のコンテンツページ「 http://sinproject.net/apps/ 」にアクセスして、「 https://sinproject.net/apps/ 」にリダイレクトされることを確認しました。
■まとめ
だいたいこんな感じです。バックアップやSSL化方法は、プラグインを使ったり別の方法もあります。あと操作を間違うとサイトにアクセスできなくなるという最悪の事態にもなりますので、必ずWordPressデータベースのバックアップは取っておきましょう。
■参考情報
弊社では、「さらに高みを目指したいエンジニア」を育てる環境を用意しています。
株式会社 #sinProject CEO/CTO
Twitterアプリ1位 #Tweecha2 企画制作
サービス・システム設計開発、コンサルタント
#sinPro式学習 #Svelte #TypeScript #Flutter #Dart #Java #HTML #CSS
#kimurakan ピアノ弾き語り