再構築時に「500 Internal Server Error」
http://bizcaz.com/2005/12/27-022704.php
再構築するとエラーになってしまう
December 27, 2005
Category: トラブルシューティング
Tags: Troubleshooting BerkeleyDB SQLite Database MovableType
大変なことになりました
わたしのMovableType(ムーバブルタイプ)…新規エントリを作成しても保存されなくなってしまいました。
しかも、サイトの再構築さえできない状態で、何が行ったのか分かりません。もう放心状態です
わたし…かなり環境をいじくりまわしました。
とりあえず、気を取り直してさっそく調査した結果、やっと原因が分かりましたぁ
原因
原因はデータベースにあったようです。
こちらの過去ログに同じ現象でトラブってる人がいました。わたしのカスタマイズで、余計なことやってしまったのかと思ってドキ×2でしたが、わたしが悪いわけではなかったようです
MovableType(ムーバブルタイプ)のデフォルトでは、バークレーDBというデータベースが使われるそうですが、このデータベースがくせ者らしく、エントリ数が増えると再構築時にサーバーに負荷がかかってしまい、サーバー側からエラーが出るとのことです。
エラーメッセージは、再構築時に「500 Internal Server Error」というメッセージがでたら、おそらくわたしと同じ原因だと思われます。
たかが、40弱のエントリくらいでパンクしないで欲しいです
対策1 - これからMovableType(ムーバブルタイプ)をインストールする人
これからMovableType(ムーバブルタイプ)をインストールする人は、MovableType3.2をSQLite対応でインストールするで説明していますので、参考にしてください。そうすれば、わたしみたいなトラブルを回避できます
データベースをインストール時からSQLiteを使用する為の手順を記載しています。
対策2 - 既にインストール済のわたしと同じ現象の人
この人( わたしも含む )は、現状のデータベース、バークレーDBからSQLiteに変換する必要があります。
変換方法は、腐女子のMovableTypeカスタマイズ感想文様を参考にさせていただきました。
ここでは、http://lala.com/mt の下にMovableType(ムーバブルタイプ)を構築したとして説明します。自分の環境に合わせて、適宜読み替えてください。
mt-config.cgiを開き、63、64行目のコメント「#」を外します。
以下のように変更します。
変更前
# ObjectDriver DBI::sqlite
# Database /path/to/sqlite/database/file
変更後
ObjectDriver DBI::sqlite
Database ./db/mtdb
次に、75行目にコメント「#」がついている人は外してください。
コメントを外さないと変換されないようです。
変更前
# DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
変更後
DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
保存した mt-config.cgi をサーバーにアップロードします。
アップロード後、mt/mt-db2sql.cgi をブラウザ上から起動すると、ファイルの変換が始まります。
最後に、
「Done copying data from Berkeley DB to SQL database! All went well.」
が表示されれば、変換成功です。
再度、mt-config.cgiを開いて75行目をコメント「#」して、サーバーにアップロードします。
変更前
DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
変更後
# DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
最後に mt.cgi をブラウザ上から起動して、変換されたことを確認してください。
変換されていば、エントリ数が以前の数になっているはずです。
エントリ数が元に戻っていない場合、各CGIファイルを700 ⇒ 755にして再度、mt/mt-db2sql.cgi を実行してみてください。
わたしの場合は、700では変換されませんでした。
エラーの原因を知る方法
mt-config.cgi の402行目に SafeMode という行のコメントを外して、以下のように変更した後、再構築することによりエラー内容が分かるようになるそうです。
変更前
# SafeMode 0
変更後
SafeMode 1
1度に再構築するエントリ数を変える方法
mt-config.cgi の228行目に EntriesPerRebuild という行があります。これを以下のように変更することにより、1度に再構築するエントリ数を変更することができます。
エントリ数を40 ⇒ 10に変更する場合、
変更前
# EntriesPerRebuild 40
変更後
EntriesPerRebuild 10
世の中、いろ×2詳しい人がいてホント助かりましたぁ
※こちらから環境設定ファイル( mt-config.cgi )についてのマニュアルを見ることができます。
SEE YOU
再構築するとエラーになってしまう
December 27, 2005
Category: トラブルシューティング
Tags: Troubleshooting BerkeleyDB SQLite Database MovableType
大変なことになりました
わたしのMovableType(ムーバブルタイプ)…新規エントリを作成しても保存されなくなってしまいました。
しかも、サイトの再構築さえできない状態で、何が行ったのか分かりません。もう放心状態です
わたし…かなり環境をいじくりまわしました。
とりあえず、気を取り直してさっそく調査した結果、やっと原因が分かりましたぁ
原因
原因はデータベースにあったようです。
こちらの過去ログに同じ現象でトラブってる人がいました。わたしのカスタマイズで、余計なことやってしまったのかと思ってドキ×2でしたが、わたしが悪いわけではなかったようです
MovableType(ムーバブルタイプ)のデフォルトでは、バークレーDBというデータベースが使われるそうですが、このデータベースがくせ者らしく、エントリ数が増えると再構築時にサーバーに負荷がかかってしまい、サーバー側からエラーが出るとのことです。
エラーメッセージは、再構築時に「500 Internal Server Error」というメッセージがでたら、おそらくわたしと同じ原因だと思われます。
たかが、40弱のエントリくらいでパンクしないで欲しいです
対策1 - これからMovableType(ムーバブルタイプ)をインストールする人
これからMovableType(ムーバブルタイプ)をインストールする人は、MovableType3.2をSQLite対応でインストールするで説明していますので、参考にしてください。そうすれば、わたしみたいなトラブルを回避できます
データベースをインストール時からSQLiteを使用する為の手順を記載しています。
対策2 - 既にインストール済のわたしと同じ現象の人
この人( わたしも含む )は、現状のデータベース、バークレーDBからSQLiteに変換する必要があります。
変換方法は、腐女子のMovableTypeカスタマイズ感想文様を参考にさせていただきました。
ここでは、http://lala.com/mt の下にMovableType(ムーバブルタイプ)を構築したとして説明します。自分の環境に合わせて、適宜読み替えてください。
mt-config.cgiを開き、63、64行目のコメント「#」を外します。
以下のように変更します。
変更前
# ObjectDriver DBI::sqlite
# Database /path/to/sqlite/database/file
変更後
ObjectDriver DBI::sqlite
Database ./db/mtdb
次に、75行目にコメント「#」がついている人は外してください。
コメントを外さないと変換されないようです。
変更前
# DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
変更後
DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
保存した mt-config.cgi をサーバーにアップロードします。
アップロード後、mt/mt-db2sql.cgi をブラウザ上から起動すると、ファイルの変換が始まります。
最後に、
「Done copying data from Berkeley DB to SQL database! All went well.」
が表示されれば、変換成功です。
再度、mt-config.cgiを開いて75行目をコメント「#」して、サーバーにアップロードします。
変更前
DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
変更後
# DataSource /home/sites/lolipop.jp/users/lolipop.jp-cololipo7/web/mt/db
最後に mt.cgi をブラウザ上から起動して、変換されたことを確認してください。
変換されていば、エントリ数が以前の数になっているはずです。
エントリ数が元に戻っていない場合、各CGIファイルを700 ⇒ 755にして再度、mt/mt-db2sql.cgi を実行してみてください。
わたしの場合は、700では変換されませんでした。
エラーの原因を知る方法
mt-config.cgi の402行目に SafeMode という行のコメントを外して、以下のように変更した後、再構築することによりエラー内容が分かるようになるそうです。
変更前
# SafeMode 0
変更後
SafeMode 1
1度に再構築するエントリ数を変える方法
mt-config.cgi の228行目に EntriesPerRebuild という行があります。これを以下のように変更することにより、1度に再構築するエントリ数を変更することができます。
エントリ数を40 ⇒ 10に変更する場合、
変更前
# EntriesPerRebuild 40
変更後
EntriesPerRebuild 10
世の中、いろ×2詳しい人がいてホント助かりましたぁ
※こちらから環境設定ファイル( mt-config.cgi )についてのマニュアルを見ることができます。
SEE YOU