FreeBSDでMumbleのサーバを立てて管理用のパッケージをいれる

FreeBSDでMumbleサーバ(murmur)をインストール。

在りし日に入れた場合だとportsにはなかったんだけど、最近はあるらしい。どうやらあの後ちょっとしたら追加された模様。

% sudo portinstall audio/murmur

設定ファイルは/usr/local/etc/murmur.iniにある。

murmurサーバは管理用画面にiceっていうプロトコルを利用したweb toolがある。これをインストール。

今回採用したのは一番有名そうなMumbe PHP Interface

ここからソースを拾ってきて適当な公開ディレクトリにぶち込む。

初回は設定ファイルを書き出すらしく、そのディレクトリを777にでもしてやる。

iceがないって怒られた。

% sudo portinstall devel/php5-ice

これでiceが入る。でも動かない。

murmur.iceっていうファイルにmurmur鯖とのやりとりの仕方が書いてあるはずなのに存在しないらしい。

%locate ice

/usr/local/lib/php/20060613/slice/Ice
/usr/local/lib/php/20060613/slice/Ice/BuiltinSequences.ice
/usr/local/lib/php/20060613/slice/Ice/Communicator.ice
/usr/local/lib/php/20060613/slice/Ice/CommunicatorF.ice
/usr/local/lib/php/20060613/slice/Ice/Connection.ice
/usr/local/lib/php/20060613/slice/Ice/ConnectionF.ice
/usr/local/lib/php/20060613/slice/Ice/Current.ice
/usr/local/lib/php/20060613/slice/Ice/Endpoint.ice
/usr/local/lib/php/20060613/slice/Ice/FacetMap.ice
/usr/local/lib/php/20060613/slice/Ice/Identity.ice
/usr/local/lib/php/20060613/slice/Ice/ImplicitContext.ice
/usr/local/lib/php/20060613/slice/Ice/ImplicitContextF.ice
/usr/local/lib/php/20060613/slice/Ice/LocalException.ice
/usr/local/lib/php/20060613/slice/Ice/Locator.ice
/usr/local/lib/php/20060613/slice/Ice/LocatorF.ice
/usr/local/lib/php/20060613/slice/Ice/Logger.ice
/usr/local/lib/php/20060613/slice/Ice/LoggerF.ice
/usr/local/lib/php/20060613/slice/Ice/ObjectAdapter.ice
/usr/local/lib/php/20060613/slice/Ice/ObjectAdapterF.ice
/usr/local/lib/php/20060613/slice/Ice/ObjectFactory.ice
/usr/local/lib/php/20060613/slice/Ice/ObjectFactoryF.ice
/usr/local/lib/php/20060613/slice/Ice/Plugin.ice
/usr/local/lib/php/20060613/slice/Ice/PluginF.ice
/usr/local/lib/php/20060613/slice/Ice/Process.ice
/usr/local/lib/php/20060613/slice/Ice/ProcessF.ice
/usr/local/lib/php/20060613/slice/Ice/Properties.ice
/usr/local/lib/php/20060613/slice/Ice/PropertiesF.ice
/usr/local/lib/php/20060613/slice/Ice/Router.ice
/usr/local/lib/php/20060613/slice/Ice/RouterF.ice
/usr/local/lib/php/20060613/slice/Ice/ServantLocator.ice
/usr/local/lib/php/20060613/slice/Ice/ServantLocatorF.ice
/usr/local/lib/php/20060613/slice/Ice/SliceChecksumDict.ice
/usr/local/lib/php/20060613/slice/Ice/Stats.ice
/usr/local/lib/php/20060613/slice/Ice/StatsF.ice
/usr/local/lib/php/20060613/slice/IceBox
/usr/local/lib/php/20060613/slice/IceBox/IceBox.ice
/usr/local/lib/php/20060613/slice/IceGrid
/usr/local/lib/php/20060613/slice/IceGrid/Admin.ice
/usr/local/lib/php/20060613/slice/IceGrid/Descriptor.ice
/usr/local/lib/php/20060613/slice/IceGrid/Exception.ice
/usr/local/lib/php/20060613/slice/IceGrid/FileParser.ice
/usr/local/lib/php/20060613/slice/IceGrid/Locator.ice
/usr/local/lib/php/20060613/slice/IceGrid/Observer.ice
/usr/local/lib/php/20060613/slice/IceGrid/Query.ice
/usr/local/lib/php/20060613/slice/IceGrid/Registry.ice
/usr/local/lib/php/20060613/slice/IceGrid/Session.ice
/usr/local/lib/php/20060613/slice/IceGrid/UserAccountMapper.ice
/usr/local/lib/php/20060613/slice/IcePatch2
/usr/local/lib/php/20060613/slice/IcePatch2/FileInfo.ice
/usr/local/lib/php/20060613/slice/IcePatch2/FileServer.ice
/usr/local/lib/php/20060613/slice/IceStorm
/usr/local/lib/php/20060613/slice/IceStorm/IceStorm.ice

確かに存在しない。

/usr/local/lib/php/20060613/slice/Ice/ ここのディレクトリにmurmur.iceを入れて、php.iniで指定すればいいらしい。でもそんなファイルない。

mumbleの公式からmumble-1.1.8.tar.gzを拾ってきたらなかにそのファイルがあった。中身はテキストファイルなのでプラットフォームとか関係ない。iceディレクトリにぶちこんでphp.iniを書く。

すると動く。

superuserのパスワードを設定してなかったのでせっていしてやる。

rc.confにmurmur_flagで -supw fugaって書くと

l2tp.org%sudo /usr/local/etc/rc.d/murmur restart
Stopping murmur.
Waiting for PIDS: 86707.
Starting murmur.
Password arguments must be last.

と怒られる。しょうがないから直接/usr/local/etc/rc.d/murmurに書き込んでやる

command_args=”-ini /usr/local/etc/murmur.ini -supw fuga”

でも

l2tp.org%sudo murmurd -ini /usr/local/etc/murmur.ini -supw hogehoge
Initializing settings from /usr/local/etc/murmur.ini (basepath /usr/local/etc)
WARNING: You are running murmurd as root, without setting a uname in the ini file. This might be a security risk.
ServerDB: Openend SQLite database /var/db/murmur/murmur.sqlite
Superuser password set on server 1

となるだけで起動しない。いろいろやってるうちにわかったのは、上記の通り、SQLiteのデータベースファイルにsuperuserのパスワードを書き出すので一度だけこのコマンドを実行すればよい。

つまり本来であれば

% sudo murmurd -ini /usr/local/etc/murmur.ini -supw fuga

と一度実行さえすればよい。むやみに起動スクリプトを書き換えなくてもよい。

これでめでたくSuerUserのパスワードが設定できたので、

ID: SuperUser

PW: fuga

で、mumble側もiceの管理画面側もログインできるはずである。

以上。

コメントを残す