Ampache is basically a webservice that will remotely serve up the media on your mediacenter. This is a fundamental component of my long-term plans for world domination (or rather world subterfugation). You can play your music (yes, ALL of your music) through a browser once you have ampache set up. It’s a typical LAMP setup and takes about 10 seconds if you’re familiar with LAMP.

The “nice” linux client is supposed to be Amarok. Now, I am grateful that a nice client exists. And Ampache is the best thing since the best thing since sliced bread. But when developers don’t follow the Good Rules and intentionally create difficult installation situations for everyone, it really pisses me off. Here’s a quick cheatsheet to get you (me) through the bullshit:

  • Edit [/etc/mysql/my.cnf]
# Comment out this line so that mysql allows connections other than from localhost (ie so you can connect from your LAN).
# I DO NOT appreciate having to do this and you should make sure you follow up with solid firewall rules.
# But Amarok wants direct access to your LAN's db server, so there you have it.
#bind-address				= 127.0.0.1
  • Set up a mysql amarok user and database in standard mysql fashion.  Make sure the user has full remote access (not just from localhost).
  • Now run ampache. This is just weird, but just do it. Ampache starts off fine for web acccess but to allow clients like Amarok to connect you have to add some ACL bullshit – it starts off totally locked down and disabled. Ampache->log in as admin->Admin tab->Show ACL’s->Add API/RPC Host->Add an entry. Use any name you want, make sure you pick RPC + ALL, and put in a start/end that matches your LAN IP range. Click Create ACL and three weird entries will be created for you. WHATEVER.
  • Start amarok for the first time. It will fail because you don’t have a database set up yet. Settings->Configure Amarok->Database->Fill it out! It should work now that you opened up mysql in the first step. Then you’ll have to shut it down and restart.
  • With a little luck you’ll finally be able to play some music.