nouno.comは1年前にWordPressって何ぞや?というところから、自前で環境から構築をしてみたのが始まりである。
ほとんどの方はWordPressの環境が用意されていて状態から始まり、インストールだとかの環境構築の経験も無く、主目的の記事を書くことに専念されている。
自分は実は記事なんかよりも、どのように動いているのかの方に興味がある。
大抵のレンタルサーバーはWordPressは標準でサポートされている。自前で環境を整えるにもデータベースであるMySQLは現状必須なのだが、こちらも標準でサポートされているのが一般的だ。さくらインターネットのライトプランは全く対応していないので、そこを無理矢理wp-sqlite-db ver.1.3.1を使用して稼働させている状況だ。
一応、WordPressはSQLiteに標準対応すべくプロジェクトが動いているが、未だ正式リリースの情報が見当たらない。
結構難航しているように見える。
1年間動作させてみた感想だが、個人ベースなら全く問題ない。ただPHPとSQLの基本的知識は必須だろう。トラブル時に全く対応ができない。
逆に法人は全くお勧めできない。突然余計なトラブルが発生するし、そのサポート費用がバカにならない。最初から支払ってしまった方が安心だし安上がりだ。さくらインターネットだとスタンダードプラン以上になるが月額500円。たいした金額では無い。
ただ一個人として老兵はとても支払えない金額なので、知恵と汗と月額121円でなんとかしているのだ。。。
現役のWEBエンジニア、もしくはWEBエンジニアを目指す方には、丁度良い力試しになるだろう。いくらでも先人の知恵が検索できるし、全く対応ができないのであれば正直スキル不足だ。
老兵はもうじき定年が見えている世代だし、そもそもWEB系のプログラムからは20年くらい離れているが、それでも対応可能なレベルである。
運用に関してのトラブルは6.7にバージョンアップしたときと、つい最近の6.8.2へのバージョンアップ時に数分の停止が発生した(実はこの記事を投稿する直前に対応した)
これはデータベースのバージョンアップに関するトラブルで、事前に予想もしていたのですぐに対処ができた。
あとはSiteGuard WP Pluginで、こちらは自前でPHPのソースを改造しているのでバージョンアップがある度に都度自分で書き換えなくてはならない。
ただこの1年で1回だけだったような。。。
そんなに頻繁にアップデートされていないので、我慢できるレベルだ。
もしも修正に時間がかかっても、ページの閲覧には問題は無いので誰も気がつかない。
その他のプラグインは、全部データベース関連でのトラブルだった。逆にデーターベースにアクセスしないプラグインなら問題は発生しないだろう。
MySQLとSQLiteではサポートしているテーブル構造が違うため、インストール時に動くCreate Tableに一部失敗してしまうのが大半。
一見動いているように見え、動かない機能があったりするのは、正しくテーブルができていないからである。
インストール後にSQLiteでも動くような互換テーブル構造を用意すれば、その後全く問題がなかった。
インストール直後はプラグインごとに丁寧な動作確認が必要だったが、その後はプラグインが自動アップデートしても正しく動作し続けており、ソースの修正やテーブルの変更作業は一切発生していない。基本放置で問題なかった。
テーブルやカラムの追加などが発生する大幅なアップデートが無い限り、今後も大丈夫そうである。
実のところ、未だWordPress本体でデータベースのエラーが発生しており、Apacheのerrorログに残っている。
高速化のためにキャッシュデータをデータベースに保存しているようなのだが、期限が切れるとcronで自動削除するらしい。
残念ながら、この処理は常にエラーとなって削除されない。
これに対応したいのだが、MySQLオリジナルのSQL構文を使用しているらしいことと、バージョンアップの度にコードの書き換えが必要になってしまい、それなりに大変なのである。
放置するデメリットとしてゴミデータが貯まり続け、データベースが無駄に肥大化してしまうことと、それによるレスポンス低下だ。
ただこの処理は期限切れのデータを消す!というだけなので、消えなくても動作に全く支障は無い。
そのため無視しているのが現状だ。
たまにデータベースを最適化するときに、ついでに期限とか無視して「まるごと消してしまえ!」という乱暴な方法で対応している。
作業は2~3ヶ月に1回くらいだろうか。これで全然問題ない。最終的にデータベース本体の「.ht.sqlite」が半分くらいのファイルサイズになるので、ゴミだらけなのが難点。
1年間トライしてみたのだが、トラブルを楽しめるレベルでの運用が可能だった。こうして苦労するとWordPress本体だとか、プラグインだとかのソースを読むわけで、それなりに新しい知識が付いた。それが一番のメリットだったかも。
WordPressのSQLite対応が正式リリースされるといいね!
コメント