「ロリポップ」タグアーカイブ

WordPressのバックアップ方法を変えました

このブログはWordPressというCMS(コンテンツ マネジメント システム)を使っています。

W3Techsが公開したデータによると、全世界のウェブサイトの29%がWordPressで作られているそうです。
世の中のサイトの29%もWordPressで作られてる?
すげーなWordPress…。

WordPressは静的なファイルを公開しているのではなく、動的にデータベースから記事を作り出しています。
ここで重要になるのが、サーバーのバックアップ。

これまでもWordPressのバックアップは定期的とっていましたが、完全にバックアップが完了しないときもありました。
なのでかなり試行錯誤して、いろいろ手を変え品を変え、今回のバックアップ方法にたどり着きました。

わりとまともに動くバックアップ方法は以下の通り。

1.ブログ記事やコメントなどのデータをエクスポートでバックアップ
2.プラグインやテーマなどのデータをSFTPでバックアップ
3.設定項目をコピーしてバックアップ

1.ブログ記事やコメントなどのデータをエクスポートでバックアップ
まずは1番大切な記事やコメントのバックアップを行います。
WordPressでは記事やコメントはデータベースに格納されてます。

WordPressにはこれらの記事をエクスポートする機能があります。
先日までエクスポートに失敗することが多発していたのですが、アドオンを一度全部停止にすることで、ダウンロードがスムーズに行えることが判明しました。
何回も失敗していたのでモヤモヤしていましたが、アドオンを停止することで解決して良かったです。

操作は、管理画面の左メニューの「ツール」から「エクスポート」を選択すればOK。

XML形式のファイルがダウンロードできるので、SSDやハードディスクなどに保存します。

データベースのバックアップがそれだけだとちょっと不安なので、バックアップが取れるプラグインを探しました。
WordPress Database Backup

今回は、上記サイトからWordPress Database Backup 2.2.4のZIPをダウンロードし、「プラグイン」の「新規登録」から「プラグインのアップロード」でインストールしました。

WordPressの管理画面からプラグインを探すほうがウイルス感染などのリスクは低くなると思うのですが、作成者のサイトからダウンロードしたほうが間違ったプラグインを入れる心配がありません。
WordPressって似たようなプラグインがたくさんあって紛らわしいのです…。

あとは管理画面の「ツール」から「バックアップ」を選ぶと、簡単にデータベースのバックアップ&ダウンロードができます。
また定期的にメールでバックアップデータを送信することもできます。

ボクは週に1度、自動的にバックアップを取ってメールで送る設定にしました。

あとせっかくなので、phpMyAdminを使ってデータベースから直接データをエクスポートもしておきました。
 1.サーバー上の phpMyAdmin にログイン。
 2.左ウィンドウで、WordPress データベースを選択。
 3.右ウィンドウに WordPress データベースに含まれるテーブルの一覧が表示されるので、タブメニューで「エクスポート」を選択する。
 4.「簡易」オプションが選択されていることを確認して、「実行」をクリック。
 5.すべてのテーブルが SQL 形式でエクスポートされるので、エクスポートされたファイルを保存する。

これだけやっておけば、ほぼデータベースのバックアップは万全でしょう。

2.プラグインやテーマなどのデータをSFTPでバックアップ
WordPressで使っている、写真や画像などをバックアップ(ダウンロード)します。

Webサーバーにあるファイルをダウンロードしますが、特に重要なのは、
・plugins(プラグイン)
・themes(テーマ)
・uploads(写真や画像など)
となります。

ただ、サーバーまるごとバックアップしようとすると、Cacheデータなどもダウンロードしちゃうのでオススメしません。

FTP(File Transfer Protocol)やFTPS(File Transfer Protocol over SSL/TLS)を使うと、サーバーからローカルにファイルをダウンロードしている間に途中で止まったりすることがありました。
なので、SFTP(SSH File Transfer Protocol)を使ったダウンロード(バックアップ)のほうがいいです。

今のところ、SFTPでダウンロードに失敗したことはありません。
安定しています。

しかし、すべてのサーバーがSSHを使えるわけではありません。
ロリポップだと、安価なプランではSSHが使えません。
月額500円~のスタンダードプランからのみSSHが利用可能になります。

SFTPを利用するためにWinSCPというオープンソースクライアントプログラムを使っています。

3.設定項目をコピーしてバックアップ
WordPressの設定の中の「更新情報サービス(ping)」と「パーマリンク設定」は重要なので、テキストにコピーして保存します。
まあ、これは一度コピー&保存しておけば、何度もバックアップしなくてもいいですね。

1.と2.でダウンロードしたファイルと3.のテキストをファイルを大切に保存しておきます。
ボクの場合はGoogle Driveに全部入れています。

ただし、ダウンロードしたファイルをそのまま全部Google Driveと同期を取ると、uploadsに入っている写真や画像などが自動的にGoogleフォトに入ってしまいます。
なので、uploadsをZIPで圧縮してからGoogle Driveにアップします。
そうするとGoogleフォトに勝手に画像があがりません。

と、ここまでのバックアップは手動でやらなくてはならないので、ちょっと不安です。
こんな作業を毎日、毎週、定期的にやるのは難しいので…。

ということで、結局、ロリポップのバックアップオプションに入ることにしました。
月額324円で過去7回分、7世代まで自動的にバックアップを取ってくれます。

バックアップオプションでは
(1)Webサーバー、データベースサーバーのバックアップ
(2)バックアップファイルのダウンロード
(3)Webデータ、データベースの復元機能
があって、バックアップ周期は手動/1日/3日/7日/15日/30日 より選べます。

ボクは3日毎にバックアップをとることにしました。
毎日バックアップ取りたいところですが、毎日にすると過去7日前までしか逆上れないので…バックアップの間隔、期間が短いのは不安です。
また、毎日毎日ブログを書いているわけではありませんし。

まあ、このように自動バックアップと定期的なバックアップをとっておけば安心かなーと。
そこそこアクセスもあるブログになってきているので、バックアップはとても大切だなーと思いました。

それでは、よいブログライフを…。

ひろぶろぐをセキュア(SSL/HTTPS)にしました

このブログはロリポップという格安サーバを使っているのですが、以前よりWordPress(ブログシステム=CMS)の読み込み速度が遅いので、サーバの引越しを考えるようになりました。

と、まあ、その前にもっとスピードをあげる方法がないかと少し努力しまして、キャッシュのプラグインを入れてみたりしました。

そして、以前からサイトのSSL/https化、つまり証明書が入ったセキュアなサイトに出来ないかなーと、ちょっと思っていたのですが、費用もかかるし面倒だしってことで躊躇していました。

ロリポップからの引越しってエックスサーバーがいいとか聞くけど、エックスサーバーだと独自ドメインでのSSLも無料なんだなー、とか見てますと、どうやらエックスサーバーで取得/管理したドメインのみが無料SSLに対応しているよう。
このブログのドメインはお名前.comで管理してるからなー。
移管はメンドイ。

と思って、ロリポップの管理画面を覗いていると、おやおやおや?
独自ドメインのSSL/https化が100ドメインまで(サブドメイン含む)が無料でできるじゃないですか!?

まあ、簡易的なSSL化でしょうけど、とりあえず無いよりはマシです。

ブログなんてSSL化してどうするねん?と思う方もいらっしゃるかと思いますが、
現在Googleでは
・常時SSLを推奨(フォームだけでなくサイト全般のSSLを推奨)
・非SSLサイトはランキングが下がる、つまりSSL化はSEO観点からも重要
という方針にしています。

ロリポップの管理画面でポチっとSSL化のボタンを押して5分ほど待って、その後、WordPressの「Really Simple SSL」というプラグインを入れておしまい。
わずか15分程度の作業で、サイトがHTTPS化してセキュアになりました!

キャッシュを最適化したおかげで表示速度も少しは改善されたので、引越しはもう少し様子を見ようかなと思います。

WordPressの動作環境をモジュール版PHPに変更しました

WordPressの動作環境をモジュール版PHPに変更しました

最近このブログの表示がメチャクチャ遅いことが気になっていました。
原因は何なのかわかりませんが、WordPressによる動作が遅いんですよね。

表示も遅ければ、記事を書くときの動作も遅い。
そして特にストレスが貯まるのが、写真をアップしたときにエラーになって登録ができないことが多いこと。

うーん、困ったな…。

使っているレンタルサーバーはロリポップで、月額250円のライトプランという激安なものです。
サーバーを移設しようかなーとも思いましたが、このサーバーには hirofun.com 以外のドメインも登録していたりするので、あまり下手に触りたくないのですね。

とは言っても、サイトの表示速度が遅いっていうのは、見に来てくれる人もストレスが生まれますし、Googleのロボットからの評価も下がるのでアクセス数の減にも繋がります。

昨年、ロリポップのサーバーを新サーバーに移設したのですが、その時はちょっと速くなったかな?とも思いましたが、やっぱり遅い。
で、XSERVERがいいよ、っていうブログ記事なども読んでいましたが、ロリポップの「モジュール版PHP」っていうのが良いよ!という記事を発見。

詳しいことは割愛しますが、ようはブログシステムであるWordPressが動いている環境を変えるってことで、
「モジュール版PHPを利用するとCGI版PHPに比べ大幅な速度改善が見込めます」
とのこと。

ただし、ライトプランではこのモジュール版PHPは使えず、スタンダードプランにしなければならないとのこと。
月額費用は250円から500円にアップします。

プラン比較表を見てみると機能や性能は多少アップしますが、あまりこれという差はない感じです。
とはいえ、「モジュール版PHP」を使うことによって、サイト同時アクセスが最大37倍も速くなるのであればこれは試してみる価値はあります。

まあ、試してみるというか、ロリポップの契約ではダウングレードができないので、効果があってもなくてもライトプランには戻せないのですが…。

これからもっとアクセスを増やしていくためにも、スタンダードプランに契約を変更し、モジュール版PHPに切り替えてみました。
作業はユーザ専用ページでPHP設定を変更するだけでほぼワンタッチ。

WordPressに特別な修正を加えたりする必要はなく、変更完了するまで10分ぐらい待つだけでOKです。

ちなみに、当然のことですが、ライトプランからスタンダードプランに変更するときに金額の差を支払わなくてはなりません。
ボクの場合は1年契約をしていて更新月が4ヶ月後でしたので、差分の250円×4ヶ月の1,080円(税込)をカードで支払ったところすぐに契約プランが変更になりました。

肝心の結果ですが、Pingdom Website Speed Testなどで調べてみると、
一番重いページで60.62秒かかっていたのが、35.44秒に
このような個別ページでは10.23秒→5.31秒ぐらいに
と、思ったよりは効果があって良かったです。

特にページを更新したりする投稿ページやダッシュボードを触っている時は、速度改善の効果が実感、体感できますね。

他の人のブログなどを見ていると、モジュール版PHPのサービスが開始され始めた2015年末ぐらいには結構トラブルがあったようですが、こちらではいまのところ問題は出ていないです。

今後もっとアクセスが増えてきたら、もっと良いサーバーに切り替える必要があると思いますが、いまのところロリポップのスタンダードプラン+モジュール版PHPで不足はないように思います。

もっともまだ導入して1日も経っていないので、もう少し動向を見ていきたいと思います。

LolipopサーバでWordPressを使った時にWAFが起因のHTTP 403エラーが出るのを解消する方法

Lolipopサーバのレンタルサーバを使っている人は少なく無いと思う。
そして、LolipopでWordPressを使っている人も少なく無いと思う。

で、LolipopにはWAF(Web Application Firewall)というセキュリティが使われていて、利用が推奨されているのだけど、誤作動が多くてサーバーエラーになることも多い。

ロリポップ標準のWordPressを使っていて、その上で純正のWAFを使っているのに、なんでエラーなんか出るんだ?
と、小一時間問い詰めたいところだけど、まあ、そんなことは無駄なわけで。

このWAFによる403サーバエラーが出る問題を解決するには「.htaccess」にある呪文を記載すればOKです!

(1)WAFのエラーコードを調べます
WordPressの操作で403エラーが出たら、ロリポップの管理画面を開いて「WEBツール」→「WAF設定」→該当のドメインの「ログ参照」を押します。
LolipopサーバでWordPressを使った時にWAFが起因の403が出るのを解消する方法

(2)詳細ログの最新のところにあるエラーコードをコピー
LolipopサーバでWordPressを使った時にWAFが起因の403が出るのを解消する方法

今回は「oscmd-try-27」と「xss-tag-1」のエラーが出てるのが確認できます。
いちおう、IPアドレスが自分のものかどうか確認くんで調べると良いでしょう。

「.htaccess」に以下のように記載します。

SiteGuard_User_ExcludeSig oscmd-try-27
SiteGuard_User_ExcludeSig xss-tag-1

※.htaccessの設置の仕方は各自でググってください。

これで、WAFがONになっていても問題なくWordPressが使えます。
.htaccessの取り扱いでは問題が起こる可能性もあるので、自己責任で実施をお願いします。

本当はWordPressの閲覧用のドメインと編集用のドメインを分けて、閲覧用はフルでWAFを設定し、編集用はSSLにして、ベーシック認証をかけるっていう方法もあるのですが、ボクの環境だとSSLにするところで挫折したので、まあ、今回の変更で良しとします。

WAFを切っちゃうよりはマシだろうし。

では、よいWordPressライフを。