Please notice that a native Mac installer for Subsonic is now available. Download it from subsonic.org
-Sindre
This is just a rough draft. I'll try to update it more later. You should be comfortable with the command line in order to install Subsonic.
How to install the standalone version
- Download the standalone version from the download page.
- Open up the terminal. Go ahead and setup your install location. The default location is /var/subsonic so for that you'd do "sudo mkdir /var/subsonic."
- Move your subsonic tarball (the file you downloaded in step 1) to the location you created in step Say for example you downloaded version 3.8 and you created the default location of /var/subsonic for subsonic, you'll want to run something "sudo mv subsonic-3.8-standalone.tar.gz /var/subsonic/".
- Go to your subsonic directory and unzip the subsonic compressed file. You can do something like "cd /var/subsonic" followed by "sudo tar zxvf subsonic-3.8-standalone.tar.gz".
- Next set the permissions on your subsonic directory to executable: "sudo chmod -R 755 /var/subsonic".
- Run subsonic with "sudo /var/subsonic/subsonic.sh". You should now be able to go to http://localhost:8080 and see the login page if everything went correctly.
Installing subsonic as a webapp in Tomcat
Using this method of installing subsonic, I assume that you already have Tomcat and Java installed. If not, there are many tutorials on the internet how to do so.
- First download the war file from the subsonic download page.
- Unzip the file and you should end up with a file called subsonic.war.
- Move this file to your Tomcat webapps directory. For me, I am on Snow Leopard server which comes with Tomcat so I just ran "sudo mv subsonic.war /Library/Tomcat/webapps".
- Make sure your subsonic directory and web app directories have the correct ownership and permissions. For your subsonic directory you can run "sudo chmod -R 755 /var/subsonic" and (supposing _appserver is your tomcat user) "sudo chown -R _appserver /var/subsonic". Then for your webapp directory it's going to be "sudo chmod -R 755 /Library/Tomcat/webapps/subsonic" and "sudo chown -R _appserver /Library/Tomcat/webapps/subsonic".
- Next you'll need to run tomcat. In the bin directory of your tomcat installation you'll find startup.sh. Run "sudo ./startup.sh" and that should start up Tomcat.
- You should now be able to access your install at http://localhost:8080/subsonic.
Serving your site to the outside world with Apache
So suppose you have apache up and running and you have an install of subsonic running at http://localhost:8080. How do you serve up subsonic to the outside world along with the your other websites on port 80? Probably the easiest way to do this is with mod_proxy. With mod_proxy, you should be able to point a particular address to 127.0.0.1:8080. Other options include mod_jk and mod_proxy_ajp although these require a bit more configuration in Tomcat/Java.
Transcoding
The easiest way to do transcoding is with Macports. That way you don't have to compile these programs from source.
- Download and install macports from their website http://www.macports.org
- Suppose you wanted to grab lame, run "sudo port install lame". This should install a copy of lame to /opt/local/bin so you could run /opt/local/bin/lame at this point.
- Do a symlink for lame in your /var/subsonic/transcode directory. That would be something like "sudo ln -s /opt/local/bin/lame /var/subsonic/trancode/lame".
- Make sure it's executable by running "sudo chmod -R 755 /var/subsonic/transcode".