北青山通信 – from aoyama » オープンソース
DELLのサーバーとiSCSIのTeraStation ISが来て、サーバーのインストールをしています。しかし、ひとまず考え直しで中断することにしました。
当初の目論見としては、サーバーに仮想化技術を導入して、いくつかのサーバーを立ち上げることを考えていました。TeraStationISは外部のハードディスクとして、仮想化したサーバーを入れることにします。
最初にCentOS5.2の64bit版をインストールします。仮想化する製品として今まで使っていたVMware Serverをインストールします。今回は、64bit版をインストール。VMware ServerはRPMをインストールするだけで簡単。
新しいバージョンではVMware Management InterfaceというWebブラウザからアクセスできる管理ツールが使えます。こちらからゲストOSをインストールできます。ウィザードで質問を答えるだけで設定でき、仮想化されたCD-ROMドライブにゲストOSのイメージを割り当てておけば、普段のOSインストールと同じ手順でインストール開始です。ゲストOSとして、ホストOSと同じCentOS5.2の64bit版をインストールします。
ディスク領域もデータストア領域として、TeraStation ISのディスク領域をしてしておけばOKです。すべてのゲストOSの領域をTeraStation ISに置くことができます。今回は、ファイルサーバー、IMAPサーバーとして内部向けのサーバー、外部へWebサーバーの2つのサーバーをインストールします。
今回は、アカウントを一括してLDAPで管理するため、内部向けにOpenLDAPをインストールします。
以上、ホストOSのサーバーを再起動すると、TeraStation上のLVMで構築したディスク領域が自動認識しないなどのトラブルがありましたが、とりあえずは動き出しました。
しかし、TeraStationのディスク領域にホストOSのファイルシステムを作成して、この上でゲストOSを動かしているので効率悪そうです。VMware Serverでは、ディスクブロックではなくてファイルシステム上にゲストOSを配置するので、仕方ないかもしれません。Xenのような仮想化を考えなければいけません。
あとは、ゲストOSのバックアップをどうするかとか、ディスクが足りなくなった場合、簡単に増やせるかとかを考えておかなければいけません。なるべく障害で中断される時間を短くするにはどうするかを考えなければいけません。
これからXenのほうを調べてみます。
デルからサーバーが到着。最近の梱包は簡易梱包で取り出しやすい。
早速、起動といきたいところだが、またまたやってしまった。
キーボードがPS2でなくなっている。
今あるサーバーでモニタ、キーボード、マウス(使わないが)を切換機で使おうと目論んでいたが、なんと今度のサーバーはPS2のコネクタがない。すべてUSBなのでした。
モニタ(まだCRT)はコネクタを切り替えればいいのですが、手持ちにUSBキーボードがない。どうせネットワーク経由でログインしてしまうので、動いてしまえば、LANケーブルと電源がつながっていればいいのですが。キーボードがなければOSのインストールができない。
仕方ないので、今使っているPCのキーボードを使いますか・・・・。
あーあ、何だか最近抜けている。
手持ちの外部DVDドライブをUSBで使えばいいと、わざと注文しませんでしたが、これでUSBのDVDドライブから起動できなければ最悪。
前述の件、早速プログ村の村長さんから回答がありました。見逃していたそうです(本当??)。
回答とWordPressのDBの内容から察するに、WordPressのRSSの出力と記事テーブルの時間の格納に問題がありそうです。
例えば22:52に記事を登録すると、ローカルでの作成時間は正しく22:52で格納されますが、GMT(UTC)の時間は4:52で格納されます。時差+9の倍です。この時間をRSSは4:52のUTCで出力するので、ブログ村では13:52で表示されます。つまり、ブログ村ではFAQの記述とは違って、時差の計算はやっているようです。記事を追加していくと、履歴を取ってくれますが、この辺りが怪しいそう。
ということは、WordPressのほうにバグ報告を出さなければいけませんね。どこから出せばいいのでしょう?
やはり、WordPressをアップデートするごとにソースを修正しないといけないみたいです。
追記:
今、WordPressのサイト管理で、投稿管理の記事の時間が-9時間になっていました。原因は別にありそうです。WordPressは世界中で使われているので、もちろん時差の計算にバグを残したままにしているわけないし。まずは、自分のサーバー周りをもう一度疑ってみなくては・・・。
稼働しているシステムでメール送信でトラブル。メールを送ったのに届いていないらしい。
本当にメールサーバーからメールを配信したかをログを調べる。しかし、こちらはログへのアクセス権限がない。
仕方がないので、管理者(2つ上の発注元)にメールアドレスを伝えて調べてもらう。
結果は正常に配信されているそうだ。しかし、コメントも一言書いてあった。
膨大なログから調べなければいけないので、次回から送信日時も教えてくれなければ困る。
それはそうですね。と理解したが・・・。
しかし。何でログファイルを目視しなければいけないの? これって本当? サーバー管理者がやること?
grepかければ簡単ではないの? ただ、やりたくない面倒なだけ?
いいえ、発注元の方ですので、喧嘩は売りたくありません・・・。
現在、CakePHPのサイトを作成していますが、メールを送信する処理があります。今まですとmb_send_mail()を使ったクラスを用意していましたが、せっかくCakePHPを使っているということで、Qdmailというコンポーネントを使ってみました。
PCに送るには問題なし。しかし、携帯電話宛のメールは文字化けします。
調べてみると、cakeText()メソッドでViewを使うとUTF8で送信しているようです。Viewを使わず直接text()メソッドを使ってテキストで送ると、正常にiso-2022-jpで送ってくれます。
Qdmailのサイトで調べて、charsetBody()メソッドでiso-2022-jpを指定してもだめ。テンプレートファイルをJISにしたら携帯電話で読めるようになるが、パラメータをアサインすると文字化け。1時間ほど悩む。
Googleで「Qdmail cakephp 文字化け」で検索してみるとありました。ここのサイトでヒントが見つかりました。
cakeText()メソッドの第5パラメータで iso-2022-jp を指定すればOK。Qdmailのマニュアルには見つかりませんでした。
Qdmailのサイトには、非常に詳しくマニュアルが載っています。今回はこれを信じたのがいけなかった。ソースコードが読めるのなら、ソースコードを読まなければいけません。しかしQdmailのソースコードは、コメントが少ないので読みづらい。コメントの中にコードが埋まっている私とは大違い。