MTOS

Movable Type のコードを確認してみたところ、通常はUNIXのcrypt関数を呼び出してパスワードを暗号化しているようです。そうすると、MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.10.2 暗号化関数と圧縮関数や、8.4 crypt — Unix パスワードをチェックするための関数、を見てわかるように、MySQLではencrypt()関数を使えば、照合ができるという話になります。

ためしに、手元のMTOSのDBについて、確認をしてみました。select author_name, author_password from mt_author;とすると、DBに登録されているパスワードの値(ここではb5abcdefgとします)がわかります。crypt関数へsaltを指定してある場合は、先頭の2文字がその値になっています。ここでは、b5だとします。パスワード(ここではpasswordとします)とsaltの値を使って、select encrypt(‘password’, ‘b5’); と計算します。この結果がDBに登録されているパスワードb5abcdefgに一致していたら、認証ができたということになります。

こういうことがわかってくると、MTOSのユーザを使った認証ができたり、MTOSと他の認証システム(たとえばmod_auth_mysql)を連携させることができそうです。

CSRの確認方法

CSRの確認方法をとりあえずメモ。opensslコマンドではいろいろ確認ができるので、これ以外にも役に立つオプションは山のようにあります。とはいえ、よく使うものだけメモしておけばいいかなと。

$ openssl req -in CSRファイル名 -text

MTOS on Fedora9

Fedora9 で MTOS を動かしてみました。再インストールする前にMySQLのテーブルをダンプしておいたので、それを使いました。

/var/www/mtos とかを用意しましたが、SELinux関係で、コンテキストを実行可能にしないといけなかったので、/var/www/cgi-bin のコンテキストと同じに設定しました。また、次のように /etc/httpd/conf.d/mtos.conf を作成したりもしました。

Alias /mtos /var/www/mtos

<Location /mtos>
    Order allow,deny
    Allow from all
AddHandler cgi-script .cgi
    Options +ExecCGI
</Location>

MySQLは、ダンプしたものをリストアしたところ、文字化けが発生したので、次のようにUTF-8しか使わないように設定して、mysqld をリスタートしてからリストアしたところ、解決しました。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8

CPANをインストールしたりするのに、若干時間がかかりましたが、作業自体は簡単でした。とりあえず、動いてめでたしです。

本当は、WordPressをインストールしたかったのですが、気になってMTOSの方を先に対応してしまいました。まぁ、WordPressの方がもっと簡単ですから、すぐにできるはずです。

Fedora9 X Window

1440 x 900 の解像度になかなかならなかったのですが、下記コマンドで測定して、出力されたModelineをxorg.confへ記載して利用すればいいことがわかりました。

# gtf 1440 900 60

コマンドの意味は、「gtf 縦ドット数 横ドット数 リフレッシュレート」になります。液晶ディスプレイがサポートしていない値を指定しないように気をつけましょう。

我が家のマシンでは、これでうまく表示されるようになりました。Fedora9へバージョンアップして、かなり見た目はよくなりました。細かい設定まわりがまたわからなくなって、快適な環境にするまでは、もうしばらくかかりそうです。Flash Playerインストールしなくては…

Fedora9

自宅のPCでは、Fedora6をずっと使っていましたが、そろそろバージョンアップが必要だと思って、再インストールをしました。Thunderbirdの動作がすごく重たかったのですが、Fedora9ではいまのところその重さは感じません。FirefoxとThunderbirdぐらいしか使っていなかったので、必要最小限の環境構築という点では、再インストールもそれほど手間ではありませんでしたが、JDKとかEclipseとかMySQLとかの移行を進めないと使える環境になってこないので、そのあたりどうしようかと思案中です。

とりあえず、こうやってたまにバージョンアップをするのですが、そのたびに簡単ながらバックアップをとっています。そのせいか、てもとのPCをみていると、HDDに同じようなデータのバックアップがそこら中にあって、どれがオリジナルなのか、バックアップなのかよくわからない状態になってしまっています。困ったことですが、整理している暇もないので、大容量のHDDを購入してなんでもかんでもそこへ入れておくようにするという戦略を取ろうかと考えています。一時期、結構一生懸命選別をしていたのですが、最近はそういった根気もでてこなくて、できません。しかし、ファイルサーバにしているマシンがクラッシュするとかなり手痛いだろうなぁ…。年末に1TB のHDDは購入しよう。

MTOS

Hibernate Tools を使って MTOS 向けのJPAプログラムが用意できました。Webインタフェースは用意してはいませんが、DBアクセスはできるようになったはずです。とりあえずテンプレート移行ツールの作成はしたいのですが、仕様とか考えると結構面倒そうです。ブログ名の指定をして、それに含まれるテンプレートを取り出して、移行先のDBへ更新するか、挿入するか、するだけなのですが、自動連番されているものとかはどうするのかとか、関連するテーブルはないのだろうか、とか、いろいろありそうです。

mod_proxy_ajp

どうも、mod_proxy_ajpだと問題が発生することがあるようだ。mod_jkも使うようにした方がいいのだろうか。それよりも気になるのは、受け付けるリクエストの数とか、起動するスレッドの制限とか、そういったところの調整の方。複数台で非常に複雑な構成となっているサイトでは結構各値の調整が面倒だ。