先週末あたりから新サーバーに移行して作業してます。ドメインは変わりません。
サーバー移行した最大の理由は、自分でhtmlファイルやらフォルダやらの構造を維持しつつ、目次のナビゲーションと矛盾しないように編集するには内容が増えすぎてそろそろ限界だったからなんです。ディスクの容量はまだ充分だったのですが管理の手間を何とか楽にしたい。
それならば何かCMSを、と思ったのですが、私のところは固定ページが多いのでブログでやるには不向きです。いろいろ考えてPloneを導入することにしました。ところがPloneはこれまで使っていたさくらのレンタルサーバーでは動かせないのです。共用のレンタルサーバーは独自CGIまでしか許してくれないのですが、Ploneを使うとなると常にデーモンを起動しておかないといけない。自分で管理者をやれるサーバーでないと無理です。しかし専用サーバーは値段が高いので手出しができません。いろいろ検討した結果、さくらのVPSを使うことにしました。こちらはOSのインストールも含めて何を入れようが自由です。ちょうどVPSの2Gがキャンペーン期間で初期費用0円だったので、思い切って借りることにしました。
レンタルサーバーならお仕着せのブログが用意されていたり、メールも登録するだけで使えたり、ホームページも決まったディレクトリにhtmlファイルを置くだけで作れたりするのですが、VPSは全部自分でやらないといけません。ご利用上の注意にも、
さくらのVPSは、お客様にサーバのroot(管理者)権限をお渡しするサービスです。「さくらのレンタルサーバ」などの共用レンタルサーバと異なり、サーバ・OSの設定やアプリケーションのインストール、セキュリティ対策などの運用管理もお客様の作業です。ご利用のOSに関する専門的なサーバ運用知識が必要となりますので、ご注意ください。
と書いてあります。
ということで、夏頃に借りて、間にコミケも挟みながらちょこちょこ作業してました。
VPSにするとどんな作業が必要になるかというと……。
OSをFreeBSDに入れ替え、最初にemacs、proftpdを入れてファイルの編集や入れ替えを手元のパソコンからできるようにします。ウェブサーバーとしてapache2、続いてデータベースのMySQL、PHP、PHPmyadminをインストール。このあたりはWordPressのブログを動かしたり、チャットを動かしたりするのに必要になります。次にPloneをインストールし、これまで手元のパソコンのDreamweaverなどで編集していたコンテンツを手作業でこつこつ登録しました。
掲示板システムは、WordPressで動くSimplePressというフォーラムシステムが便利そうだったのでインストールして、イラスト掲示板の内容を手作業で移しました。この作業が大体終わったのが年明けの1月半ばです。イラスト掲示板でない方の掲示板の内容は移転に時間がかかりそうだったので、一旦そのまま持ってくることにしました。掲示板のSPAM対策はあんまり強力ではないので、WordPressで使えるAkismetというスパム捕捉システムに任せた方が管理が楽だということで、移行を考えたのでした。
WordPressで作っているブログの内容はそのまま移転ということで、まずデータベーステーブルをダウンロードし新サーバに登録、その後WordPressのインストールディレクトリの全内容をダウンロードして新サーバにアップロードし、投稿画像が入るディレクトリのパーミッションのみ変更。こっそり裏で動いてるアップローダも内容全コピーとパーミッションの書き換えで動作を確認。
このへんまでできたところで、メールの送受信をしないといけないので、Postfixを入れます。ちょっと古いやり方ですが、APOP認証&POP before SMTPにして接続を制限するため、Dracとqpopperをインストール。メール送受信のテストはドメイン名を新サーバに変更してからでないとできないので、さくらのDNSの登録先を新サーバに向けます。
最初、popperでの接続ができなかったので焦りました。インストールに問題はないのに何故だろうと。メールトラブルのまま放置すると、せっかく来たメールを落としかねないですから(汗)。MacのMailでやってみたら接続はできたので、設定を見直したら、Thunderbirdの設定でユーザー名を入れるところにメールアドレスが入ってて、むしろレンタルサーバーのメールの方がなぜこれまで接続できていたのか不思議、という……。
チャットも全ファイルの移転をしたのですが、新サーバのPHPのバージョンが上がってWarningが出始めたので、日付取得の直前にタイムゾーンを設定する一文を追加し、書き込みディレクトリと一部ファイルのパーミッション変更で無事動作。
これまで作っていたブログやチャットにアクセスがあったときはそのまま受け付け、通常のページへのアクセスの時はPloneに振り分けるため、apacheのVirtualHostとRewriteRuleの設定をしました。Ploneは単独でapacheとは無関係に動くウェブサーバーで、使用しているポートも異なっているからです。
レンタルサーバーお仕着せのwebalizerも当然無いので、自分で入れることになります。ソースから入れようとすると、入っているはずのlibpngが無いといって途中で止まってしまい、libpngを入れても改善しないので、BSDのPortsから入れるのですが、ちょっとしたコツが必要です。apacheのログを解析する時、検索ワードも拾ってくるのですが、検索ワードはUTF-8で格納されています。ところが、webalizerは歴史のあるプログラムなので、日本語コードがEUC-JPのため、そのまま入れると検索ワードのところだけが文字化けします。ですから、/usr/ports/japanese/webalizerでmake installをいきなりやらず、make extractとmake patchを実行してソースコードの展開とパッチ当てまでをまずやり、ダウンロードされたソースのlangディレクトリの下のwebalizer_lang.japaneseをnkfでUTF-8に変換します。このあと普通にコンパイルしてインストールすると、日本語部分がUTF-8になった解析結果を出力してくれます。後は、webalizer.confで生成するhtmlファイルのヘッダの文字コードがx-euc-jpとなっている部分をUTF-8に書き換えるだけです。ただ……書き換えてもEUCのままなのでなんでだろうと思ってさんざんやり直した結果……ブラウザのキャッシュが悪さしてましたorz。開発環境用に毎回全キャッシュをクリアするブラウザも1つ用意しておいた方が良さそうです。
バックアップは、MySQLのダンプと、PloneのData.fsとblobstorage、apacheで設定してDocumentrootの全内容をtarで固めて別ディレクトリに保存し、それをパソコンで定期的にダウンロードという手順にしました。
【よくなったところ】
- コンテンツ管理は圧倒的に楽。ファイルの内容を登録するだけで自動的にナビゲーションツリーに出るので目次の編集が不要。内容の編集のみに集中できる。
- カスタムCSSの設定はPloneのZMIのplone_skins/custom/ploneCustom.cssに一括登録。これまでのように、ディレクトリを掘った時にCSSへのパスを気にする必要は全くなくなった。
- ブログにちょっと多めの画像を貼り付けると共用サーバーの帯域制限に引っかかってしばらく通信できなくなったりしてたのだけど、VPSにその制限はない。
まあ全体として自由度は格段に増しました。その分作業も増えたけど(笑)。
【不具合が出たところ】
- Perlのcgiを使おうとするとBad Requestで全滅。apacheのmod_rewriteの設定がまずいらしい。Plone 4 Bookの通りに設定したけどダメっぽいし、いくつかできそうなことを試したがが改善せず。PHPしか使ってなかったのが幸いして差しさわりはないが……。
まあこんなことをしていたので、この半年ばかり、ブログの更新をするどころじゃありませんでしたorz。やっと一通りの作業が終わったので、これからはぼちぼち内容の更新も再開したいと思います。
Recently:
- 「UFOロボグレンダイザー たとえ我が命つきるとも」攻略終了
- グレンダイザーU、宇門博士のステータス下げすぎでは?
- Fallout 1st加入した
- Fallout 76
- CSI:マイアミ
- Answers to Antonella Belli’s questions
- コミックマーケット参加終了
- エルデンリング攻略メモ
- 31話 林所員の移動速度が凄いw
- twitter botの復活を試みていろいろと嵌まる