2007年11月20日火曜日

Ubuntuで構築するストリーミングサーバ「GNUMP3d」


Ubuntuで、とても簡単に、音楽/動画のストリーミングサーバを構築できるのが「GNUMP3d」。
Synapticパッケージ・マネージャで、「gnump3d」と検索して、ダウンロード&インストールができます。

インストール後、ただちにGNUMP3dがサーバとして起動している状態になります。
Firefoxで、「http://localhost:8888」としてアクセスすると、サーバが起動していることを確認できる事でしょう。
そのままでは、まだコンテンツが準備されていませんので、空の状態です。
さっそく、コンテンツを準備してみます。

1、コンテンツを準備する
「GNUMP3d」の場合、「/var/music」に置かれた音楽/動画ファイルをストリーミング配信します。
このディレクトリは、一般ユーザでは書込みができませんので、管理者権限で「/var」フォルダを開いて、新たに「music」フォルダを作成し、この中に、コンテンツをコピーします。

なお、「UbuntuがiTuneサーバに。「Firefly」なら、とっても簡単!」に書いたのと同様に、生のファイルを入れるのは大変なので、音楽データ、動画データが入ったフォルダのリンクを作成し、リンクをこのディレクトリに入れておくのが便利です。
また、元の音楽/動画フォルダをそれぞれ右クリックして、プロパティを開き、アクセス権の設定を「その他」と「グループ」に対して、「読み込み専用」にしておく必要があります。

以上で準備は完了です。

2、さっそくアクセスしてみる

再度、Firefoxで、「http://localhost:8888」とアクセス。
今度は、トップ画のように、コンテンツが表示されるはずです。

では、他のマシンでアクセスする場合には、
「http://(ホスト名orアドレス):8888」とすればOK!

もちろん、Ubuntu以外のLinux機、Windows、Macからでもアクセスでき、ストリーミング対応のソフトで再生ができます。

3、便利機能

例えばiTunesで管理しているフォルダのリンクを指定フォルダに置いた場合、元のフォルダは、アーティストごとにサブフォルダが、そしてさらにはアルバムごとに整理されていると思います。
音楽の場合、そのフォルダを、まるごと連続してストリーミング再生することもできます。
(動画の場合には、1ファイルずつしかできないようです。)

「Serch」タブでは、検索もでき、かなり細かい検索指定ができるので、即座に目的のコンテンツにたどり着けます。

「Browse by Tag」タブでは、アーティスト、アルバム、リリース年、ジャンルごとに表示させ、再生することができまます。
これを有効にするには、サーバ機の端末で次のようにコマンドを実行します。

sudo gnump3d-index

これにより、MP-3などのタグ情報を収集してインデックスが生成されます。

あとは、プレイリストでの再生、ランダムプレイなど、シンプルなインタフェースの割にはかなり柔軟な再生が可能です。
[ビデオコンテンツの再生]

2007年11月18日日曜日

Rythmboxの共有機能で、簡単iTuneサーバ

前回のエントリでは、「Firefly」によるiTuneサーバを紹介しましたが、実は、これと同じ事は、Rythmboxの標準機能でできます。「アプリケーション」-「サウンドとビデオ」-「Rythmboxミュージック・プレイー」を起動します。
プルダウンメニューの「編集(E)」-「Plugins」を開きます。

リストの中の、「DAAP Music Sharing」にチェックを入れ、「プラグインの設定」をクリックします。
現れたウィンドウで、「お気に入りの楽曲を共有する(S)」にチェックを入れると、Windowsでは、iTuneで、UbuntuならばRythmboxで音楽ライブラリを共有することができるようになります。

サーバで音楽も一元管理すると、ディスクプレースを節約できて便利ですね。
例えば、無線LANで接続したノートPCで音楽を聴く事もできてしまいます。

2007年11月17日土曜日

UbuntuがiTuneサーバに。「Firefly」なら、とっても簡単!

Ubuntuサーバに置いた音楽ファイルを、ネットワーク経由で、Mac、Windowsならば、iTuneで、Ubuntu/Linuxならば、Rhythmboxで聴く方法です。
iTune、Rhythmboxは、DAAP(Digital Audio Access Protocol)で音楽ファイルの共有を行えるようになっている・・・ということで、このプロトコルに対応するのが、「Firefly」というサーバーアプリケーション。
Synapticパッケージマネージャで、「mt-daapd」で検索。ダウンロード&インストールします。
"デーモン"を起動させる為にマシンを再起動してもいいのですが、端末から下記の通りにコマンド実行すれば、サーバー機をリブートする事なく、サーバーアプリケーションが起動します。

sudo /etc/init.d/mt-daapd start

Webブラウザで、「http://localhost:3689」へアクセスします。

ID: admin
パスワード: mt-daapd
・・・と入力してログインすると、次のような管理画面が現れます。

音楽ファイルは、「/home/media/music」に置く事で、共有できるようになります。

1、管理者権限で、「/home/media/music」を作り、
「music」フォルダの中に音楽ファイルを置きます。
2、この中に音楽ファイルの読み書きができるように、アクセス権の設定を行います。

この手順は、コマンドでやっ
た方が手っとり早いので、端末で以下のように実行します。

sudo mkdir /home/media
sudo mkdir /home/media/music
sudo chmod 757 /home/media/music

共有したい音楽ファイルを、この「music」フォルダの下に置いてもいいのですが、いちいちコピーするのが面倒であれば、音楽ファイルが入ったフォルダで右クリックし、リンクを作成します。
出来上がった"リンク"のアイコンを、musicフォルダの下に置いておけばOK
こうすれば、音楽ファイルが同じハードディスクに重複して置かれる事もなく、ディスク容量を無駄にすることがありません。

ただし、元の音楽が入ったフォルダのアクセス権を変更しておく必要があります。
フォルダ上で右クリックして、プロパティーでアクセス権の変更ができます。
「グループ」と「その他」を「読み込み専用」にしておきましょう。

あとは、Fireflyの画面で、「Start Full Scan」ボタンをクリックします。

以上で、準備完了。

そうすれば、トップ画のように、同じネットワーク内で起動したWindowsのiTune、下の画面のように、UbuntuのRyhmboxを起動して、しばらくすると、どちらも左側のメニューの中に「共有」という項目が自動的に現れて、Ubuntuサーバの中の先ほど指定した音楽ファイルが、ネット越しに再生できるようになります。

UbuntuのWebminでSamba、細かいアクセス権の設定を

「Webmin」で、らくらくファイル・サーバを設置ということで、簡易的にファイルサーバとしてみたわけですが、家族やサーバを共用する場合、オフィスのグループで共有する場合、細かいアクセス権の設定が必要になります。
1、誰でもが利用できる共有フォルダ
2、一人のユーザのみが利用できる共有フォルダ
3、指定したユーザだけが利用できる共有フォルダ

・・・これら3つが考えられます。
前回紹介したWebminの「サーバ」-「Samba Windowsファイル共有」の設定画面でもこれらが細かく設定できるのですが、もっと解りやすく、簡単に行う方法がをご紹介します。

それは、同じく、Webminの「Others」-「ファイルマネージャ」を用いる方法です。
事前準備として、SunのJava環境が入っていない場合、Ubuntuの「アプリケーション」-「追加と削除...」でインストールします。
「すべての利用可能なアプリケーション」を表示させ、「java」と検索します。
「Sun Java 5.0 Plugin」と「Sun Java 5.0 Runtime」にチェックを入れて「変更の適用」をクリックすれば、ダウンロード&インストールしてくれます。途中で、ライセンスの同意を求められますので、指示にしたがいます。
準備ができたら、Webminの左側のリストメニューから「Others」を開き、「ファイルマネージャ」を選びます。
すると、このように、サーバ機のファイルマネージャが現れ、あらゆるディレクトリの操作をすることができるようになります。

このファイルマネージャで、アクセス権を細かく設定したいフォルダ/ファイルを選択して、上部のアイコンメニューから「情報」をクリックします。

この「許可」欄で、ユーザ、グループ、その他について、アクセス権を設定できます。

上の例では、
1、フォルダの所有者=ユーザは、ファイルの読取りはもちろん、書込みができます。

2、グループのメンバーは、ファイルを参照し、自分のパソコンにコピーしてくる事はできますが、そのフォルダ内のファイルに変更を加える事も、別のファイルを書き込む事ができません。

3、メンバー以外は、そのフォルダを見る事もできません。

また、「所有権」の欄では、ファイル/フォルダの所有権を変更することができます。

以上のように、ファイル・マネージャまであるWebminがあればコマンドを使わなくても、あらゆる設定/操作ができてしまいます。サーバ機の再起動、シャットダウンまでできてしまいます。
ですから、サーバー機にはモニターをつないでいなくても、クライアントのパソコンでWebブラウザを通じてコントロールできてしまうわけです。

さて、ここまでできてしまうと、モニターを接続せずに単体で稼働させ、さらには、Ubuntuのメモリー消費量を抑えて動作を軽くするために、GUIを用いずに、CUIベースで稼働させた方がいい・・・と思われる方もいることでしょう。
この「ランレベルの設定変更」については、後ほどトピックスとしてご紹介したいと思います。

「Webmin」で、らくらくファイル・サーバを設置

サーバの構築、とても難しく思えてしまうかも知れませんが、「Webmin」という優れた管理ツールを用いれば、あらゆる設定をGUIで行う事ができてしまいます。

第一回目は、家庭内、すなわちローカルエリア内にファイル・サーバを立ててみたいと思います。

さて、ここでは、OSはサーバ版は用いません。ラクラクで構築するために、Ubuntu 7.10 日本語ローカライズ版をインストールしたデスクトップPCを使ってみます。

PCのスペックは、メモリ:1GB、CPU:Athron XP 1700+、ハードディスク:160GBのPCで組んでみます。
すなわち、すでに何世代か前となったマシンで充分機能する事になります。
あえてGUIのマシンで組む理由は、用途として、音楽、画像を楽しむという目的のために、サーバ機でもそれらのファイルをチェックできるようにしておきたいからです。

あらゆる動画をこのサーバ機に貯め込んでいきますので、ディスクの容量は大きいに越した事はありません。
昨今はディスクも安くなっていますので、TB(テラバイト)を越える容量にしていきます。この増設の方法なども含めて、シリーズで書いていきます。

マシンの準備ができたら、まずは、「WEBMIN.COM 日本語公式サイト」から、パッケージのダウンロードです。
http://jp.webmin.com/download には、Ubuntuに対応する「debパッケージ」が置かれています。
このページから、「webmin_xxxx_all.deb」(xxxxはバージョン名)をFirefoxでダウンロードします。
続けてdebパッケージマネージャが自動で起動し、インストールが行われます。

インストールが終わったら、「https:localhost:10000」とWebブラウザで入力し、アクセスします。
「http://」と「s」を付けずにアクセスすると、下記の画像のように、エラー表示されます。
「https://」ですから、暗号化での通信となり、別のマシンからネットワーク経由で制御しても盗聴されない設計となっています。
正しくアクセスすると、上の画面のように、「証明書」に関する記述が現れます。「今後証明書を受け入れる」にチェックを入れてOKします。

するとログイン画面が出ますので、UbuntuのログインIDと、パスワードを入力します。
これでWebminの設定画面に入れます。


まず最初に、メニューを日本語化しましょう。
左上の「Webmin」をクリックし、「Change Language...」をクリックし、現れた画面で、「Japanese (JA_JP UTF-8)」を選び「Make Changes」をクリックします。
一度、左側のメニューの一番下の「Logout」で、Webminから一旦抜けます。
再度ログインすれば、メニューが日本語化されています。
次に、「Webminユーザ」を選んで、ユーザの設定をしておきます。
「新しいWebminユーザを作成」を選びます。
現れた画面で、「Webminユーザのアクセス権」で、ユーザ名を入力、パスワードを間違えないように入力します。
「Available Webmin modules」で、「すべて選択」をクリック。これで、あらゆる操作ができるようになります。
以上で、Webminというアプリケーションを自由に使える設定は終わりです。

さて、予め理解しておきたい事は、パスワードの管理についてです。
実は、Webmin内では、いくつかのパスワードの設定項目があります。これが混乱の元になっています。

本稿では、3つのパスワードが出てきます。
1、「Webmin」に入る為のパスワード、2、「システム」=パソコン自体のパスワードの管理、3、「サーバ」→ここでは、sambaによるWindowsとのファイル共有の際のパスワードの設定です。
以上を理解しておかないと、混乱してしまいますのでご注意を。

2、「システム」=パソコン自体のパスワードの管理は、「システム」を開いて、「Change Passwords」にあり、別のパソコンから遠隔操作でもパスワードの変更ができる・・・ということを覚えておいてください。

では、いよいよ、WindowsからもUbuntuからもファイル/フォルダを共有する為の、すなわち、Ubuntuマシンをファイル・サーバにする設定です。
「サーバ」から「Samba Windowsファイル共有」を選びます。

その前に、Webminからちょっと離れて、Ubuntu自体のパネルから、「システム」-「システム管理」-「フォルダの共有」を起動します。始めてこれを起動した時には、指示にしたがって、sambaをここでインストールしておきます。フォルダの共有の設定は、ここでは行いません。パッケージのダウンロード&インストールに留めておきます。

「Samba Share マネージャ」のページが現れたら、「UnixとSambaユーザの同期の自動化を設定」を選びます。
すると「ユーザの同期」のページが現れますので、画面のとおり、上の3つの項目にチェックを入れて、「適用」を押します。
一旦、「共有リストに戻る」で表紙に戻ります。
続いて、「Sambaユーザとパスワードを編集」で下のようなユーザ一覧を表示させます。
先ほどの設定により、自分のUbuntuへのログインアカウントが一覧に加わっているのを確認します。
先ほどの「ユーザの同期」は、このように、Ubuntuへのユーザの追加/削除に合わせて自動的にsambaのユーザの追加/削除を行ってくれるので、とても便利です。

では、実際、リストから自分のアカウント名をクリックしてみましょう。
3つ目のパスワードとなるsambaのパスワードは、この画面で変更ができるようになっています。

ここで、変更を加えたら、ページの下部にある、「Sambaサーバを再起動」をクリックすることで、変更を適用します。

さて、ようやくですが、ファイル共有の設定です。
同じページの上部にある「新規のファイル共有を作成」を選びます。
1、「共有名」に好きなフォルダ名を入れます。
2、「共有するディレクトリ」を指定します。
3、自動的にディレクトリを作成しますか?」で「はい」にチェックを。
4、「有効にしますか?」も「はい」に。
5、「Create with owner」は、この共有フォルダの所有者です。自分のアカウント名を入力します。
6、「ブラウズ可能にしますか?」も「はい」にチェックを入れます。

続いて、黄色い鍵のアイコンの「セキュリティとアクセス制御」をクリックします。

「セキュリティを編集」ページが開いたら、
「書込み可能にしますか?」で「はい」にチェックを入れます。
「ゲストのアクセスを可能にしますか?」で「はい」を選ぶと、誰でも読み書きができるようになります。
「なし」にしておけば、自分だけがフォルダー内のファイルを読み書きできるようになります。

以上で、他のマシンから、共有フォルダにアクセスできるようになりました。
つまり、ファイルサーバのできあがり!