ブログリニューアルしてみました

明けましておめでとうございます。年始は実家に帰っていたので、普段できなくて溜まっていることを やってしまおうということで、かねてから気にかけていたさくら VPS を使ってみるついでに ブログをリニューアルしてみました。かなりすっきりしたと思いますがいかがでしょうか。

VPS 初めてだったのと、WordPress いじくるの久々だったので色々苦労しました。軽く備忘録。

さくら VPS

前はさくらのレンタルサーバでうごかしてました。レンサバはサーバ管理をあまりやったことの 無い人にとっては、Apache や MySQL の config 作って動かしたりする必要ないので 確かにお手軽です。実際、サーバとかマジわかんねだった僕でもブログを構築することができました。

ただ、仕事でサーバをこれでもかってほど触ってると、ついつい自分で動かしたくなるのが職人というもの。 とはいえ自宅サーバでえいこらするのは結構面倒なので、手っ取り早くやれるさくら VPS ということになりました。

契約すると 30 分くらいで準備できたよーとメールが来ましたが、IP 生きてる気配なし。 よくよく見てみると初期状態は起動してない(電源オフみたいな)状態でした。。。

というわけで、起動させてひと通り設定。慣れている CentOS なのでガチャガチャといじりました。 ssh 周辺と iptables をさっさと済ませました(ちなみにミスって 1 回リモートコンソールのお世話になりました。。。)

MySQL

そこにサーバがあればまず MySQL をインストールするのが漢の性というもの。 5.5.8 の rpm 落としてきて速攻でインストール終了。server, client, share, dev を入れてます。

Apache

こっちは頑張らない。。CentOS の yum レポジトリを入れて終了。

PHP

よく考えたら PHP って環境作ったことないや。というわけで四苦八苦。

結果から言うと、remi というレポジトリから PHP5.3 とか入れました。MySQL のドライバのところだけ MySQL を rpm から入れてる関係上パッケージの依存関係により yum では入らないので yumdownloader で rpm 落としてきてrpm -ivh --nodepsでインストール。 libmysqlclient.so.16 は既に入っているのでちゃんと動きました。

そういえば、PHP を mod_php じゃなくて別の daemon で動かして mod_proxy とかで渡す感じにしたいんですが、PHP ってそういうのあるのかな。

git で管理しよう

ところで、Linux や MySQL や Apache の config をいくつかいじるけど、結局どこをどういじったのか 忘れてしまうもの。ふと思い立って、WordPress のコードも含めて git でバージョン管理しちゃえばいんじゃね ということで適当なディレクトリ配下にいじったものを集めてきて、元あった場所には シンボリックリンクを配置。完璧。

以降、WordPress のインストールは適時 commit しつつ tag を打っておいたので、 例えば WordPress のバージョン上がったとか、テンプレートのバージョン上がったとかの時に 変更点を git diff とかで探せるぜ。あと気まぐれで変えちゃった config とかもわかる><

WordPress

最新の 3.0.4 を入れた。なんかいつからあったのか知らないけど、wp-config.php に salt とか書く様になってました。

Vicuna

テーマは慣れている Vicuna で。ただ、ウィジェット使いたいのでカスタマイズされた wp.vicuna.exc を 利用させて頂きました。VicunaAdaptor に対応してなかったので、テンプレートを何箇所か修正。

style-mono

シックでかっこいい style-mono にしてみました。ヘッダーの画像は Flickr から CC の写真探してきて 適当に加工してます。クレジットはフッターに書きました。

プラグイン

久々に見てると、結構おもしろいのが出てて目移りしましたが、なるべくプラグインに依存しすぎないように 最低限に絞っていってます。

syntaxhighlighter がかなりかっこよかったので入れてみました。ただ、Markdown との相性が悪くて 先に Markdown で評価されてしまうため、コードの中に HTML タグが入っちゃったりしました。 困ったなと思ったら、どうも Markdown の仕様上、ブロック要素内にはルールが適応されないということらしいので カッコ悪いですが ↓ の様な感じで逃げました。まぁとりあえずこれでよし。

<div>[perl]
...
[/perl]</div>

逆に、Amazon や Flickr についてはもうプラグインは使わずに、生成される HTML タグをぺたっと貼る様にします。 これは過去のエントリに syntaxhighlighter のタグみたいにプラグインが独自に解釈しないといけないものが 残っていると、バージョンアップや移行するときに妨げになる可能性があるからです。 syntax については妥協の範囲。書く機会も多いだろうし。

エクスポート・インポート

で、後は前のブログから XML でエクスポートさせて新しい WordPress にインポート。 微妙にカテゴリがバグッたぽかったけど、適当に修正。なんかうまく直ってない気もするけど気にしてない。

zenback

そういえば、サイト内おすすめとかはてブコメントとかは zenback が便利なのでそれで片付けてしまった。 wp.vicuna.exc にはフッターのウィジェットがあるので、テキストウィジェットにコード貼りつけて終わり。

ちなみに

新しいサーバ構築してる途中では、Digest 認証かけた上で PC の hosts に新しい IP で名前を書いて 確認とかしてました。これならパーマリンクとかもそのままで確認できるので楽チンです。

今後何か大きめのアップデートするときにはどうするかなーと考え中ですが 多分さくら VPS もう 1 台借りてステージング的な感じで作っておいて同じように hosts 向けて確認の予定。 一応 HA 的な意味でも 2 台あった方が安心なので。切替はプロキシとかさすがにめんどいので DNS 更新だけど。。

ステージングの DB は本番を毎日 dump して入れ直しみたいな感じにしておけば 本番と乖離するってことも防げる。レプリケーションでもいいけど、slave に更新が入るので変に止まったら面倒だし。 アプリの反映は git から取り出せばおkのはず。ちなみにレポジトリは github のプライベート使ってます。

最後に DNS 切替

で、大体準備できたということで、Digest 認証外して DNS の A レコード更新。ちょっとドキドキ。 ぱっと見問題なさそうなのでとりあえず一安心。

おわりに

というわけで、かなりスッキリしたので書く気力も出てきました。なんせレンサバ時代は FreeBSD だわ、MySQL4 系だわ、MyISAM だわでもうそれだけで萎え萎えだったので。 今は CentOS5 に MySQL5.5 に InnoDB だからもうそれだけで胸熱です。

というわけで本年もよろしくお願いします。2010 年を振り返って的なエントリは数日中には書く予定です。