既存のサイトのWordPress
化という案件があって、安請け合いしたらサーバでMySQL
が使えないことが発覚!というより、以前から馴染みのある「さくらのレンタルサーバ ライト」だったけど最近使ってなかったのでそんなことすっかり忘れていた、だけでした。
ほなSQLite
で、となるんですが、Movable Type
やDrupal
と違って、WordPress
では標準でSQLite
が使えません。クライアントには別途データベース借りてもらうかプラン変更も提案しようかと考えましたが、小規模だし面倒をかけるのも避けたいし、てことで、とりあえずプラグイン見つけたので頑張ってSQLite
化してみることにしました。
MySQL
が使えない共用サーバと言えば、ロリポップのエコノミーなんかも同じような価格帯の競合プランになるかと思います。
SQLiteはサーバとしてではなく組み込みで利用するデータベースです。
SQLite - Wikipedia
一般的に、月間数十万PV〜といったアクセスが見込まれるようなサイトでのSQLite化は勧められていないようですが、当案件はページ数も少なく、現状は心配なさそうです。後々アクセス増加がある場合にはサーバのグレードアップを検討すればいいと思います。さくらインターネットのレンタルサーバでは、ライトのひとつ上、スタンダードプランからMySQL
が使えます。
プラグイン「SQLite Integration」
さて、WordPress
でSQLite
を使用するために、WordPress
本体にSQLite Integration
というプラグインを入れた状態で初期設定するのですが、色々ググってみた結果、製作者ご本人による日本語ドキュメントが一番わかりやすく参考になりました。基本的にはこちらの内容だけですぐ使えるようになると思います。
SQLite Integration — WordPress Plugins
日本語版のドキュメント
SQLite Integration(ja) | ユニマージュ
「頑張ってSQLite
化」などと言ってみたものの、ドキュメントにあるインストール時の手順以外は特に作業がありません。プラグインの一覧にも一応SQLite Integration
が表示されるようになりますが、有効化する必要もないみたいです。
また、SQLite
では他プラグインがうまく動作しない可能性もあるとのことですが、今回の案件では今のところ何も問題ありません。
一点だけ面倒だったのは、ローカルから本番環境へ移設する際のメディアURLなどの一括変更です。SQLite
を使った場合、Database Search and Replace Script in PHPのような移行ツールが使えないため、管理ツールを探してデータベース内の文字列の置き換えをしました。
いくつか試してみて、結局(苦手な)SQLでやれよ的なものばかりだったので、その中でも扱いやすそうだったphpLiteAdmin
というツールを使いました。phpLiteAdmin
はPHPファイル1個と設定ファイルだけの簡単な構成なので設置もラクです。
phpLiteAdmin
自体の詳しい使い方については、解説するほど使ってないし他に詳しい記事をいくつか見つけたので控えることにします。ちなみにSQLite Integration
のデフォルトでは、データベースはドットから始まる不可視ファイルになっているので、バックアップも兼ねて適当にコピペ&リネームしたものを編集してから元ファイルと差し替えるのがいいと思います。
これにて、無事本番環境にアップすることができました。小さな規模のサイトであれば、さくらインターネットのライトプランでもSQLite
を使ってなんとかWordPress
の運用ができそうです。その際は、サーバコントロールパネルでPHPのバージョンも確認してみることもお勧めします。