Installing Subsonic

Installing Subsonic in your server will allow you to stream your music and video files to any device connected to the Internet such as Android, iPhone, and desktop devices. this is a step by step guide of the official Subsonic installation guide using Debian/Ubuntu found here  In this tutorial I assume you already have the latest Ubuntu/Debian server already installed, and fully updated.

Note: In order to successfully complete this tutorial you need to have “root” access to the server.

Set the server with static IP

Make sure your Debian/Ubuntu server is setup with a static IP address. to check that run this command on terminal: sudo nano /etc/network/interfaces and you should get this:


in this case, the server is set to DHCP so it does not have a static IP, we need to change it to static. change the last piece of text from dhcp to static and enter your network information like this:

address 192.168.x.x


gateway 192.168.x.x


Save the config file. and then restart the network service by typing this on terminal: sudo /etc/init.d/networking restart that should update your network configuration file, if it doesn’t, reboot the server: sudo reboot now

Installing Subsonic

subsonic is a Java based server, so it requires Java to be installed. Install Java with this command: sudo apt-get install openjdk-7-jre after java is installed download the the .deb package in your server by typing this command cd /opt/ sudo at the time of this writing version 5.3 is the latest. check the official website for the current version.  Install Subsonic with this command sudo dpkg -i subsonic-5.3.deb the installation should happen very quick:


then go to http://yourseveripaddress:4040 and the welcome screen should come up:


Login with the username “admin” and password “admin” and change the password on the next screen:


If you get this warning in the panel:

Warning! The Subsonic process is running as the root user.

Then specify a different user in this file: sudo nano /etc/default/subsonic  

if  you need to create a user,  create it using these commands:

useradd “username”

passwd “username”

change the Subsonic user to that user now:


restart subsonic: sudo service subsonic restart

that warning should go away now.

Running Subsonic on port 80

Note: you need a domain name in order to complete this step.

You can set Subsonic to run on port 80 within the application itself, but most likely you will need to run other services off this server , and you don’t want Subsonic taking up port 80 on the server. so I recommend setting up apache as reverse proxy  to run Subsonic on port 80.  to do that you need to install Apache:

sudo apt-get install apache2

type the IP of your server on the browser to make sure Apache is installed:



Now install the Dev packagage:

sudo aptitude install -y build-essential

now install the modules:

sudo aptitude install -y libapache2-mod-proxy-html libxml2-dev

Some of the modules were probably already installed. restart apache sudo service apache2 restart

Setup a VirtualHost

in order to setup a VirtualHost in Apache, you need to have a valid domain or subdomain. type this command to create the virtualhost file: sudo touch /etc/apache2/sites-available/nameofyourvirtualhost.conf

then open that file in nano sudo touch /etc/apache2/sites-available/nameofyourvirtualhost.conf

copy and paste this to the file. modify it according to your needs:

<VirtualHost *:80>
ProxyPass / http://localhost:4040/
ProxyPassReverse / http://localhost:4040/
# ProxyPassReverseCookiePath /

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


enable the VirtualHost with this command:

sudo a2ensite “nameofthevirtualhostfile”

Reload apache: Sudo service apache2 reload

now type the domain URL in your browser, and subsonic should come up:


note: I don’t own the domain. I modified my host file to make to point to my server.

That’s it. that’s how you install subsonic in Ubuntu or Debian server. please leave your comments below.

More Subsonic Tutorials