To set up a music server, isn't as hard as you think. It doesn't require programming know-how, and it certainly doesn't need much in the way of hardware. If you've got a desktop lying around being unused, and has around a gig of ram and CPU power, and 20 gigs of hard drive, you have your server right there. My personal server clocks in at:- 3.01 Ghz Single-core Processor
- 3 Gig DDR1 Ram
- 1 - 8.4 Gig IDE hard drive
- 1 - 320 Gig SATA hard drive
- 1 - 160 Gig hard drive
If you've got less then that, that's fine. I've had a lot of time and money to put into this PC, and since it used to be a gaming PC, it's specs are a lot higher then most computers will be. But your hard drive should be enough to hold a 5 gig OS, and however much music you're going to be running.
Now, keep in mind, there is an easy way, a more complex way, and then a way you might wish I had not have told you. However, nothing is impossible. The easiest solution to get a home music server up yourself, is by using something called VortexBox. Download the ISO, burn to a CD, then install to your server box, where it walks you though it, step by step. Once it's up, you can connect to it and stream your music all over like that!
The only problem with this however, is if you want to run a file server to complement it. It has a nice web interface, however, we'll be giving you a nice web interface to go with yours, not only to stream your music, but to provide you with a lot more powerful tools.
Currently, I've bounced back and forth between all the ideas possible for server OSes to help make set up easier. And my choice for this server build, as well as the one I'm using at the moment, is a little known port of Ubuntu, called Crunchbang Linux. This is because of it's light desktop manager (Openbox), it's ability to be modded to our purpose, and for the general ease of use, both in updating and using it as a desktop PC as well. The major downside though is that it is not meant to be a server, and because it's not well known, you won't get much luck trying to figure some of the little things out. For example, I can't change the desktop background with it on my server... Nitrogen is the program's name that does it, but it seriously isn't the most user friendly out there! If you'd like something a bit more user friendly and better supported, you're in luck too, because this tutorial will also cover how to set it up via Ubuntu Desktop.
(So if you'd like to say thanks, please, do! I'll accept gifts too! LOL)
After you've downloaded and installed your operating system of choice, you will still need to download the server programs I've listed. Choose ONE of the two (Sockso OR Gnump3d but NOT both.), and download it along with Webmin. Now for the fun part. Burn the ISO to a CD or a USB if your system supports booting from it. Once it's booted into your CD, make sure to follow my Linux for Beginners tutorial on how to install the OS. It will explain what you need to know. If you're using Crunchbang, right click (as all our menus are right click based) and down to Install, then Install Crunchbang. From there, the install screens are similar, though I'd recommend logging in automatically, save yourself a bit of hassle in the long run.
Once the said OS is installed, reboot, and load up your new OS. If all works as planned, you should be looking at a freshly installed Linux install! Congrats! But we're not done yet.
Copy your files over that I asked you to download either by flash drive or by CD by opening your file manager. In Crunchbang, that's a right click, followed by a left click on File Manager, in Ubuntu, you go to Places, then Home. From there, they both have a list of your mounted files on the side, and you can click to open your file. WARNING: If you use a flash drive, MAKE SURE YOU SAFELY REMOVE IT. Ubuntu and other Linux distros have this nasty habit that if you yanked the USB drive out without safely removing it, of thinking it was still in use, and refuse to mount it. Crunchbang has this same bug. It's a pain in the @$$, so get used to doing things this way.
Webmin's the program we're going to have to install first, so please, install it by double clicking and providing your password when provided. Now the next part is to install the server. If you choose Sockso, unzip the file to your desktop. If you chose Gnump3d, install it the same way you did with Webmin. Simple, eh?
Here's where it gets harder. Sockso, Webmin, Gnump3d won't automatically run because you're missing files, and in the case of Sockso, haven't made the file able to run yet. That's what we're going to do now. Go to Terminal (in Crunchbang, it under the right click menu, in the first part [do you see why I like it?], in Ubuntu, it's Programs>Accessories>Terminal) and type/copy and paste the following command: Code:
sudo apt-get install JRE samba && sudo apt-get update && sudo apt-get upgrade
This will install your Java Runtime Environment on your server, so you can run Sockso, Samba so you can run Gnump3d and Webmin, and update your computer. Once done, you might be asked to reboot, and if so, do so. (Crunchbang users, right click, Quit, Reboot.) Once it's back up, we've got a little more tweaking to do. On a separate PC in Firefox (my preferred browser but I know it works. IE does too, not sure about Opera or other browsers), type:
Code:
https://MYCOMPUTERSNAME:10000
where MYCOMPUTERSNAME is the name of your PC. If you're using Firefox, it should connect but warn you about a security certificate error. If it does, Allow yourself access to it. What you're doing here is connecting to your server, and the creators of Webmin made a security certificate demo just in case a corporation uses it. Since it's not that important for us, we can just skip it. Once that's clear, it will prompt you for your username and password. In our case, it's the same username and password you used to log into your OS.
Now on the page we should see the overall stats of our machine, it's specs, and on the side, some commands. What we're looking for here, is our File Manager, which is under the Other section of the side bar. Hitting File Manager, go to then click on and hit the EDIT button up at the top. Right now, we want to change the music location to where it's saved to, so you're looking for the code to which you should change to where your music is. Mine is sitting on a mounted internal hard drive, under Server_Data (name of the hard drive), so mine reads as
root = /media/Server_Data/Music
but yours might be different, so if it's on the desktop, it's
root = /home/USERNAME/Desktop/FOLDERIT'SIN
. Keep in mind that Linux IS case sensitive, so and will look different to Linux. While we're in the config, you can also change the port number (make sure to change it to one you can access... I've set mine to 666, because I know Firefox doesn't throw an error on that port.) as well as it's theme (check under Preferences to see one you like, then change this line: Code:
theme = SchwartzNGrau
. Then add GNUMP3D to the startup by going to System > Bootup and Shutdown. In there, hit
Create a new bootup and shutdown action.
and type the following:
NAME: GNUmp3D
Description: Whatever you'd like
Bootup Command: /etc/init.d/gnump3d start
Shutdown Command: /etc/init.d/gnump3d stop
and make sure the Start at Boot Time is set to on. Then hit create, and you're nearly done. Go back to the File Manager, and browser to your folder, then hit Sharing when your folder is selected, and hit the Share with Windows. And you're done. If you'd like to make it into a file manager, just make a new folder and set the sharing to the same! Very easy.
Sockso's a little more complex. Once you've installed the programs (JRE and Samba), you can run . When it asks what you'd like to open with, choose to hit and type . Now that might not make sense to you, but to Linux, that tells the computer that you're opening the terminal to make this work. To make it run on boot, you have to open terminal and type then copy and paste this script: Code:
#!/bin/sh
# run sockso at boot
case "$1" in
'start')
/home/USERNAME/sockso-1.2/linux.sh start
;;
'stop')
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0 and Save As to /etc/init.d/sockso (make a new folder if you have to), then close gedit. Now that you're back into Terminal, type/ copy&paste: Code:
chmod +x /etc/init.d/sockso
. From there, it should work on boot. And after that, the file server setup is the same. Webmin, Create New Folder, name it, then Share it. Not that hard at all.
Since Sockso actually has a GUI interface for adding music, I'm not going to go into detail with it, but it's basically a few clicks and is much easier once up to understand, unlike Gnump3D which is all config file based. Both do a great job and both do the job well. If you'd like my personal preference, I use Gnump3D with Crunchbang, mostly because I like messing around with config files (once you understand them, they can do just about anything.) unlike limited GUIs. But either way, you'll have a screaming server now to do most anything with! Keep it legal now!