Movable Type + SQLite

Movable Type + SQLite

Posted at October 9,2005 11:59 PM
Tag:[DBD-SQLite, MovableType, SQLite]

3.2-ja では BerkeleyDB 使用による再構築の不具合が発生しておりますが、それを差し引いても BerkeleyDB は根本的に動作が遅いというのは否めません。
ということで、Movable Type + SQLite を使用する場合の設定方法です。DBの設定が簡単&高速なので、特に自宅サーバで BerkeleyDB を使用されている方(で MySQL の環境構築が困難な方)はこちらに乗り換えられることをお勧めします。

以前、MySQL(+PHP) の環境設定でかなりてこずった経験があるので、「SQLite も似たようなもの」という先入観がありましたが、実際に試してみるとその想いは完全に覆されました。後述する Perl モジュールの DBD-SQLite さえインストールできれば、あとの設定は BerkeleyDB 並、つまりディレクトリを作成して、mt-config.cgi にそのパスを記述するだけです。

1項はWindows自宅サーバでの Perl モジュールの DBD-SQLite インストール方法について記しています。レンタルサーバの場合は1項を読み飛ばしてもらえれば結構ですが、DBD-SQLite がインストールされていることが前提となります(使用可否は mt-check.cgi の実行画面から確認してください)。

以下、設定方法です。

1.DBI-SQLite のインストール

SQLite用Perlモジュールの DBI-SQLite をインストールします。Perlがインストールされていることが前提です。

1.1 PPMによるインストール

MS-DOSプロンプトを開いて下記を実行します。下記は5.6.xの例です。

C:¥>ppm
PPM interactive shell (2.2.0) - type 'help' for available commands.
PPM> install DBD-SQLite
Install package 'DBD-SQLite?' (y/N): y
Installing package 'DBD-SQLite'...
Downloading http://ppm.activestate.com/PPMPackages/5.6/MSWin32-x86-multi-thread/DBD-SQLite-1.08.tar.gz ...
Installing C:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.bs
Installing C:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.dll
Installing C:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.exp
Installing C:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.lib
Installing C:¥usr¥html¥site¥lib¥DBD¥SQLite.html
Installing C:¥usr¥site¥lib¥DBD¥SQLite.pm
PPM> quit

1.2 上記がエラーになる場合

使用している Perl のバージョンによって

5.6.x
http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/
5.8.x
http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/

のいずれかのページを開いて、リストから DBD-SQLite-1.09.zip(5.6.xは1.08が最新の模様)を探し、クリックしてダウンロードします。バージョンは更新適宜されますので、"DBD-SQLite" で検索し、タイムスタンプの新しいバージョンを選ぶと良いでしょう。
ダウンロードしたアーカイブを解凍して DBD-SQLite.ppd があることを確認してください。

次にMS-DOSプロンプトを開き、さきほど解凍した DBD-SQLite.ppd があるフォルダまで移動して、

C:¥> cd DBD-SQLite-1.09_zip
C:¥DBD-SQLite-1.09_zip> ppm install DBD-SQLite.ppd

を実行します。成功すると下記のようなメッセージが表示されます。下記は5.8.xの例です。

====================
Install 'DBD-SQLite' version 1.09 in ActivePerl 5.8.6.811.
====================
Installing D:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.bs
Installing D:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.dll
Installing D:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.exp
Installing D:¥usr¥site¥lib¥auto¥DBD¥SQLite¥SQLite.lib
Installing D:¥usr¥html¥site¥lib¥DBD¥SQLite.html
Files found in blib¥arch: installing files in blib¥lib into architecture dependent library tree
Installing D:¥usr¥site¥lib¥DBD¥SQLite.pm
Successfully installed DBD-SQLite version 1.09 in ActivePerl 5.8.6.811.

メッセージが表示されるまで少し時間がかかるようなので慌てずに待ちましょう。

2.データベースの変換

2.1 Movable Type 新規インストールの場合

任意のエディタで mt-config.cgi(mt-config.cgi-original をリネームまたはコピーしたもの)を開き、

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
# ObjectDriver DBI::sqlite
# Database /path/to/sqlite/database/file

の部分を設定します。ObjectDriver は行頭の「#」を外します。Database という項目は、行頭の「#」を外し、項目名の後ろに、ルートからの絶対パスでデータベースファイル名までを指定します。
これから設定するデータベースが、

データベースファイルまでのパス:/hogehoge/MT-3.2/SQLite
データベースファイル名:mt

である場合、下記のように設定します。

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
ObjectDriver DBI::sqlite
Database /hogehoge/MT-3.2/SQLite/mt

データベースファイル名は任意の名称で結構です。またデータベースファイルまでのディレクトリは mt.cgi 実行前に予め作成しておいてください。また作成したディレクトリのパーミッションは、CGIスクリプトから書き込めるよう変更(755/777等)をしておきます。
CGIPath および StaticWebPath は説明を割愛しますので適宜設定してください。

これで mt.cgi を実行すればインストールが開始されます。正常に設定されていない場合は mt.cgi 実行後にエラーメッセージが表示されますので、内容を確認して修正・再実行してください。

2.2 Movable Type アップグレード(BerkeleyDB から SQLite へ移行)の場合

ここでは2つの方法を提示します。ひとつは、移行用スクリプト mt-db2sql.cgi を用いた正規の方法です。もうひとつは、mt-db2sql.cgi 実行では500エラーになる可能性があるので、Ogawa::Memoranda さんの mt-db-convert.cgi を利用する方法を紹介します。
個人的には後者の方法をお勧めします。

なお本項(および3項)の作業は、アップグレード前後のどちらの時点でも実施可能です。

2.2.1 mt-db2sql.cgi を使用する場合

任意のエディタで mt-config.cgi(mt-config.cgi-original をリネームまたはコピーしたもの)を開き、移行する前準備のために BerkeleyDB と SQLite の両方のパスを設定します。

BerkeleyDBのディレクトリ:db
SQLiteデータベースファイルまでのパス:/hogehoge/MT-3.2/SQLite
SQLiteデータベースファイル名:mt

とした場合、下記のように設定します。

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
ObjectDriver DBI::sqlite
Database /hogehoge/MT-3.2/SQLite/mt
#
#
### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
DataSource  ./db

SQLite のデータベースファイル名は任意の名称で結構です。またデータベースファイルまでのディレクトリは mt-db2sql.cgi 実行前に予め作成しておいてください。また作成したディレクトリのパーミッションは、CGIスクリプトから書き込めるよう変更(755/777等)をしておきます。

この後、ブラウザより mt-db2sql.cgi を実行します。
この実行について、自宅サーバで500エラーになる場合は下記のリストのように、MS-DOSプロンプトからの実行に変更してみてください。またその際、mt-config.cgi の Database に設定した場所にファイルが生成されていると思われますので、そのファイルを一旦削除することをお忘れなく。

C:¥> cd hogehoge¥MT-3.2
C:¥hogehoge¥MT-3.2> perl mt-db2sql.cgi
Content-Type: text/html
 
<pre>
 
Loading database schema...
 
Loading data...
MT::Author
    1
 
MT::Blog
    1
 
MT::Category
    1
    2
    3
  :
 (略)
  :
 
MT::Comment
    1
    2
    3
  :
 (略)
  :
 
MT::Entry
    1
    2
    3
  :
 (略)
  :
 
MT::IPBanList
 
MT::Log

実験した限りでは、ここまで表示されたあと応答が返ってこなくなり、しばらくこのまま放置。エクスプローラーを起動して、新しく作られたDBファイル(mt)のタイムスタンプが更新されないことを確認して Ctrl + c で強制終了させました(この後 Movable Type は正常に動作しました)。

移行が完了したら mt-config.cgi の BerkeleyDB の設定箇所を、

### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
# DataSource ./db

と、コメントアウト(行頭に「#」を付与します)して、mt.cgi を実行します。

2.2.2 mt-db-convert.cgi を使用する場合

下記のページより mt-db-convert.zip をダウンロードします。

Ogawa::Memorandamt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト

アーカイブを解凍すると mt-db-convert.cgi がありますので、CGIPath(mt.cgi があるディレクトリ)にアップロードします。ブラウザより mt-config.cgi を起動します。

起動画面で下記の項目をそれぞれ設定します。

Source DB Configuration
DataSource:BerkeleyDB のパス(mt.cgi または mt.config.cgi の設定を使って自動的に入力されます。このパスは絶対パスになっていることが推奨事項になっています)
ObjectDriver:BerkeleyDB
Destination DB Configuration
ObjectDriver:SQLite
DataBase:SQLite のパス(2.1項の 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 /hogehoge/MT-3.2/db
ObjectDriver DBI::sqlite
Database /hogehoge/MT-3.2/SQLite/mt
-------------------------------------

が表示されます。設定内容(青色)は mt-config.cgi の

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
ObjectDriver DBI::sqlite
Database /hogehoge/MT-3.2/SQLite/mt
#
#
### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
# DataSource /hogehoge/MT-3.2/db

の青色部分に該当しますので、それぞれコピー&ペーストします(BerkeleyDB の設定をコメントアウトするのもお忘れなく)。
あとは mt.cgi を実行すればOKです。

下記のエントリーも参考になります。


以上です。

関連記事
トラックバックURL


トラックバック

MovableType3.2のデータベースをSQLiteへ移行しました from アフィリエイトを続ける力
前のエントリーではBerkeleyDBからSQLiteへ移行するのを失敗しましたが、「小粋空間」さん... [続きを読む]

Tracked on October 12, 2005 6:01 PM

Movable Type 3.2へバージョンアップ。 from +++ e d o m i - r u u .
最近、コメントスパムとトラックバックスパムが1日に100件弱届くようになったため... [続きを読む]

Tracked on October 12, 2005 8:11 PM

MovableType3.2ja-2へ、そしてSQLiteへ from やむやむ
ここ で いったんアップグレードしてみたものの、あれこれ都合の悪いことが起きて ... [続きを読む]

Tracked on October 13, 2005 1:02 PM

データベース移行完了。 from schelmish ARASHI
下のエントリ後、ドキドキしつつ作業に入ったところ 20分足らずであっさり移行出来... [続きを読む]

Tracked on January 27, 2006 10:37 AM

データベース移行完了。 from schelmish ARASHI
下のエントリ後、ドキドキしつつ作業に入ったところ 20分足らずであっさり移行出来... [続きを読む]

Tracked on January 27, 2006 11:24 AM

お引っ越し & SQLite移行 from Cococcino days*
もしかしたらお引っ越しするかも??って、しちゃいました、お・引・っ・越・し(笑)... [続きを読む]

Tracked on January 31, 2006 1:04 AM

SQLite ヘ移行 from Being * chris
MT3.2バージョン以降は、BerkeleyDBだと、 再構築で500エラーにな... [続きを読む]

Tracked on February 9, 2006 11:11 AM

ついにやっちゃいました! from オラオラ
最近再構築時に以上に時間がかかったり、エラーが出たりするのが気になっていました... [続きを読む]

Tracked on April 30, 2006 10:27 PM

Movable Type の再構築で500エラーがっ!! from ウェブ制作の rir
サイト全体をMTにするべく、3.2を入手してカスタマイズしていますが、どうやらいろいろ付け加えすぎた... [続きを読む]

Tracked on May 1, 2006 4:19 AM

BerkeleyDB から SQLite へ移行 from :: ralu's*cafe ::
Movable Type 3.2-ja-2にバージョンアップしたことにより再構築... [続きを読む]

Tracked on May 23, 2006 10:17 PM

BerkeleyDB からSQLiteへ移行 from 明るい鬱病人間のふらふら雑記帖
こちらを参考にさせていただき、再構築エラーが出なくなりました。大変に参考になりました。ありがとうございます。他にもカスタマイズ方法など、いろいろと勉強させ... [続きを読む]

Tracked on May 27, 2006 7:22 PM

SQLite導入・データ移行。 from Melodies of Pianoman
再構築を行うと、遅い上に「500 Internal Server Error」と... [続きを読む]

Tracked on June 17, 2006 2:29 PM

エントリーの再構築でのエラーを解消!! from loopshoot.com
数日前より、エントリー保存時に500エラーになる状態が続いていました。 エラー... [続きを読む]

Tracked on June 18, 2006 2:43 PM

MovableTypeデータベース移行 from green330
MovableTypeのデータベースをBerkeleyDBからSQLiteに移行... [続きを読む]

Tracked on August 2, 2006 1:59 AM

いろいろ弄ってみた from ?Memories of Life?
ブログのレイアウトをいろいろ弄ってみました。3カラム可変だったのを3カラム固定に... [続きを読む]

Tracked on September 11, 2006 1:20 AM

再構築エラー対策 from Ricordo
以前から再構築エラーには、悩まされていました。 今回のSQLiteへの移行で劇的に早く [続きを読む]

Tracked on October 22, 2006 5:32 PM
コメント

こんにちはー。
修正版が出たので、アップグレードに再チャレンジしました。
そして、DBを SQLite に 変換、いろんな意味で グレードアップになりました。

[1] Posted by さえら : October 13, 2005 1:06 PM

>さえらさん
こんばんはー。
今度は無事にアップグレード&SQLite化できたようですね。おめでとうございます!
トラックバックもありがとうございました。

[2] Posted by yujiro : October 13, 2005 7:43 PM

yujiroさん、こんにちは。
昨日ものすごく自分のブログが重くて、表示されるまでに30秒近くかかってたんですよ。
で、SQLite化にチャレンジしてみたんですが、SQLite化することによって、どこかに変化が現れているんですかね?正直さっぱりわからないのですよ。・・・ちゃんとできているかどうか、わかる方法というのはありますか?

[3] Posted by るびー : November 9, 2005 5:00 PM

yujiroさん、再びこんにちは。
↑に質問したことですが、The blog of H.Fujimotoの壱さんに、ご回答いただけました(^^;)
なので、一応解決いたしました。
これから一頑張りです。すみませんでした。

[4] Posted by るびー : November 9, 2005 5:51 PM

>るびーさん
こんばんは。
ということで、Another HTML-lint gateway をお勧めします。

[5] Posted by yujiro : November 10, 2005 12:11 AM

yujiroさん、こんにちは。
いつもテンプレ&カスタマイズでお世話になっております。実は、昨年秋にお引越ししたばかりなんですが、また引越ししてしまいまして(汗)それにともない、新たにSQLite化でこちらを利用させていただきました。無事大成功でストレスがなくなりました(笑)どうもありがとうございました?。

(旧)http://cococcino.sakura.ne.jp/
       ↓
(新)http://www.cococcino.net/

です。今後ともどうぞよろしくお願いいたします?。

[6] Posted by うるる : February 2, 2006 12:03 PM

>うるるさん
こんばんは。
SQLite化、お疲れ様でした。
またURL変更のご連絡ありがとうございました。
UserListの方は先ほど変更しておきました。
ではでは!

[7] Posted by yujiro : February 3, 2006 1:03 AM

おかげさまで、SQLiteへの移行を完了出来ました。ありがとうございました。
更新でかならずエラーが出ていたのが解消されました。
ところでもとの BerkeleyDB のデータベースのファイルは削除しちゃっていいんですよね?

# DataSource /hogehoge/MT-3.2/db
のディレクトリがそれですよね?

[8] Posted by seis : February 20, 2006 8:52 PM

>seisさん
こんばんは。
記事参照ありがとうございました。
うまくできたようでなによりです。

ご質問の件は、BerkeleyDB のディレクトリが SQLite と同じディレクトリを使っていなければ削除しても大丈夫です。
仰る通り、

# DataSource /hogehoge/MT-3.2/db

が該当するディレクトリとなります。

[9] Posted by yujiro : February 21, 2006 7:24 PM

おはようございます。
昨日まではなんともなく普通にアクセスできてたんですけど、
今朝アクセスしようとしたら mt.cgi が 500エラーになって
アクセスできません。mt.cgi だけじゃなくて、mt-comments.cgi なんかも全部です。
ディレクトリや CGI のパーミッションは昨日から全くいじってないのですが
一応確認してみましたら、問題なさそうです。
mt.cgi を 最アップしてみましたが 状況は変わりません。
同じようなことで困ってる人がいないか検索してみたところ
コメントスパムがたくさんき過ぎると 急にアクセスできなくなることがあるようですが
なにしろ 管理画面に入ることもできないので、スパムコメントを削除することもできません。
どうしたらいいでしょう・・・なにか案がありましたら ご助言いただけたらと思います。

[10] Posted by さえら : April 2, 2006 9:48 AM

>さえらさん
こんばんは。
う?ん…今のところ解決方法が思いつきません。
時間をおいて再実行、でしょうか。
お役に立てずすいません。
Apache(Webサーバ)のエラーログが見れると原因が分かるかもしれませんが、レンタルサーバでは見れないんですよね。

[11] Posted by yujiro : April 3, 2006 12:29 AM

おはようございます。昨日は諦めて放置してたんですけど
今朝アクセスしてみたら、普通に開きました。原因はなんだったんでしょうね。
どうもお騒がせしました。再起不能かと焦りました。
・・・・・て困るほど最近は更新もしてないんですけど、それでもやっぱり
どうなることかと思いました。早いうちに直ってよかったです。

[12] Posted by さえら : April 3, 2006 5:40 AM

>さえらさん
こんばんは。
無事になおって良かったです。
バックアップ等はまめにとっておいた方がよさそうですね。

[13] Posted by yujiro : April 4, 2006 12:18 AM

このエントリーを参考にさせていただいて、SQLiteに変更が出来ました。大変に助かりました。ありがとうございます。aran.

[14] Posted by aran : May 14, 2006 6:39 PM

>aranさん
こんばんは。
記事参照&コメントありがとうございます。
お役に立てたようでよかったです。
ではでは!

[15] Posted by yujiro : May 14, 2006 11:49 PM

いろんなところでお世話になってます。

今回、私の方でも500エラーが出たもので、こちらのSQLiteを使わせてもらおうと奮闘してみました。そしたら以前の記事が消えてしまいました(T_T)バックアップが必要だったんですね。
それでも、アドレスからページに行くと、前のまま残ってます。ということはどこかサーバーの中に記事が残ってるのではないかと淡い期待なんぞを抱いているのですが、なにかバックアップをとる方法などありましたら教えて下さいまし!
記事はいいんですよ。ただ、コピペすればいいので。ただ頂いたコメントやトラックバックを出来たら残したいのです。どうにかならないものでしょうか?
以前の不具合のこと同様、よろしくお願いします。
いつも込み入った質問ばかりですみません(>_いろんなところでお世話になってます。

今回、私の方でも500エラーが出たもので、こちらのSQLiteを使わせてもらおうと奮闘してみました。そしたら以前の記事が消えてしまいました(T_T)バックアップが必要だったんですね。
それでも、アドレスからページに行くと、前のまま残ってます。ということはどこかサーバーの中に記事が残ってるのではないかと淡い期待なんぞを抱いているのですが、なにかバックアップをとる方法などありましたら教えて下さいまし!
記事はいいんですよ。ただ、コピペすればいいので。ただ頂いたコメントやトラックバックを出来たら残したいのです。どうにかならないものでしょうか?
以前の不具合のこと同様、よろしくお願いします。
いつも込み入った質問ばかりですみません(>_<。

[16] Posted by chimi : May 15, 2006 2:40 AM

>chimiさん
こんにちは。
ご質問の件ですが、ページを再構築していなければ以前の情報はHTML上には残っています。
ただしそれをデータとして取り込むのは極めて困難です。

BerkeleyDBのデータ(つまりフォルダ)を消去していないのであれば、mt-config.cgi の設定をBerkeleyDBに戻してみてはいかがでしょうか。
私が SQLite を実験していた時は mt-config.cgi のDB設定を切り替えて試していました。
BerkeleyDBのデータが参照できればバックアップも取得できます。

大丈夫とは思いますがデータの正常性を保証するものではありませんので、ご注意ください。
またBerkeleyDBのデータを誤って消去しても大丈夫なようにBerkeleyDBをフォルダごとどこかにバックアップしておくことを強く推奨します。
それではよろしくお願い致します。

[17] Posted by yujiro : May 15, 2006 10:33 AM

yujiroさん、こんばんわ。

早速のお返事ありがとうございました。
お陰でなんとか取り込みに成功しました!

SQLiteに変更できてるかどうかは謎ですが再度再構築できるようになったのでたぶん大丈夫?です。またなにかありましたらお邪魔させていただきます。

後は、こちらのテンプレートをお借りさせていただいて完成です(^-^)
事後承諾ですみませんが、よろしくお願いします。ありがとうございました!

[18] Posted by chimi : May 15, 2006 10:44 PM

>chimiさん
こんにちは。
ご連絡ありがとうございました。
無事に取り込めたようでよかったです。
あと勝手ながらBlogPeopleに登録させて頂きました。
ではでは!

[19] Posted by yujiro : May 16, 2006 9:44 AM

お久しぶりです??こんばんは。
DBからSQLiteに無事移行できました。
以前からデータベースを移行したいと思っていたんですけどなかなか踏ん切りがつかず、今回再構築がまったくできなくなってようやく重い腰を上げました(笑)
いつもいつもお世話になりありがとうございます。

[20] Posted by ralu : May 23, 2006 10:30 PM

>raluさん
こんにちはー。
ご無沙汰してます。
ご連絡&トラックバックありがとうございました。
無事に移行できたようでなによりです。
なにかきっかけがないと踏み切れないものですよね(笑)。
ではでは!

[21] Posted by yujiro : May 24, 2006 11:33 AM

こんばんわ。
質問させてください。
SQLiteを導入しようと思って参考にさせていただきました。
えーとですね。2?1で「SQLiteデータベースファイルまでのパス:/hogehoge/MT-3.2/SQLite
SQLiteデータベースファイル名:mt 」とあるんですけども・・・

MTディレクトリのファイルの中に、SQLiteというディレクトリを作って中に、適当な名前のファイルを作成するんですか?
すみません(´・(●●)・)(o´_ _)oペコリ

間違って。。。いるかと思うんですけども
MTディレクトリの中に「sqlite.db」というファイルを作ってしまったんです。。。
それで、小川さんのサイトさんで
「2.2.2 mt-db-convert.cgi を使用する場合」を参考にさせていただきました。

mt-config.cgi を書き換えてアップロードをしたんですけども・・・変化はありません。。。
エントリー投稿はしていなんですけども。

間違っていると思うので・・・
アドバイスお願いいたします。
(´・(●●)・)(o´_ _)oペコリ

[22] Posted by fei : June 12, 2006 10:35 PM

もう、一度考えてやってみたんですけども・・・

Got an error: データベース接続の設定に誤りがあります。設定を確認してください。
というエラーです。。。

下のが[mt-config.cgi]の書き換えの部分なんですけども・・・

### SQLite Configuration - SQLite requires only the path to your SQLite # database file. # # ObjectDriver DBI::sqlite Database /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db/sqlite.db # # ### BerkeleyDB Configuration - BerekelyDB requires only the path to your # database directory. # # DataSource /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db #

mt.cgiへアクセスしたら、エラー(↑)が出たんです・・・・゜・(PД`q。)・゜・
なにかがおかしいんですね。。。

上の質問で
>MTディレクトリの中に「sqlite.db」というファイルを作ってしまったんです。

とありましたが、dbディレクトリの中にsqlite.dbという名前のファイルを作りました。
それで、修正をしたらエラーです。(´;ェ;`)ウゥ・・・

[23] Posted by fei : June 13, 2006 3:01 PM

>feiさん
こんばんは。
ご質問の件ですが、sqlite.db というファイルを作る必要はありません(Movable Type が自動的に作ります)。作る必要があるのは、そのひとつ上のディレクトリ(ここでは db)までです。

また mt-config.cgi の

# ObjectDriver DBI::sqlite

ObjectDriver DBI::sqlite

としてください。
それではよろしくお願い致します。

[24] Posted by yujiro : June 13, 2006 8:03 PM

ありがとうございます。
sqlite.dbファイルは削除しました。
上のように修正したんですけども・・・

Got an error: データベース接続の設定に誤りがあります: エラーが発生しました: unable to open database file(1) at dbdimp.c line 94

という表示が。。。

[mt-config.cgi]

### SQLite Configuration - SQLite requires only the path to your SQLite # database file. # ObjectDriver DBI::sqlite Database /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db/ # # ### BerkeleyDB Configuration - BerekelyDB requires only the path to your # database directory. # # DataSource /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db # #

書き直した部分です。
またエラーで。。。(´;ェ;`)ウゥ・・・

[25] Posted by fei : June 13, 2006 9:38 PM

>feiさん
こんにちは。
私の説明を誤解されているようですので、mt-config.cgi の該当部分を下記のように修正してください。

### SQLite Configuration - SQLite requires only the path to your SQLite # database file. # ObjectDriver DBI::sqlite Database /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db/sqlite.db # #

それではよろしくお願い致します。

[26] Posted by yujiro : June 14, 2006 12:53 PM

ありがとうございました。
MT3.1からMT3.2にバージョンアップした時にでていたサーバーエラーが、BerkeleyDBからSQLiteに移行することでなおりました。
本当にありがとうございました。

[27] Posted by nomura : June 14, 2006 2:13 PM

ありがとうございました。
無事成功です!!!!

それで、mt.cgiを実行したところ・・・

ブログを始める前に、データベースを初期化してインストール作業を完了する必要があります。

というメッセージがありました。
OKでいいんですか?
以前の記事がなくなる場合もありますか?

お手数をおけいたします。。。
(o*。_。)oペコッ

[28] Posted by fei : June 14, 2006 4:15 PM

>feiさん
こんにちは。
ご質問の件ですが、mt-db-convert.cgi の実行は完了していますでしょうか。もし完了していないようでしたら一旦作業を中断してください。
私の回答は、単に新規インストールで SQLite を利用する場合の mt-config.cgi の設定方法しか説明しておりません。

他のDB(BerkeleyDB)から SQLite に移行する場合の手順を改めて申し上げますと、

1.mt-db-convert.cgi を起動
mt-db-convert.cgi を起動する前に、mt-config.cgi を以前(BerkeleyDB利用)の設定に戻す必要があります。
起動後に表示された画面の設定内容は、本エントリーの説明を参考に設定してください。

2.mt-config.cgi の修正
前の作業が完了したら、mt-config.cgi の内容を私の回答(June 14, 2006 12:53 PM)の通りに修正してください。厳密に言うと、2.2.2(このコメントの1項)の Destination DB Configuration の DataBase と同じ内容を転記してください。

3.mt.cgi の実行
mt-cgi の起動でいつものログイン画面が表示されれば成功です。

MT Database Converter/jaの「使用方法」も参考にしてください。
それではよろしくお願い致します。

[29] Posted by yujiro : June 15, 2006 10:59 AM

そうでしたか。。。
で、改めてまたやってみたんですけども!

できたような。。。
3.mt.cgi の実行
mt-cgi の起動でいつものログイン画面が表示されれば成功です。

↑のようになっていました。
わぁ━━ヽ(。^∀^。)ノ━━ぃ!!
でも、できたのか。。なにでわかりますか?
いちおう、mt-db-convert.cgiで実行したときに、

Done copying data from DBM to DBI::sqlite! All went well. Your recommended setting ===================================== # DataSource /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db ObjectDriver DBI::sqlite Database //home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/sqlite/sqlite.db =====================================

という表示がでました。

mt-config.cgiの内容です。

### SQLite Configuration - SQLite requires only the path to your SQLite # database file. # ObjectDriver DBI::sqlite Database //home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/sqlite/sqlite.db # # ### BerkeleyDB Configuration - BerekelyDB requires only the path to your # database directory. # # DataSource /home/sites/lolipop.jp/users/ciao.jp-pig-family/web/cgi/mt/db

↑の内容で大丈夫でしょうか???

ログインはできたんですけど。。。まずはエントリーを作成してみます。

[30] Posted by fei : June 15, 2006 12:27 PM

新規投稿できました!
これで成功ですか?!
本当ぉーお世話になりっぱなしで。。。ありがとうございました!

[31] Posted by fei : June 15, 2006 12:56 PM

>feiさん
こんにちは。
ご連絡ありがとうございました。
無事に成功したようで良かったです。
ではでは!

[32] Posted by yujiro : June 16, 2006 10:22 AM


いつも大変お世話になっています。せなっち♪です。

またチョット質問があるのですが…。
当方はコチラのテンプレートをロリポップにて、MT3.2J+PHP
化+MySQLにて利用させて頂いて、ブログ運営を行っていました。
しかし例外に漏れず、再構築時に「500エラー」が勃発する
ようになりました。
当初は再構築だけの問題だと思って、我慢していたのですが
コメントの投稿時にも、同様のエラーになることに気がつき
まして…。
せっかくの投稿が読むことなく、消えてしまうのは悲しいので
コチラで紹介して頂いている、コンバートツールを利用して
SQLiteに乗り換えを行ないました。
思っていた以上にアッサリと、移行できてもっと早く決断して
おけばと後悔したほどです。ありがとうございます。

そして長くなりましたが、ここから質問なのですが…。
DBを乗り換えてから、サイドバーのコメントリストの表示が
おかしいのです。
エントリ名の一段下の階層にコメントがぶら下がっています
よね。以前は最新のコメントを含むエントリが先頭にリスト
されていたのですがエントリに対する最初のコメントの日時で
並んでいるようなのです。
コメントを昇順にしても降順にしても変わりありません。
過去ページの記事にコメントいただいても、管理画面を見れ
ない一般閲覧者には、判り辛い状態になっています。

以前のような動きに戻したいのですが、DBの移行手順に不手際
があったのでしょうか?

お手を煩わせて申し訳ありませんが、ご教授頂ければ幸いです。
宜しくお願い致します。

[33] Posted by せなっち♪ : July 21, 2006 12:30 PM

>せなっち♪さん
こんばんは。
ご質問の件につきまして、コメントリストのタグをDB変更の前後で内容を変更されているかどうか不明ですが、ご希望の内容にする場合は、「MTCollate を使って「最近のコメント」を表示する」を利用するか、The blog of H.Fujimoto さんの「最近のコメント/トラックバックをエントリーとともに表示するプラグイン(改良版)」をご利用ください。
いずれも 3.31-ja では動作未確認ですので予めご了承ください。

なお、当サイトの公開テンプレートでは 3.3 用については再構築時のパフォーマンスの問題でコメントリストの振る舞いを変更しています。
それではよろしくお願い致します。

[34] Posted by yujiro : July 24, 2006 12:06 AM


早速の回答をありがとうございました。
「MTCollate を使って…」の方法を取り入れて、過去のエントリも
コメントを受けたら、先頭にリストアップされるようになりました。
ありがとうございます。

この手法だと「最近のコメント」だけがリスト表示されていい感じ
ですね。おそらく過去10日間が、「最近」という解釈だと思いますが
この最近の定義を簡単に変えるコトは可能でしょうか?

[35] Posted by せなっち♪ : July 24, 2006 10:36 AM

>せなっち♪さん
こんばんは。
ご連絡ありがとうございます。
無事に表示されたようでよかったです。

ご質問の件について確認ですが、「10→20にする」という、数値の変更方法ではなく、「10件→10日」という具合に、数字の性質を変更する方法についてでしょうか。
ちなみにサンプルリストは「最近のコメント10件」という設定になっています。

それではよろしくお願い致します。

[36] Posted by yujiro : July 24, 2006 11:48 PM

スミマセン、こちらの勘違いでした。
パラメタを20にして再構築したら、丁度10日前まで表示されてたので、思いっきり勘違いしていました。(;^_^A

お手数お掛けしました。
まだまだ参考にしたいことが、たくさんありますので、また壁にぶちあたったら質問させて下さいね。

ありがとうございました。m(_._)m

[37] Posted by せなっち♪ : July 25, 2006 5:39 PM

>せなっち♪さん
こんばんは。
ご連絡ありがとうございました。
またなにかございましたらご連絡ください。
ではでは!

[38] Posted by yujiro : July 25, 2006 11:17 PM

いつも教えていただき、ありがとうございます。

apache でいろいろやってみたく準備しています。サーバーの環境も整い、perl も準備できたのですが、

5.8.x  の http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/ 

にアクセスしてもどういうわけかサイトが開きません。

しかたなくCPAN からver1.12 をダウンロードしてみたのですが、 解凍ファイルのなかに  DBD-SQLite.ppd  が見あたりません。

お知恵をお借りできないでしょうか。よろしくお願いします。

[39] Posted by oyaji : August 26, 2006 5:20 AM

>oyajiさん
こんにちは。
このサイトは時々つながらないことがあります。
現在はアクセスできるようですので時間を空けて何回か試してみてください。
それではよろしくお願い致します。

[40] Posted by yujiro : August 26, 2006 10:44 AM

ありがとうございました。じっと待っていたら入ることができました。

最新ver の DBD-SQLite2-0.33.zip を解凍しようとしたら、なにかのファイルが足りないといってきました。(メモしておけばよかったのですが)

DBD-SQLite-1.09.zip でやるとうまくいきました。

[41] Posted by oyaji : August 26, 2006 1:36 PM

>oyajiさん
こんにちは。
ご連絡ありがとうございました。
アクセスできたようでよかったです。
ではでは!

[42] Posted by yujiro : August 26, 2006 2:22 PM

いつもお世話になっています。つい先ごろからまた、再構築エラーが多発しておりこのエントリーを参考に本日、SQLiteに移行致しました。
それにあわせて先ほどトラックバックさせて頂いたのであわせて宜しくお願いします。
確かにSQLiteに変更してエラーもなくなり構築時間が劇的に早くなりました。
ほんと効果あり値打ちがありますね
そこで、SQLiteのバックアップ方法なのですが単純にSQLiteデーターをバックアップするだけで良いのでしょうか? 
また、Blog全体のバックアップ方法についてはどのような方法が完全なものなのでしょうか? また、アドバイスの程宜しくお願いします。

[43] Posted by pnser : October 22, 2006 11:39 PM

>panserさん
こんにちは。
SQLite のバックアップは、仰る通り SQLite のデータファイルだけをバックアップ保存してください。
ブログ全体のバックアップにつきましては、検討して改めてエントリーしたいと思います。
それではよろしくお願い致します。

[44] Posted by yujiro : October 23, 2006 1:10 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)