Lion ServerでiChatサーバーを設置する

ちょっと必要があってLion Server上にプライベートなチャットサービスを立ち上げるべく、iChatサーバーの設定に挑戦しました。

Lion ServerのiChatサービスには基本的にほとんど設定の余地はなく、

  • 他のサーバーと連携するか(する場合はドメイン指定)
  • チャットログを保存するか

しかありません。ぶっちゃけスイッチをONにするだけで起動します。

ただしウチ限定の現象かも知れませんがハマったので覚え書き。

■ポート開放

ルーターで開放(Lion Serverにリダイレクト)する必要があるポートは、

ポート番号 プロトコル 備考
5222 TCP チャット
5223 TCP チャット(SSL)
7777 TCP ファイル送受信
5678 UDP  
16384-16403 UDP ビデオチャット

という感じでした。この辺りを見ると他にもあるっぽいですが、とりあえずウチでは上記のみで一通り使えてる気がします。全クライアントにSSL利用を強制できるなら5222は開けなくてもいいかも。サーバー間連携を使う場合は5269(TCP)とかも必要でしょう。またウチのルーターはポート番号を範囲指定できす、ビデオチャット用のポートを全て個別に指定することはできず、欄がある限りで16384-16390のみ開放していますが、これもいまのところ問題なさげです。同時利用者数が増えたりすると足りなくなるのかも知れません。

■認証が通らない

次にハマったのが認証で蹴られてログインできない現象。「サーバー」アプリの「ログ」でiChatのサービスログをみると、

Jul 12 20:25:55 jabberd/c2s[52503]: SASL callback for non-existing host: hoge.com

というエラーが記録されています。どうも、アカウント名として、ホスト名無しの「ユーザ名@ドメイン名」形式は標準では受け付けないようです。「ユーザ名@ホスト名.ドメイン名」なら問題ないんですが、ウチの場合Lion Serverを外向けDNSに登録してなかったし、無駄にアドレスが長くなるし、ということで、こちらを参考に設定ファイルを直接書き換えました。

/etc/jabberd/sm.xml:

<local>
        <!– Who we identify ourselves as.
         Users will have this as the domain part of their JID.
         If you want your server to be accessible from other
         Jabber servers, this IDs must be FQDN resolvable by DNSes.
         If not set, the SM id is used. –>
        <id><myserver>.<mydomain>.com</id>

/etc/jabberd/c2s.xml:

<id require-starttls="true" pemfile="/etc/certificates/frontier.orange-road.com.947515504262B5757AB90D084DF 652A0EA8E0B76.concat.pem" private-key-password="C4D239B3-87B9-4F58-9D3E-541587EFD7EF" cachain="/etc/certificates/frontier.orange-road.com.947515504262B5757AB90D084DF 652A0EA8E0B76.chain.pem"><myserver>.<mydomain>.com</id>

それぞれ赤字部分を削除し、iChatサービスを再起動すればOKです。この手の編集はバージョンアップなどで元に戻ってしまう可能性もありますが、まぁ当面様子をみようと思います。

■クライアント

Lion まではiChat、Mountain Lion以降は「メッセージ」を使います。Lion + β版「メッセージ」で動作確認しました。またiChatサーバーはJabberのXMPPというプロトコル互換なので、Windows用の互換ツールでも(少なくともプレゼンスやテキストチャットのレベルは)問題ないと思います。

また残念ながらAppleからiChatクライアントはリリースされていませんが、Jabber/XMPPアプリは数多くあります。例えばimo instant messengerは日本語も含めて大丈夫っぽいです。画像もアップできますが、imo社のサーバーに置かれてURLが先方に届く形式のようで、プライベートな写真のやりとりには向かないかも知れません。

他にMonalはデザインも良く無料でなかなかなのですが、残念ながらiOS5の日本語キーボードサイズ変更問題に対処できておらず、日本語<->英語と切り替えると入力欄に文字が打てなくなる問題を孕んでいます。更新されたら是非こちらを使いたいとは思います。

その他、Cisco Jabber IM for iPhoneはログインできず、ボイスチャットも対応というOctro Talkはすぐにログイン、ログアウトを繰り返して実用にはなりませんでした。有料アプリではBeejiveIMシリーズ辺りが評価が高いようですが、まぁimoで必要最低限のことができそうなので試していません。

■iChatでできること

で、そもそもな話、iChatでなにができるのか、SkypeやiMessageとなにが違うのか、という話。

まず大きなのは自前のサーバーを立てることで、クローズドなチャットシステムを構築できるということですね。企業内でのやりとりをするのにSkypeやLive Messengerなどの半ば公のサービスを使えないところも少なくないでしょう。

Mountain Lionになって「メッセージ」アプリと統合されるので、iChatのために別アプリを立ち上げておかなくても良くなるのも嬉しいです。

機能面では、オンラインプレゼンス(退席中などのステータス表示)、テキストチャ
ット、ボイスチャット、ビデオチャット、画面共有など競合サービスにひけをとらない感じです。ただしビデオチャットの画質はSkype HD等には及ばず、従来のSkypeやLiveなどと同レベルという印象です。またiChat Theaterという機能で動画やPDFなどを共有することができます。ビデオチャット中に動画ファイルをドロップすると、ファイル転送するか再生するのか選択肢が表示され、再生すると向こうとこちらで同期して動画視聴ができます。この時、スライダーを動かしたり一時停止したりといった操作はファイルをドロップした側の人のみ可能です。これも残念ながら画質はVGA程度です。また常に相手のカメラ映像も並んで表示され、全画面で動画を表示することはできません。でもまぁ動画を観ながらチャットというのはなかなか楽しげな気はします(ちなみにYouTube上の動画であればGoogleのHangoutで似たようなことが可能です)。

2012.07.15追記:

画面共有は相手側の操作もできますね。これはSkypeなどでもできないのでWindows同士でのLive Messengerに匹敵するメリットです。遠隔のMacをサポートする時などは便利です。Live Messengerはルーター環境によってつながらないこともあって、最近はSkypeで画面を”見るだけ”で操作は相手に口頭で伝えてやってもらうことが多かったんですが、Mac同士ならウチのサーバーにアカウント発行してつないでもらうのがヨサゲ。

sambaでWindows機などをcifsマウントできなくなった時の覚え書き

ウチのLinuxサーバー機で、LinkStationとWindows7機の共有ボリュームをマウントできなくなりました。うーん、月初めにはできてたはずなんですが。環境は、CentOS 5.6にwingリポジトリさんで配布しているsamba36-3.6.1を入れて使っています。3.6.3が出てたので更新してみたがかわらず。

dmesgには、

CIFS VFS: cifs_mount failed w/return code = –6

と出ますが、ググってもこれといった情報がつかめず。

結局mountコマンドであれこれ試してちゃんとマウントできるパターンと、/etc/fstabの記述を見比べてわかったのは、

//machine/share/ /mnt/machinename/sharename cifs ro,user=hoge,password=fuga,noauto 0 0

の赤字の部分。このスラッシュを削ったら通常通りmount /mnt/machinename/sharenameだけでマウントしてくれるようになりました。うーん、今までこれで使えてたのになぁ。先週くらいの大量のyum updateかなぁ(普段除外されてるwingリポジトリのsamba36はそれでは更新されないはずだけど)。改めてfstabの書き方をググるとみんな最後のスラッシュつけてないので、いままでがたまたま動いてたとか、どこかでつけないルールになってたけど移行猶予で動いちゃってた、とかなんですかね。

ともあれ、上のエラーメッセージでググって誰かが幸せになれればと覚え書きを残しておきます。

ファイルサーバーのSambaをSMB2対応した3.6に更新

Linuxサーバー機のSambaを3.0から3.6にアップデートしてみました。3.6の目玉はなんといってもSMB2への対応です。SMB2はVista世代から対応した新しいファイル共有プロトコルでパフォーマンスアップが見込めます。Microsoft製品同士では随分前から使用されてましたが、高価なWindows Serverを使用している企業ともかく、SambaベースのLinuxサーバーや多くのNASは対応してなかった為、個人レベルではクライアントがVistaや7でも実力を発揮できずにいました。それがついに、ということで胸熱です。

ウチのLinuxサーバーはCentOS5.x系でそのままではyumでインストールはできず、こちらの記事を参考にwingリポジトリを使って導入。ウチではpriorityの設定はしなくて済みました。記事からのリンク先を参考にwingリポジトリを登録した後、—enablerepo=wingオプションをつけてインストール。3つ一度に指定すると依存のエラーが出たので、まずはsamba36本体のみを指定(これでcommonも入る)し、後にclientを入れたらOKでした。

yum –enablerepo=wing install samba36
yum –enablerepo=wing install samba36-client

その後、認証絡みでちょっと苦戦。smbpasswd認証はもはやナウくないらしいので、smb.confに

[global]
max protocol = SMB2
security = user
passdb backend = tdbsam
wide links = yes
follow symlinks = yes
unix extensions = no

とし、コマンドラインで

pdbedit -a -u furuta

などとしてパスワードを設定したらOKでした。

ちなみにオレンジの部分は文字通りsmb2プロトコルを有効化、赤が認証方式の指定、紫はUNIX上のシンボリックリンク先を実ファイルとしてアクセスできるようにする為の設定です(今まではなくても平気だった)。security = userは普通なら指定済みなことが多いはずですが、何故か入ってなかったので足しました。

■ベンチ

Samba30 Samba36
Samba 3.0 Samba 3.6

 

クライアントはWindows7、GbE接続です。

シーケンシャルリードと512Kランダムリードは向上してますが期待したほど劇的な差ではないですね。あとは4K ランダムライトがエラい速くなってます。あとはトントンか逆に落ちてるとこも。体感は、、、あんましかわんないかなw。

あとは低レイテンシー時のパフォーマンスが向上するらしいので、VPNを経由した時とかに期待ですかね。

AmazonでSynology製NASの取扱モデルが拡充されたっぽい

縁あってレビューさせていただいたSynology製NAS「DS1511+」の姉妹モデルの、Amazon.co.jpでの取扱が拡大したようです。レビューのまとめとして比較紹介してみます。

2011年秋現在、タイの洪水被害でHDDが高騰し、それを使用するNAS製品も軒並み値上げされています。今はNASを買う良い時期ではないのかも知れませんが、Synology製品は基本的にHDDが別売りで、しかも複数ベイのモデルなら後から柔軟にHDD構成を変更できるという特徴があるので、とりあえず直近で必要な容量のドライブを最低限確保して、値下がり時期を待って全ベイを埋めるなり高容量ドライブに換装するなりという戦略がとりやすいんじゃないですかね。

なお、基本OSとしてはDisk Stationが組み込まれており、使用感は1511+に近いと思いますが、今までの記事で紹介してきた個々の機能についてはモデルによって搭載してない場合もあるかも知れません。また下記データに記載ミスがある可能性もあります。ご購入前に公式サイトなどで仕様をお確かめ下さい。

モデル 使用ドライブxベイ数 公称スピード 備考

DS110j
3.5” or 2.5”x 1 (記載なし) CPU: 800MHz
消費電力:9-19w

DS111の前モデル?こちらの方が数千円安いみたいです。


DS111
3.5” or 2.5” x 1 Read 105.59 MB/秒
Write 60.71 MB/秒
CPU: 1.6GHz
消費電力:7.7-18.7w

1ベイモデル。せっかくSynology製品を買うならRAID対応モデルの方が良いような気もします。


DS411 slim
2.5” x 4 (記載なし) CPU: 1.6GHz
消費電力:9-16w

2.5’ドライブ専用の小型、静音、省電力モデル。


DS411j
3.5” or 2.5” x 4 (記載なし) CPU: 1.2GHz
消費電力:11-30.8w

DS411より1万強安い分、CPUが1.6->1.2にダウン。デザインも大きく違うので好みで選びたくもなりますね。


DS411
3.5” or 2.5” x 4 Read 105.3 MB/秒
Write 47.8 MB/秒
CPU: 1.6GHz
消費電力:11-29.7w

これもDS411系列。スペックからするとこちらの方が後継?型番が似ているので注意。


DS211+
3.5” or 2.5” x 2 Read 108MB/秒
Write 55MB/秒
CPU: 1.6GHz
消費電力:13-24w
ホットスワップ

ホットスワップ対応の下位モデル。デザインはDS1511+とコレが好きかも。
本国では後継の212もリリースされてるみたいです。


DS712+
3.5” or 2.5” x 2 Read 180.91MB/秒
Write 105.59MB/秒
CPU: 1.8GHz
消費電力:17.6-27.5w
ホットスワップ
LANポートx2

DX150を追加して7ベイでRAIDが組めるマニアックなモデル。LANx2なのでLink Aggregationを使って高速化が狙えます。


DS1511+
3.5” or 2.5” x 5 Read 197.8 MB/秒
Write 165.91 MB/秒
CPU: DualCore 1.8GHz
消費電力:30-68w
ホットスワップ
LANポートx2

今回レビューしたモデル。業務用モデルでDX510を2台接続して15ベイ運用できます!
LANx2でLink Aggregation時の性能も最高だし、ルーターとしての使用も可能。


拡張ユニット DX510
3.5” or 2.5” x 5   DS712+やDS1511+の増設用5ベイeSATAケース。さすがに個人でここまで必要になるケースはあまりないかも知れません。

 

色々なラインナップがありますね。「j」がつくのは日本向けかと思ったんですが、ありとなしで全然別モデルだったりするので注意が必要です。型番の千と百の位がベイ数を
示しているみたいです(ただしDS1511+とDS712+はeSATAポート経由の外付けボックスを使った場合の最大ベイ数)。「+」がホットスワップ対応かな?eSATAポートがついててDX510が接続できるという意味かなとも思いましたが、DS211+が微妙(eSATAポートはついてるけどDX510対応は明記されていない)。

 

我が家のDS1511+は9月に本運用の3TBx5ドライブ体制に移行して二ヶ月が経過しましたが、不具合もなく速度も上々で非常に満足しています。ファイル共有以外ではiOS用のアプリ“DS Photo+”を使ってiPhoneで撮った写真を直接アップロードできるのが重宝しています。iOS5のフォトストリームを使えば特別な環境無しに似たようなこともできますが、あちらは撮った写真を無条件に全転送してしまう点や、Mac(iPhotoベース)とWindows(フォルダ格納)で同期方法が違う等が気になって使っていません。DS Photo+で送信してNAS上の任意のフォルダに貯まっていってくれた方が汎用性が高くて便利です。

先日この連載レビューを読んでくれた知人が業務用に上位モデルを買おうとし、取扱店が少なくて少し苦戦したと言ってましたが、こうしてAmazonでの取扱も徐々に拡充されてきてますし、聞くところによると近々販売ルート自体も増えそうだということです。製品自体はかなり競争力があると思うので、国内認知度があがるにつれシェアも広がっていくんじゃないでしょうか。国産メーカーも負けじと切磋琢磨していって欲しいものです。

DS1511+を活用するためのiOS用モバイルアプリ群を試す

BUFFALO等の国産NASでもiPhone/iPad/iPod touch向けの連携アプリをリリースしていて、出先からのファイルアクセスをウリにしていますが、DS1511+を含むSynologyのDSMシリーズではファイル、写真閲覧、写真アップロード、音楽、管理と5つもの公式アプリを提供しています(全て無料!)。今回はそれらについて紹介してみます。
(注1:下記の機能をインターネット経由で外出先から使うには、ルーターのポート開放設定を正しく行うか、DiskStation自身をルーターとして利用する必要があります。)
(注2:他にもDS Camという管理カメラの映像をチェックするアプリもあるのですが対応カメラがないので今回は除外)

■DS file(ファイル閲覧)

DSfile1 DSfile2

BUFFALOでいうWebAccess iに相当するアプリです。写真のようにNAS上のファイル/フォルダにリスト画面でアクセスでき、iOSが表示に対応した形式のファイルを開いたり、端末にダウンロードしたりできます。また2枚目の写真にある「電子メール送信リンク」をタップすると、選択したファイルをダウンロードする為のURLが入ったメールが作成されます。例えば出先で「○○のファイルを送って〜」というメールを受け取ったとします。ファイルが小さいものなら一旦手元にダウンロードして転送すればいいんですが、何十MBもある場合は時間がかかって大変です。この機能を使えば一旦手元にダウンロードすることなく相手に直接NASからダウンロードするアドレスだけを送信できるので、iPhoneしかもってない場合でも軽々と対応できる訳です。DropBox等のクラウドサービスにはよくある機能ですがNASで搭載しているものは初めて見ました。

■DS audio

DSaudio1 DSaudio2

文字通り音楽再生の為のアプリです。DiskStation上のMusicフォルダに保存した音楽ファイルを一覧しストリーミングでiOS端末上で鳴らすことができます。ファイルの実際のフォルダ階層は無視され、アーティスト名やアルバム名といったメタデータを元に分類表示されます。管理画面DiskStationManager内で起動するAudio StationというWebアプリで作れるプレイリストにも対応しています。Audio StationではDiskStationに直接接続したUSBスピーカーで再生することもできるのですが、残念ながらDS audioからはそちらに出力することはできないようです。あくまで端末側にストリーミングして再生するアプリで、AppleのRemoteアプリ的な使い方はできません。これができるとDiskStationをPCレスでジュークボックス的に利用できて便利そうなんですけどね。ただしストリーミングで受けた音楽をAirPlayでAppleTVやAirMac Expressに転送して再生することはできます。

2011.10.08追記:Synologyさんからのご指摘で、アプリをリモートモードというのに切り替えると、DS1511+に接続したUSBスピーカーから再生することも可能とのことです。

iOS標準の「iPod」アプリ(iOS5では「ミュージック」)ではLAN内のストリーミングしかできませんが、DS audioはインターネット経由でも利用できます。ただしiPhoneの3G回線でストリーミングを試してみましたが残念ながら途中で何度も途切れてしまう状態でした。高速なWi-Fi接続が必要でしょう。

ちょっとイヤンなのは、DS audioをインターネットから使うために解放するルーターのポートは5000番で、これは管理画面であるDiskStation Managerと共通です。つまり管理画面へのアクセスをインターネット側に晒さなければ音楽も公開できないということです。パスワードを強固にすればいいんですが、ちょっと不安ですね。一応海外の掲示板語られてたワークアラウンドとしては、管理画面へのアクセスを強制的に5001番に回してSSLで接続する、という設定が可能なのでそれをしてかつ5001番ポートを開放しなければ、LAN内からしか管理画面にアクセスできなくなるはず、という指摘がありました。つまりDS audioは非SSLでということになるんでしょうか。ちょっとまだ検証しきれてない部分です。

■DS photo+

名前が似ていて紛らわしいですが、おそらくこちらが写真閲覧アプリです。「おそらく」というのは上手く使えなかったからです。
アルバム作成までは出来たんですが、写真のようにエラーになってしまって先へ進めませんでした。Synologyさんのサポートからフォローがあったら再検証します。

2011.10.08追記:何故か日を改めたら動きました。閲覧、アップロード共にでき、基本的に下記のDS photoは必要なくなりそうです。

IMG_20111008_021550 IMG_20111008_021605

LAN内で使った限り、動きもサクサクです。写真1枚目の右上のボタンをタップして表示されるのが写真2枚目。DS File同様、簡単に公開用URLが取得できるので、出先からある写真を人に送りたい、といった時に一旦端末にダウンロードすることなく相手に通知することができます。

またアップロードは複数枚を一括で行えますが、位置情報使用を許可にしておく必要があるようです。

■DS photo

DSphoto こちらが写真のアップローダーになります。カメラ撮影したものやライブラリにある写真を選択し、タイトルと説明を追加して、保存したアルバムを選択してアップロードできます。アルバムは実ファイルとしてはフォルダに対応付いて保存される他、やはりWebアプリのPhoto Stationで閲覧することができます。Photo Station上でアルバム毎のアクセス権(閲覧のみ/アップ可)を設定できるので、Webアルバムサービスを自宅でホストできる感覚ですね。

個人的にはiPhone上の写真を直接サーバー上のフォルダに保存できる点が便利に感じました。メールで添付したりMobileMe等のWebサービスアップして、またPCでダウンロードするといった手間がない訳なので。残念なのは一度に一つのファイルしかアップロードできない点でしょうか。複数選択して一括アップロードできるようバージョンアップを期待したいと思います。

ちなみにPhoto Stationのポートは5000ではなく80番みたいなので管理画面とは独立に安心して外部に開放することができます。

 

 

■DS finder

DSfinder1 DSfinder2 DSfinder3

こちらは通好みというか管理者向けのアプリです。写真のように各ドライブのステータスをチェックしたり、再起動やシャットダウンなどの遠隔操作ができます。「サーバー検出」というのは本体からピーピー音が出る機能です。企業のサーバールーム等で同型機がたくさんあってどれだっけ?って時に重宝します。「DSM mobile」は管理画面DiskStation Managerのモバイル版がSafariで開くリンクです。

DSMmobile1 DSMmobile2 DSMmobile3

このDSM mobileってのがまたしっかり作り込んであって、写真のように各種サービスの起動/停止はもちろんユーザ管理、はてはリソースモニタまであるとか(グラフはリアルタイムに更新されていきます)、スマートフォンからできる必要あるの?ってくらい何から何まで管理できちゃいます。

とまぁ付随アプリを概観してみて、またまたその実装力に驚かされました。個々の要素技術は目新しいものではないかも知れませんが、1つのNAS製品にこれだけの機能サービスを詰め込んであり、しかもほぼ例外なく日本語化もきちんとされてて、とにかくSynologyというメーカーの開発リソースのリッチさは、国産競合製品に対するそれとは比べものにならないという印象を受けました。