Table of Contents

Why MusicCabinet?



With Dropbox shutting down Audiogalaxy, a lot of people have found Subsonic as an alternative. My initial problems with Subsonic come down to the lack of a proper association between tags and file naming and how they are shown in your library. (Add on top of that Subsonic isn't the best looking). hakko has created a very nice port of Subsonic called MusicCabinet which fixes many of the issues I personally have with Subsonic.

Since a lot of people are having issues running MusicCabinet on OS X, I figured I'd help out by creating a step-by-step guide detailing how to get this running. Thanks again to hakko for all his hard work.

MusicCabinet: http://dilerium.se/musiccabinet/#installation

Before You Begin



This guide is written for installation on OS X Mountain Lion. This should work just fine on Snow Leopard and Lion, but please look to the end of this "how-to" for some special instructions. This article also assumes you don't have Subsonic already installed.

Note: If you've already tried fiddling with MusicCabinet/Subsonic and couldn't get it running, delete it and START FRESH before you start this tutorial!

This entire thing is assuming you're starting from a clean installation. You must install both Java 7 and PostgreSQL 9.1 or above. I am assuming that you can install both of these without issue and this how-to doesn't detail any of these steps (they are available on the MusicCabinet website if you can't figure it out). Here are direct links to the files you must install. UNINSTALL JAVA 6 FIRST if you have it on your system.

***PLEASE INSTALL JAVA 7 JDK. THIS GUIDE USES THE JDK VERSION. IF YOU INSTALL THE JRE AND NOT THE JDK YOU WON'T GET THIS TO WORK***

Java: http://www.java.com/en/download/mac_download.jsp?locale=en

PostgreSQL: http://www.enterprisedb.com/products/pgdownload.do#osx

After installation of both Java 7 and PostgreSQL, start here:

Step 1:

There is no packaged installer of MusicCabinet for OS X (unlike Windows), so we need to use the standalone version.
Download the standalone version of MusicCabinet here:
http://dilerium.se/musiccabinet/subsonic-installer-standalone.zip

Step 2:
Unzip the installer and you should have a folder titled subsonic-installer-standalone. Move this folder to your Applications folder. Rename the folder Subsonic.

Step 3:
From the Applications folder, double click on the folder, and secondary-click (right click) on subsonic.sh and open the file with TextEdit. Double clicking on this will just open it as a shell script through Terminal so don't do that. Open it in TextEdit. It should look like this:
http://i.imgur.com/GP7s4g0.png

Step 4:
Now we're going to change a few things in this document with TextEdit.

On the first line where it says:

SUBSONIC_HOME=/var/subsonic

Change it to:

SUBSONIC_HOME=/Applications/Subsonic

Now keep this document open in TextEdit while we go to our next step.

(Do not worry about changing your music folder location, IP address or anything else. You can change the port if you like but I'm leaving it as 4040 for this tutorial).

Step 5:

We next need to figure out where exactly Java 7 is installed on your system. This is where it installed for me (it may be different for you!)
Open Finder. Double Click on your hard drive (probably titled Macintosh HD). Open the Library folder. You should have a folder named Java. Open this. In here, double click on the folder titled JavaVirtualMachines. This is where your Java installation should be if you let the Java installer run everything as default.

http://i.imgur.com/REqxcjP.png

http://i.imgur.com/BSWGWdp.png

Note what the name of this file is. Yours may be slightly different if you're running a newer version of Java. Mine is titled: jdk1.7.0_11.jdk

Now secondary click (right click) the jdk1.7.0_11.jdk file and click "Show Package Contents."

http://i.imgur.com/Fzf9YKm.png

Now double click on the folder Contents. Double click on the folder Home. Double click on the folder bin. There should now be a bunch of extensions in here, one of which is titled java. Secondary click (right click) on java, and click "Get Info"

http://i.imgur.com/5Kwhiya.png

http://i.imgur.com/SSyPoWY.png

Copy the entire path of the location of java, under the heading Where:. It should look something similar to this:

/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/bin

Step 6:

Go back to the subsonic.sh TextEdit document you still kept open. Scroll down to this area addressing Java:

http://i.imgur.com/DvmQr1c.png

Find this line:

JAVA=java

Remove the lowercase 'java' and paste the location of the java extension we copied in Step 5. It should now look like this:

JAVA=/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/bin

Now type the following on the end of that pasted line: /java

(It should now be this):

JAVA=/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/bin/java

Now find this line a bit further down:

JAVA=${JAVA_HOME}/bin/java

And replace the /bin/java with the path length you just put in the previous part

(It should now be similar to this):

JAVA=${JAVA_HOME}/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/bin/java

(Make sure you added the /java to the end like with the previous line.)

Here's what they both look like in the script again in case you're worried:

http://i.imgur.com/RcnB5Y8.png

Step 7:

Save the script. Close it and quit TextEdit.

Step 8:

If you haven't restarted your system after installing Java 7 and PostgreSQL, do that now. Now we're going to test and make sure MusicCabinet is set up properly. If you installed both Java 7 and PostgreSQL correctly, it will be.

Open your Applications folder, open the Utilities folder, and open Terminal. Let it load up and type the following but do NOT hit enter (make sure there is a space after sh):

sh

Now go back to your Applications folder, open up your Subsonic folder, and drag the subsonic.sh file into the terminal window. It should paste it's location after sh, looking like this:

http://i.imgur.com/SaxShGB.png

Hit enter. Now MusicCabinet is running.

Let's test it. Open Safari, and in the address bar, type: localhost:4040

(4040 is the port we left as the default in the subsonic.sh file, if you changed it, then it will be localhost:your port )

If everything is working correctly, you should see a screen show up like this:

http://i.imgur.com/LcnCr3n.png

If so, CONGRATS! You've successfully installed MusicCabinet! The default username/password is admin/admin.

From here on out setting up MusicCabinet should be pretty self explanatory. After letting MusicCabinet scan your library you can now add new users, etc.



A few last things to note:




Memory issues:
My library is about 15,000 songs. If you're having memory issues or issues with MusicCabinet, you can change the allocated memory to a higher number. With my library I've found no reason to do that, so I left it at the default. With a larger library you may want to consider it. Here's how to do that:

Open the subsonic.sh file (from your Subsonic folder) in TextEdit. Find this line:

SUBSONIC_MAX_MEMORY=150

Change the 150 to a higher number. 150 is 150MB of RAM, so changing it higher will allow MusicCabinet to use as much memory as you define if it needs it.


Making the script as an application to load on Startup:
Since we have a shell script here it's somewhat of a pain to have to open Terminal to run MusicCabinet every time we restart our computer. These steps will show you how to build a small Applescript to have it load on startup.

Step 1:

Navigate to Applications, Utilities, and then open Applescript Editor.

Type the following in the Applescript window:
do shell script "/Applications/Subsonic/subsonic.sh"

Should look like this:
http://i.imgur.com/N3ajEsu.png

Then hit the "Compile" button. Should now look like this:
http://i.imgur.com/Ih2IHPo.png

Next go to File, Save. The save dialog box should now open. Rename the script Subsonic Startup, and choose "Application" from the file format drop down box. Choose to Save it in your Applications folder.

Step 2:

Open System Preferences. Under the System group, choose Users & Groups. Next click on your user and then go to the "Login Items" tab. Click the + button and choose the Subsonic Startup application we just made in the Applications folder. Click add, then close System Preferences. Now restart your Mac. After it finishes booting, open Safari and go to localhost:4040. If the MusicCabinet login screen appears then you successfully built an Applescript to start MusicCabinet on boot.

Snow Leopard/Lion users:
If you can't install Java 7, I read it's because Oracle put a system check in their installation package. Your system CAN run Java 7. You just need to follow these instructions for installation (verified to work by u/lerba running OS X Snow Leopard) :

Download the program Pacifist. It allows you to remove individual files from .pkg containers. Download the Java 7 JDK .pkg from Oracle and open it in Pacifist. Extract the installer .dmg from the .pkg (should look something like this: jdk7-7uX-macosx-x64.dmg). Then use the .dmg installer to install Java 7.