masakiのブログ

なんか書くぞ!

【備忘録】WordPressをSQLiteで動かせと言われたので知識ないなりに頑張った

WP信者怖いのでこんなところで細々と書くんだけど、極々稀にWordPressで更新したいんだけれども、サーバーの引越しがしょっちゅうある(組織・機関の都合上)と言う事で、SQLiteで動かして欲しいという依頼がある。

ご存知の通りWordPressMySQLを使う事が前提なのでインストール時にどちらかを選ぶとかすら出来ないわけだけれども、それはともかく、そういうオーダーなのだから仕方が無いわけで、ちょっとググってみたらいくつか方法もあり、なんとか納品までこぎ着ける事が出来たので、自分のために備忘録でも残しておこうかと思う。

最初の最初

何はともあれ、そもそもMySQLで動く事が前提のものをSQLiteで動かすということなんだから、当然の事ながら色々とデメリットもある(メリットもあるけれども)。

特に

  • 使えないプラグインがある(主にキャッシュ系)
  • 複数人ログインのような事ができないかもしれない
  • アクセス過多になると多分無理(今回のケースではありえなかったけど)
  • セキュリティについては対応はするがリスクが消えるわけではない

あたりは理解しておいてもらった方が良さそう。
今回の仕事においては前述の通り、「サーバーの引越しが都合上頻繁にある」と言う事なので、バックアップが取りやすいSQLiteが良いというオーダーであり、ある程度の理解を持っておられたので、では行きましょうと言う事に。

 用意するもの

WordPress本体
SQLite Integration(https://wordpress.org/plugins/sqlite-integration/
SQLite Browser(http://sqlitebrowser.org/)←すぐには使わないけど一応
FTPクライアント

こんだけ。
主に使うのはSQLite Integrationだけなんだけれども、SQLite Browserは将来的にサーバー移動時(テスト環境から本番環境に移す時とかも含む)に使うので予め用意

最近はレンタルサーバーWordPressの自動インストールとかあるけど、今回は使わない。サーバーによってはサーバーのコントロールパネル側で事前に必要な情報の入力を求められるとかMySQL作っておかないとインストール画面表示されないとかあるのと、FTP上でゴニョることもいくつかあるので手動でFTPにアップ。

最初にすること

予めWordPress本体とSQLite Integrationをダウンロードしておくこと。FTPは各自で。

で、WordPressSQLiteで動かすために必要な方法は

wp-webzine.com


 

が超分かりやすかったので、これ見ながらすれば大丈夫かと。あんまりこの辺り詳しくない僕でも出来たので、これで難しいとかだとちょっとプロの制作者としてアレなので頑張ろう(情報がちょろっと古かったけど、特に問題はないようですた)

これで準備が整うはずなので、あとはいつも通りにインストールし、適宜サーバーに合わせてWordPressの各ファイルのパーミッションを変えるなどしてセキュリティ対応をしておく。

必要に応じてSQLiteのセキュリティのために.htaccessを使うとかゴニョゴニョしておいてもいいかもしれない。この辺りは詳しくないので、各自調べてみてくだしあ。

バックアップ・復元について

SQLite Integrationを使ってSQLiteWordPressを動かしている場合、「wp-content」ディレクトリ内に「database」って言うディレクトリが作られ、その中に「.ht.sqlite」というファイルが生成されるのだけれども、これをFTPから落として別サーバーに入れ替えてもエラーが出るだけでなんともならない。

これにドハマりしてしまったんだけど、解決策というか方法が間違っていただけで、これはWordPressの管理画面側から設定→SQLite Integrationを選び、メニューから「いろいろ」を選択

f:id:masaki4_5matworks:20150413103557j:plain

f:id:masaki4_5matworks:20150413103717j:plain

その後、バックアップメニューが出てくるので、これでバックアップを開始し、その後ダウンロード。

この際、「サイト名.ht.sqlite.バックアップなんちゃらかんちゃら」ってファイル名でダウンロードされるんだけど、ローカル上でリネームすると.htaccess同様ファイルが見えなくなっちゃう場合もあるので、一旦そのままの名前でFTPでアップし、FTP内で「.ht.sqlite」ってリネームした方がいいかもかも。

で、FTPでアップロードする前に、まだこのsqliteのデータベースは現在使っているURLの情報が入っているため、新URLに合わせるために中身を弄らないといけない。(ドメインの関係でURLが変わらない場合は無視で)

その際に「SQLite Browser」を使う事になるので、こちらでちょっとだけ中身を変えてしまおう。

SQLite Browserを立ち上げて当該sqliteデーターベースを開けば分かると思うんだけど、弄るのは「wp_option」内のURL表記のみ。ここを新URLに置き換えてしまえばOKなんだけど、ドメイン名はそのままの場合は特に触る必要は無いと思う。

テスト環境から本番環境に移動する際は必要なので一応覚えておくとする。

これでsqlite側は準備ができたので、あとはテーマやプラグインFTPからダウンロードしておき、新サーバーにアップロード。最後に「ht.sqlite」をアップロードしてほぼ完了。

必要に応じて「Search Regex」などの置換プラグインを使って投稿ページ内の不要なものを取っ払うとかすれば、概ね復元は出来るかと。少なくとも僕は出来た。

だいたいそんな感じで一通りWordPressSQliteで動かしたりゴニョったりできたので、僕自身が忘れないようにこれを残しておくとする。