実は(?)、debパッケージファイルから導入しただけだと、ファイルをWindowsからダウンロードした時にファイル名が文字化けを起こす(vista、xp、7で確認)。
なので、ソースを一部修正することにする。 ソースを取得。
$ wget http://sourceforge.net/projects/subsonic/files/subsonic/4.6/subsonic-4.6-src.zip
zipを解凍するためのunzipをインストール
$ sudo apt-get install unzip
zipファイルをオプション-dで指定したディレトリに展開(ディレクトリは自動作成)
$unzip subsonic-4.6-src.zip -d subsonic-4.6-src
※どこを直したかは後日、記述する。
実はコンパイルの仕方は
http://sourceforge.net/apps/mediawiki/subsonic/index.php?title=Windows_Source
に記述されている。
Windows版しかないが、ファイルを落として解凍して、パスを通して、コマンド叩く、という流れは全く一緒だ。
まず、動かすだけじゃなく(JRE)コンパイルするためのJava(JDK)をインストール
$ sudo apt-get install openjdk-6-jdk
ソースからコンパイルするためのmavenをダウンロード
$ wget http://ftp.heanet.ie/mirrors/www.apache.org/dist//maven/binaries/apache-maven-3.0.4-bin.tar.gz
tar.gzファイルを解凍
$ tar -xzvf apache-maven-3.0.4-bin.tar.gz
mavenディレクトリを作成して、格納
$ sudo mkdir /usr/local/apache-maven
$ sudo cp -R apache-maven-3.0.4 /usr/local/apache-maven/
パスを通す。環境変数を編集。
/etc/environment
@@ -1 +1,5 @@
-PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
+PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/apache-maven/apache-maven-3.0.4/bin"
+JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-i386"
+M2_HOME="/usr/local/apache-maven/apache-maven-3.0.4"
+MAVEN_HOME="/usr/local/apache-maven/apache-maven-3.0.4"
+M2="/usr/local/apache-maven/apache-maven-3.0.4/bin"
末尾に:/usr/local/apache-maven/apache-maven-3.0.4/bin
を追記
そして、以下を追加。
JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-i386"
M2_HOME="/usr/local/apache-maven/apache-maven-3.0.4"
MAVEN_HOME="/usr/local/apache-maven/apache-maven-3.0.4"
M2="/usr/local/apache-maven/apache-maven-3.0.4/bin"
環境変数を反映(rebootした方が本当良いみたい)
$ source /etc/environment
ソースディレクトリのアクセス権限が変になっていると、途中でコケるので・・・(どうもあちこちからコンパイルに必要なファイルをかき集めてコンパイルするようで、かき集めたファイルをソースディレクトリに作成できないとエラーになる)
$ sudo chmod -R 777 subsonic-4.6-src/
$ cd subsonic-4.6-src/
$ mvn install
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @
subsonic-main ---
[INFO] Installing
/home/[ログインユーザ]/subsonic-4.6-src/subsonic-main/target/subsonic.war
to
/home/[ログインユーザ]/.m2/repository/net/sourceforge/subsonic/subsonic-main/4.6/subsonic-main-4.6.war
[INFO] Installing
/home/[ログインユーザ]/subsonic-4.6-src/subsonic-main/pom.xml to
/home/[ログインユーザ]/.m2/repository/net/sourceforge/subsonic/subsonic-main/4.6/subsonic-main-4.6.pom
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Subsonic .......................................... SUCCESS
[2.485s]
[INFO] Subsonic Main ..................................... SUCCESS
[1:08.708s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1:11.369s
[INFO] Finished at: Tue Jun 19 22:08:07 JST 2012
[INFO] Final Memory: 23M/185M
[INFO]
------------------------------------------------------------------------
BUILD SUCCESSとなれば成功。
Unable to locate the Javac Compiler in:
/usr/lib/jvm/java-6-openjdk-i386/bin/../lib//tools.jar
みたいな失敗した場合、echo $JAVA_HOME
と打ってみて、 JAVA_HOMEが設定されているか?パスが正しく設定されているか?を確認。
JAVA_HOME配下に /lib/tools.jar
があるか?ない場合は、
$ sudo apt-get install openjdk-6-jdk
をしていない可能性がある。 openjdk-6-jreではない、 openjdk-6-jdkである。
$ cd subsonic-main/target
$ ls
subsonic.warが出来ている。
-rw-rw-r-- 1 [ログインユーザ] [ログインユーザ] 18964286 6月 19 22:08 subsonic.war
思ったより長くなったので今日はここまで。