- 2008-12-29 (月) 19:56
- Mumble 1.1 | VoIP
Ventrilo の解説がまだ書き終ってないのに今度は mumble 弄って遊んでます。
mumble の問題点として、チャンネルに鍵をつけることができないことがあります。
ACL (アクセスコントロール) という機能で、ユーザグループごとにチャンネルへのアクセスを制限する仕様です。
ただ、問題なのがユーザグループにユーザを入るためには、そのユーザのユーザ名とパスワードをmurmur (mumbleのサーバ)のデータベースに登録しないと駄目なんです。
このデータベースへの登録というのは、サーバ管理者がサーバ PC に直接入力する他に、DBus や ZeroC ICE というツールを使う方法にも対応しているようですが、これらは、サーバに組み込んで使用するタイプのものなので管理権限ないと設置できません。
ユーザに自分で登録をしてもらえるような環境を作るには、DBus 、ZeroC ICE のどちらを使うにしても、自前でWEB サーバ建てないとダメっぽいです。
個人的には、フリーサーバ上でユーザ登録の仕組みがほしいなぁって思っているのでこれは使えない感じです。
他に方法はないのかと探してみたところ、ユーザ情報のデータベースを外部から操作できるようにすることでなんとか対応できそうです。
mumble は、デフォルトだと、専用のデータベースサーバを必要としないSQLite という データベースに保存する仕様なので、これを外部から操作することはできません。SQLite はデータベースっていってもただの1つのファイルです。
デフォルトの SQLite 以外にも、MySQL や、PostgreSQL と言ったデータベースもデータの保存先に選べるのでこれを使うことにしてみました。
murmur の設定ファイルである murmur.ini に書いてあります。
# 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. # #dbDriver=QMYSQL #dbUsername= #dbPassword= #dbHost= #dbPort=SQLite 以外のデータベース使いたけりゃここ設定しろと書いてあります。
というわけで、MySQL 落としてきて設定してみました(ぁ
PostgreSQL でも良かったんですが、その場合はなかドライバの設定が必要みたいで、面倒なのでMySQL です。
# 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. # dbDriver=QMYSQL dbUsername=murmur dbPassword=himitu dbHost=localhost dbPort=3306 database=murmurこんな感じで設定。
MySQLの方は、ポートを3066、ユーザ「murmur」を追加、murmur という空のスキーマを作成、ユーザ「murmur」にテーブルの作成などの基本的な権限を設定しただけです。
最後の行に、データベース名入れるのがコツです。コメントアウトしてあるやつだけ設定すればMySQLで使えるのかと思いきや、普通に database キー の設定も必要だという罠です。
このdatabase キー、デフォルトはNULL値で初期化されているので、このキーの値設定しないと絶対にデータベースに繋がりません。database キー設定しないで起動すると。「No database selected QMYSQL3: Unable to prepare statement」ってエラー出てアボーン。しかも、この説明は公式サイトにまったく書かれていないという鬼仕様。
SQL系詳しくないから、かなり悩んだんですが結局 murmur のソースコード読んで解決しました。こいうときオープンソースって便利ですね(ぁ
とりあえず、エラーメッセージなく murmur が起動したら空で作成したスキーマの中に必要なテーブルが作成されているはずです。
その後は、SQLite の時と同じような操作で murmur が運用できます。
このあと、レンタルサーバ上のページから MySQL を操作してユーザの追加削除等を行うスクリプトを作って貸し出そうかと思ってます
まぁ、スクリプト書くのが面倒なのでだいぶ後の話になりますが・・・
スポンサード リンク
- Newer: A.V.A. 向けの Skype の設定
- Older: ventriloサーバ