Subsonic使ってますか?
ていうか、Sunsonicご存じですか?
知ってしまうと抜け出せないSubsonicの罠。思わずiTunesなんていらねぇぜ!と叫びたくなる便利さ。
私などは一度はプライベートのVPSを持つのを止めようと思ったのに、Subsonicが使いたいがばかりにVPSをもう一度契約してしまったというキラーソフトです。
Subsonicのインストールは公式サイトからRPMを落としてインストールして終わり。というパターンが多いと思うのですが、今回はTomcat6を別に入れる方式をやってみましたので、その操作ログ。
そもそもSubsonicって何?
SubsonicはVPSなどのサーバに入れておいて、そこに音楽などをため込んでおけば、PCでもMacでもiPhoneでもAndroidでも、あらゆるデバイスからストリーミングで聞けるようになりますよ!というもの。
もちろん、音楽を聴くにはログインが必要になるので、不特定多数に向けて公開するといったいかがわしいものではありません。さくらのVPSなどは一番安い980円のプランでもストレージが100GB付いていますので、Subsonicを入れてクラウドジュークボックスにするには最適です。
Mac用のSubsonicクライアントならThumperがオススメ!
あえてTomcatにインストールするメリット
先に書いたように、SubsonicのインストールはRPMを落として入れるというパターンが多いと思います。SubsonicはJavaで出来ていますが、RPMパッケージにはJava Servletコンテナも入っていますから、別途Javaのインストールだけしておけば、RPMを入れてすぐに、http://localhost:4040でアクセス出来ます。
そんな中で、あえてTomcatにインストールするメリットって何があるのでしょうか?
- もともとTomcatを入れているから別のコンテナを入れたくない
- Apacheと連携させてポート80でアクセスしたい
んー。考えてみたけど、あんまりメリットがないな。まぁ、やりたかったからやるのさ。
そういう気分出ない人は、素直にRPMで入れた方が良いと思います。
Tomcat6をインストール
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
Javaが入っていない状態でtomcat6をインストールすると、おそらくjava-1.5.0-gcjが入るのではないかと思います。ただ、SubsonicはJDK1.5では動作しないのです。(でも公式サイトを見るとJava5以上と書いてあるから動くはずなんだけどな・・・。Sun・・・じゃなくてOracleのJDKじゃないからダメなのかな?)ここがハマリポイントその1。
あと、Tomcat7には現時点では対応していません。(これは公式サイトに明記されています)
ここはOpenJDK1.7をインストールしましょう。(1.6でも構いません)
yum install java-1.7.0-openjdk
既にGNOMEでLibreOfficeとかを使っている人なら、java-1.7.0-openjdkが入っているでしょうから、それでOKです。ただ、alternativesでJDK1.7を選択しておきましょう。
alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*+ 2 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
alternativesでJDK1.5を選ばないといけない事情がある人は、Tomcat側の設定でJDK1.7を選んでも構いません。
/etc/tomcat6/tomcat6.conf
JAVA_HOME="/usr/lib/jvm/jre-1.7.0-openjdk.x86_64"
subsonic.warをインストール
unzip subsonic-4.7-war.zip
cp subsonic.war /usr/share/tomcat6/webapps
TomcatのWebアプリケーションマネージャ(http://localhost:8080/manager/srv/vivinko.comlist)を開いて起動してみると・・・起動しません。
もう少し、やることがあるのです。ここがハマリポイントその2。
Subsonicディレクトリを作る
mkdir /var/subsonic
chown tomcat:tomcat /var/subsonic
Subsonic公式サイトにも書いてあるのですが、/var/subsonicディレクトリへのアクセスが必要なのです。ちなみに、このディレクトリは音楽ファイルを置く場所とは別です。
ここで、TomcatのWebアプリケーションマネージャに戻り、Subsonicを起動すると、無事起動するはずです。
Apacheとの連携
まず、Tomcat側の設定を確認します。
/etc/tomcat6/server.xml
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
この行がコメントアウトされていないことを確認します。
次に、Apache側の設定も確認します。
/etc/httpd/conf/httpd.conf
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
この行がコメントアウトされていないことを確認します。
次に、例えばhttp://localhost/subsonic/などでアクセスできるように設定します。
/etc/httpd/conf.d/subsonic.conf
<Location /subsonic>
ProxyPass ajp://localhost:8009/subsonic/
</Location>
あとは、Apacheに設定ファイルを読み込ませます。
service httpd reload
これで完了です。お疲れ様でした。