FreeBSD8.2でmumbleサーバを利用しようとしたらエラーで怒られた

FreeBSD8.2でmumbleサーバを利用しようとしたらエラーで怒られた。

 shell> sudo /usr/local/etc/rc.d/murmur start
 Starting murmur.
 2011-07-26 22:01:50.741 Initializing settings from /usr/local/etc/murmur.ini (basepath /usr/local/etc)
 2011-07-26 22:01:50.799 Binding to address 0.0.0.0
 2011-07-26 22:01:50.815 OpenSSL: OpenSSL 0.9.8q 2 Dec 2010
 2011-07-26 22:01:50.880 SSL: Adding recommended CA UTN-USERFirst-Client Authentication and Email
 2011-07-26 22:01:50.943 ServerDB: Database driver QMYSQL not available
 

configの中でMySQLをユーザとかのデータベースとして利用するような設定になってた。

ここでエラーメッセージにある、”QMYSQL”が見つかりませんよ、とのことだったけど、そんなパッケージは見つからず困り果てた。

しばらくこのまま放置しておいたんだけれども、再度必要に迫られてもう一度いろいろとググってみた。

するとQMYSQLっていうのはqtのプラグインだ、ってことが判明。portsでの名前は

 databases/qt4-mysql-plugin A plugin for QT to connect to MySQL-Databases
 

ということらしい。早速これを入れて動作させてみる。

shell> sudo portinstall -c databases/qt4-mysql-plugin

... 中略 ...

shell> sudo /usr/local/etc/rc.d/murmur start
Starting murmur.
<W>2011-08-09 13:49:52.382 Initializing settings from /usr/local/etc/murmur.ini (basepath /usr/local/etc)
<W>2011-08-09 13:49:52.382 Binding to address 0.0.0.0
<W>2011-08-09 13:49:52.382 OpenSSL: OpenSSL 0.9.8q 2 Dec 2010
<W>2011-08-09 13:49:52.388 SSL: Adding recommended CA UTN-USERFirst-Client Authentication and Email
<F>2011-08-09 13:49:52.405 SQL Prepare Error [CREATE TABLE IF NOT EXISTS `murmur_meta`(`keystring` varchar(255) PRIMARY KEY, `value` varchar(255)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin]: No database selected QMYSQL3: Unable to prepare statement

今度は別のエラーで怒られてしまった。どうやらデータベースの選択がされてないらしい。

デフォルトでくっついてきたコンフィグを見てもそれらしき項目は見当たらない。

そもそもこのバージョンのmurmurをlinux (ubuntu)で利用したときにはユーザ名=DB名となっていた。そのまま移行というか併用するつもりだったのでこの辺の設定はlinuxのmurmurdと同じものにしていたのだがどうやらFreeBSD版のmurmurdは設定をしてくれないらしい。

さっくりググってみると公式フォーラム? IRC?で質問をしている人がいるがそれらしき答えにはたどり着けない。

と思ったら日本人の方で答えを持っている人を発見。

最後の行に、データベース名入れるのがコツです。コメントアウトしてあるやつだけ設定すればMySQLで使えるのかと思いきや、普通に database キー の設定も必要だという罠です。

このdatabase キー、デフォルトはNULL値で初期化されているので、このキーの値設定しないと絶対にデータベースに繋がりません。database キー設定しないで起動すると。「No database selected QMYSQL3: Unable to prepare statement」ってエラー出てアボーン。しかも、この説明は公式サイトにまったく書かれていないという鬼仕様。
mumble mumble – 死者のページ

この設定を記述して再度試す。

# If you wish to use something other than SQLite, you'll need to set the name
# of the database above, and also uncomment the below.
# Sticking with SQLite is strongly recommended, as it's the most well tested
# and by far the fastest solution.
#
dbDriver=QMYSQL
dbUsername=mumbleuser
dbPassword=password
dbHost=db.l2tp.org
dbPort=3306
dbPrefix=murmur_
database=mumbleuser
dbOpts=

ココまで書いて、以前このdatabaseっていう値は書き込んだ気がしてきた・・・。

で、ちゃんといけた!!!

コメントを残す