さくらのVPSとSubsonicでiTunesをゴミ箱にダンクシュートした


VPS界に革命をもたらした、さくらのVPS
月々980円という値段で、どこのご家庭でもVPSでlsを叩く生活を過ごしてらっしゃると思います。


そんな持て余しがちな楽しいVPSを使ってメディアストリーミングサーバーを作ったら超快適だったのでご紹介です。


Subsonic


Java製でWin,Mac,Linuxマルチプラットフォームで動作します。


とりあえずデモを見てください、いい音でしょう? 余裕の操作性だ、快適さが違いますよ。


デザインはテーマで変えられますし、英語はダメっていう人も上のスクリーンショットのように設定で日本語に出来ます。プレイリストからPodcastまで何でも対応してるので、特に困ることは無かったですよ。


とりあえずSubsonicのイイトコは、さくらVPSに曲をガンガン入れるとPCだろうがモバイルだろうがどこでもプレイリスト共有して曲を聴けるってことなんですね。


ちなみにAudioGalaxyという似たWebサービスもあります。
こっちはクライアントをインストールすると、PCの中の曲をスキャンして同時にサーバーとなってどこでも聴けるという凄いサービスなんですけど、自宅回線がWiMAXで固定回線がない私とか自宅サーバーの管理が面倒だし夏は熱いので捨ててしまった私とかには使えなかったわけです。


なので自宅PCをサーバーにして24時間起動しててもいいならAudioGalaxy使ってもいいんですが、SubsonicWindows, Mac両方のクライアントもあるのでそれを使うとGUIでもっと簡単にセットアップが完了しますよ!
個人的にAudioGalaxyは良いんだけど、インターフェースが使いにくいなーと思ってたので!


さて、というわけでとりあえずセットアップの手順をメモ程度に。


※さくらVPSはサーバーとしての基本セットアップが終わっている前提です。
 良く分からないひとは、このあたりの記事を参考にしてください。

 基本的なセキュリティも設定してないサーバーは一瞬で乗っ取られてspamやウイルス発信基地にされるので迷惑にすらなっちゃいます。


まずJavaSDKをインストールします。

[molo@www****u ~]$ sudo yum install java-1.6.0-openjdk
[sudo] password for molo: // パスワードを入力
(インストール作業)

次にSubsonicのDownloadページからrpmパッケージをダウンロードします。

Subsonic
Red Hat/Fedora installer というのがrpm版です。


面倒なのでwgetします。

[molo@www****u ~]$ wget http://downloads.sourceforge.net/project/subsonic/subsonic/4.4/subsonic-4.4.rpm

解説では4.4入れてますが、私はなんとなくbeta版入れました。


そして普通にインストール。

[molo@www****u ~]$ rpm -ivh subsonic-4.4.rpm


さらに自動エンコーディング機能を使うためにffmpeg等ライブラリも入れます。

[molo@www****u ~]$ sudo yum install lame flac faad2 vorbis-tools ffmpeg


標準ではポートは4040になっています。変更するなら /etc/sysconfig/subsonic を編集。そんでもって再起動します。

[molo@www****u ~]$ sudo /etc/rc.d/init.d/subsonic restart


そしてiptablesの設定も変えておきましょう。
あと、プレイリスト保存用に「/var/playlists/」フォルダをmkdirしておきます。


基本的にはこれだけです、インストールするだけなので簡単ですね。
ただ、このままだと日本語のファイル名のファイルが上手く読み取れません。

Javaの言語設定がutf-8になっていないのが問題のようなのですが、rpm版はJettyを使っているのでよく分からず、とりあえずCentOSの言語設定を変えると直りました。
詳しい人だれか教えてください。


とりあえずCentOSのLANGは /etc/sysconfig/i18n です。

[molo@www****u ~]$ sudo vi /etc/sysconfig/i18n

ここのLANGを「LANG="ja_JP.UTF-8"」にしてOSをrebootしました。


これでブラウザから4040番にアクセスすると、管理画面が出てきますのでユーザーやパスワードを設定して完了です。


早速、曲をアップロードします。ブラウザからでも出来るようですが、面倒くさいので普通にアップします。

/home/molo(ユーザ名)/music フォルダにsftpでアップしておきます。
この時、フォルダ構成がそのまま左のサイドバーに反映されます。


私は /music/(アーティスト名)/(アルバム名)/曲.aac という構成です。
このへんは自由に探ってみてください。


「music/supercell/君の知らない物語」だとこうなる

アルバムアートはiTunesとかで設定してるとそのまま表示されますし、Google画像検索から数クリックで直接設定できたりするので便利です。


回線が細いときは、トランスコーディング機能で逐一ビットレートを落として再生とかも出来ますよ。設定画面で色々と探ると結構なんでも出来ます。


APIが豊富なので各OS向けクライアントからAIRアプリ、モバイルアプリまでなんでもあります。

iOS用だと「iSub」と「Z-Subsonic」になってくるんですが、iSubの方が使いやすいです。


‎「iSub Music Streamer」をApp Storeで


再生中に自動的に次の曲まで取得してくれるような優秀なキャッシュ機能があるので、この手のサービスが苦手なインターネット圏外でも余裕で使えます。キャッシュの大きさは自由に設定できますよ。



プレイリストも、サーバーに保存できるのでそのままPCでプレイリストを聴いたり。
細い回線ではトランスコーディングでビットレートを落として再生出来ます。私はWiMAXなので無縁ですが(宣伝)。


iOS5ではPC FreeでiPhoneのみで何でもセットアップ出来るようになりますし、AppStoreも強化されて使いやすくなります。
現時点でもアプリはiOSでダウンロードすればいいし、iOS5が出たらバックアップもiCloudにすればいいのでリソースは一箇所、さくらVPSにまとめて置いておけばPC, iPhone, Android, iPadどこでも同じのが使えるので超おすすめです。


しかし、さくらの512プランでは容量が20GBなので、派手に使っていく人は別のVPSか上位プランなのかなーとは思います。


ただ20GBも使わないよーって人とか、さくらVPSを契約したはいいけどホコリかぶらせてる人はいかがでしょうか?



P.S.
ワンクリックでニコ動とかYouTubeの曲をダウンロードするスクリプトを書くと、自動でフォルダがスキャンされてSubsonicに登録されるので「あとで聴く」的な使い方も出来て最強伝説はじまった