MovableType の再構築時に、
『500 エラー(Internal Server Error)』 が発生するようになってしまいました。
当ブログの環境は、
・Movable Type 3.2-ja-2
・データベース管理 : Berkeley DB
・SAKURA Internet のライトプラン
です。
原因は Berkeley DB だとわかっていますので、
今回、データベース管理を Berkeley DB から SQLite に移行する事にしました。
(SAKURA Internet のライトプランでは、MySQL は利用出来ません。)
先ず、現在のデータベースのパックアップを行います。
・mt / db ディレクトリまるごとダウンロードで良いようです。
(参照:『MovableType備忘録 』様)
『小粋空間 』様や『The blog of H.Fujimoto 』様によると、
MovableType 3.2 には「mt-db2sql.cgi」という移行用スクリプトが備わっていて、
それで変換する事が出来るが、途中で 500 エラーが発生する恐れがあるとのことです。
そこで今回は、
『Ogawa::Memoranda』様で配布されている
「mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト 」を使用させて頂きました。
ダウンロードしてくると、
・mt-db-convert31
・mt-db-convert32
・mt-db-convert33
の 3 つのファイルが存在しますが、
MovableType 3.2 なので、
mt-db-convert32 を mt.cgi があるディレクトリ に upload します。
パーミッションを 755 または 777 に変更します。
ブラウザから mt-db-convert32.cgi を実行します。
右側 Destination DB Configuration の
ObjectDriver は SQLite を選択し、
Database は SQLite のパスを記入します。
データベースファイルまでのディレクトリは、
mt-db-convert.cgi 実行前に予め作成しておく事。
また作成したディレクトリのパーミッションは、
CGIスクリプトから書き込めるよう変更(755/777等)。
設定が完了後、画面下の「Convert」をクリック。
mt-config.cgi の設定内容が表示されます。
Done copying data from DBM to DBI::sqlite! All went well.
Your recommended setting
-------------------------------------
#DataSource /home/4urnetlife/www/mt/db
ObjectDriver DBI::sqlite
Database /home/4urnetlife/www/mt/sqlite/db
-------------------------------------
指示に従って、mt-config.cgi を書き換えます。
赤文字 の部分です。
### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
ObjectDriver DBI::sqlite
Database /home/4urnetlife/www/mt/sqlite/db
#
#
### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
#DataSource /home/4urnetlife/www/mt/db
Movable Type にログインして、既存の環境が引き継がれているかどうかを確認します。
mt-db-convert.cgi や Berkeley DB のデータベースを削除します。
「 SQLite 」を使った場合、「 db ファイル 」 の中身が第三者の目に触れる恐れがあります。
そのため、 「 db ファイル 」 を保護する必要があります。
テキストファイル(txt)で、下記内容を作成し、保存します。
ファイル名は、アップロード後変更するため自由です。
<Files *>
<Limit GET>
deny from all
</Limit>
</Files>
「sqlite」フォルダに作成したファイルをアップロードします。
アップロード後、ファイル名を「 .htaccess 」に変更します。
あっけないほど簡単に移行できました。
再構築時のエラーもなくなり、大満足です。
先ず、現在のデータベースのパックアップを行います。
・mt / db ディレクトリまるごとダウンロードで良いようです。
(参照:『MovableType備忘録 』様)
『小粋空間 』様や『The blog of H.Fujimoto 』様によると、
MovableType 3.2 には「mt-db2sql.cgi」という移行用スクリプトが備わっていて、
それで変換する事が出来るが、途中で 500 エラーが発生する恐れがあるとのことです。
そこで今回は、
『Ogawa::Memoranda』様で配布されている
「mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト 」を使用させて頂きました。
ダウンロードしてくると、
・mt-db-convert31
・mt-db-convert32
・mt-db-convert33
の 3 つのファイルが存在しますが、
MovableType 3.2 なので、
mt-db-convert32 を mt.cgi があるディレクトリ に upload します。
パーミッションを 755 または 777 に変更します。
ブラウザから mt-db-convert32.cgi を実行します。
右側 Destination DB Configuration の
ObjectDriver は SQLite を選択し、
Database は SQLite のパスを記入します。
データベースファイルまでのディレクトリは、
mt-db-convert.cgi 実行前に予め作成しておく事。
また作成したディレクトリのパーミッションは、
CGIスクリプトから書き込めるよう変更(755/777等)。
設定が完了後、画面下の「Convert」をクリック。
mt-config.cgi の設定内容が表示されます。
Done copying data from DBM to DBI::sqlite! All went well.
Your recommended setting
-------------------------------------
#DataSource /home/4urnetlife/www/mt/db
ObjectDriver DBI::sqlite
Database /home/4urnetlife/www/mt/sqlite/db
-------------------------------------
指示に従って、mt-config.cgi を書き換えます。
赤文字 の部分です。
### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
ObjectDriver DBI::sqlite
Database /home/4urnetlife/www/mt/sqlite/db
#
#
### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
#DataSource /home/4urnetlife/www/mt/db
Movable Type にログインして、既存の環境が引き継がれているかどうかを確認します。
mt-db-convert.cgi や Berkeley DB のデータベースを削除します。
「 SQLite 」を使った場合、「 db ファイル 」 の中身が第三者の目に触れる恐れがあります。
そのため、 「 db ファイル 」 を保護する必要があります。
テキストファイル(txt)で、下記内容を作成し、保存します。
ファイル名は、アップロード後変更するため自由です。
<Files *>
<Limit GET>
deny from all
</Limit>
</Files>
「sqlite」フォルダに作成したファイルをアップロードします。
アップロード後、ファイル名を「 .htaccess 」に変更します。
あっけないほど簡単に移行できました。
再構築時のエラーもなくなり、大満足です。
≪ 続きを隠す