Google Chromeさんあたりが「https化してないサイトはChromeで警告出て見れなくなるかもよ」みたいな通達をしてからもうだいぶ経ち、タイムリミット近い・・・というあたりでようやく対応しました・・・。
このBlogは最初AWSのEC2インスタンスの軽い勉強みたいなのも兼ねてやってたんですが、ひっそりとさくらインターネットさんのやってる「さくらのVPS」に移行しておりました。
ただ、移行した当初はCentOS6系で作ってたもんで、今回やたらと面倒なことになったんですよね・・・。
Let’s EncryptはCentOS6だと導入ムズい(というか諦めた)
個人サイトということもあって、今回は無料SSLサーバ証明書として最近みんな使ってる「Let’s Encrypt」を使うことにしました.
SSL証明書って普通はお金かかっちゃうんですが、こちらはフリーで利用可能。ただし3ヶ月で更新しなきゃいけない(といいつつ自動更新とかちょっとcronとかでごにょごにょ作ってあげれば出来ちゃうのですが)というデメリットと呼べるかどうか微妙なデメリットはありますが。
まぁ個人利用なら全然問題ないとおもうわけです。
もちろん個人のBlogくらいでお金あんまりかけたくない(何しろ一年に数回しかポストしないようなBlogになっちゃってる)ので、これを採用することにしたわけですよ。
ところが。
構築時のサーバのOSがCentOS6だったんですが、どうもこいつだとLet’s Encryptをかんたんに導入できないんですよ。
このあたりはちょっとググればわかると思うのですが、CentOS6系だと、Pythonのバージョンが古くてインストール時にエラーになる。もちろん回避するためにPythonの2.7系を別途インストールして・・・ということもできるみたいなんですが、私の環境ではそれでも駄目で、もういいや、と諦めちゃうところでした。
そしてOS再インストール・・・
とはいえせっかくいろいろ試してるんだし、もういっそのこと環境ごときれいにしようか、と思い立ち(ヲイ)、現在借りてるサーバーのOSをCentOS7にすることを考えはじめました。
まぁ一番いいのはもう一台サーバ借りて、そっちで構築してから移行、なんですけどね・・・もう一台追加するのにまた1000円くらい払って・・・ってやるのもなんだし、ちゃんとバックアップ(Wordpressのプラグイン使えばバックアップが取れる)取っておいて、ローカルにバックアップファイルを持ってきて(一応中身も確認した)、一気にOS再インストール!
ま、駄目なら「Blog記事、とんじゃった!」とかってネタにすればいいのと、MarsEdit(というMacのBlogエディタだ)に過去データもあるから、別にいいか、というぐらいの感じ。
404 not foundとの戦い
いやまぁ、無事にインストールもできたし、ApacheとかLet’s Encryptも入ったし、Wordpressも特に問題なく移行完了、という実に普通の感じで動いてたんですけどね・・・。
罠と言われた各記事のURL変更(httpで直書きされてるから過去のPOSTとかのURLをhttpsに書き換える作業・・・これもプラグイン使えば一発だ)も無事に完了。
と思っていた時期が自分にもありました。
なぜかトップページから記事に飛べません。404 not foundとなって、記事が見つからない。どう頑張っても記事が見つからない!
まあこういうときは落ち着け、ということで、パーマリンクの設定が問題だろう、ということでそちらを確認。
パーマリンクとは、各Blog記事の個別URLの形式のこと。Blogによっては投稿名になったり、日付になったり、単純な数字だったり、というようになってますが、あれらはWordpress使ってればある程度自由に形式を変えられるのです。ちなみに私は「年/月/記事の連番」という感じになっています。
このパーマリンクの設定を変えると、サーバ上のwordpressのフォルダにある「.htaccess」というファイルにURL変換定義みたいなのが書かれるんですよ(Wordpressの管理画面でパーマリンク設定を変更、保存するとこの.htaccessファイルに関連する内容が記載される)。
なので、早速パーマリンクの設定を「基本」に戻しました。
「基本」にすると、この.htaccessファイルに記載された定義が無くなる(実際にはならなかったので中身手動で消しちゃいましたが)のです。
で、実際に基本のパーマリンクだと全部キレイに動きました。
そっか、こいつか、ということでそのままにしようかとも思いましたが、記事の中には過去の記事へのリンクを貼ったものもあり、そいつはパーマリンクの変更を自動でやらないから、見つけて手動で直さないといけない、と。いやーさすがにちょっとそれはやりたくないわ・・・・・。
ということでもうちょっと調べてみたら・・・犯人はApacheの定義(httpd.conf)にありました。
Allowoverrideの設定です・・・つまりmod_rewriteの有効化です・・・。
httpd.confの中でWordpressが置かれているフォルダの設定をする場所で、こいつを「All」に設定することで、.htaccessが有効になるのでした・・・。
なんだよー、とか言いながら最初結局表示が直んなくて焦りましたが、Apache再起動しなきゃ駄目でしたね(苦笑)・・・。
ということで無事にhttps化できました
まぁ2時間くらいかかっちゃいましたが、OS再インストールとか割とどうでもいい作業が間に入ったりもしてるので、作業そのものはそんなにかからないと思います。
いろいろググれば情報も出てきますし、さっさと隙間見てやっちゃうべきでしたね・・・そんなわけでもう12月も中盤ですねそうですねまじかよヲイ・・・。
コメント