(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が消えてパスワード入力を求められるはず。