(SFC向けの内容です)

数日前からMovable Typeが再構築どころか、エントリー一覧からエントリーを選んだりするだけで500 Internal Server Errorになってblogが書けなくなってたのを直す事ができたのでメモしておく。

CNSの情報を見ても、suExecもquotaも全部大丈夫なのに、というかここ数日CNSのサーバーも、このblogも設定をいじってないのに突然500 Internal Server Errorになるので不思議だった。

■解決方法(MT3.3の場合)

BerkeleyDBからSQLiteにデータベースを移行したら、直った。

SFCのwebサーバーにはSQLiteとDBI::sqliteがインストールされているので、下記を良く読めば3分ぐらいで移行できるはず。

(前提)俺の場合、MTは shokai/public_html/cgi-bin/mt/ にインストールしてある。



1.MT Database Converter.ja JP – Ogawa Codeからmt-db-convert.zipをダウンロードして、mt-db-convert33.cgiをmt.cgiのあるディレクトリにアップロードしてパーミッションを755にする。

2.webブラウザからmt-db-convert33.cgiにアクセスする。左側はmt-config.cgiの設定が読み込まれて、BerkeleyDBが指定されているので特にいじる必要は無い。

右側は、SQLiteを選択する。

shokai/public_html/cgi-bin/mt/sqlite/ というディレクトリを作る。

3.左側のBerkeleyDBの設定を見て、

/.automount/fs0001a/shokai/public_html/cgi-bin/mt/db

になっているので、右のSQLiteの書き出し先は

/.automount/fs0001a/shokai/public_html/cgi-bin/mt/sqlite/mt.db

にする。

SFCの場合、この/.automount/にしないとうまくいかない。pwdしても/a/fs0001a/とか出るが、/.automount/fs0001a/にする。(なおfs0001aの部分は入学年度や学籍番号などで異なるらしい)

4.設定したら、ページ一番下のConvertボタンを押して、データベースをコンバートする。

■設定の反映

5.mt-config.cgiを編集する。

##### SQLITE #####

ObjectDriver DBI::sqlite

Database /.automount/fs0001a/shokai/public_html/cgi-bin/mt/sqlite/mt.db

##### BERKELEYDB #####

#DataSource ./db

こんな感じにした。書き出したSQLiteのDBを指定してやって、古いBerkeleyDBは#でコメントアウトしてやった。

以上。

mt.cgiに入ろうとすると、DBが無くなったのでcookieが消えてパスワード入力を求められるはず。