Taking advantage of Ampache’s XML-API you can browse and play from one or many remote Ampache catalog(s) directly from Amarok.
Ampache Setup Instructions
In order to use the API we will need to enable and configure the Ampache Access Control Lists. This requires Admin access to your Ampache installation and access to the /etc/ampache/ampache.cfg.php file. Ampache defaults to a DENY FROM ALL behavior so you will need to setup your ACL’s before you enable the Access Control in your Config file. In the below example all of the computers running Amarok are on your local network (192.168.1.0/24).
New Installs of Ampache (3.5.x) will come with 4 default ACL’s to make configuration easier
If your ampache does not already have these ACL’s please see Configuring Access Control Lists for more information about how to create them.
Creating the Needed ACL Entries
We need to allow API access to Ampache from our local network. To do this go to the Admin tab and then click on Show Acls. Find Add API / RPC Host and click on it.
Name your ACL Entry, in this example I’ve called it “My Network” There are three choices for the type of ACL to create. The default will allow you to access Ampache’s catalog using Amarok but it will not allow you to login through the web interface. If you want API + Streaming + Web Interface access pick RPC + All under type.
You’ll notice these first two ACL’s do not have a Key. Key’s are only required for XML-RPC communication between Ampache servers. Your users will use their Web Interface Usernames and Passwords to access the API. Now that we’ve created a few ACL’s we need to make sure that Access Control is enabled. Open up your /etc/ampache/ampache.cfg.php in a text editor and find the access_control line and enabled it as seen below
; Use Access List
; Toggle this on if you want ampache to pay attention to the access list
; and only allow streaming/downloading/xml-rpc from known hosts by default
; xml-rpc will not work without this on.
; DEFAULT: false
access_control = "true"
Log out of your Ampache instance, and then log back in. If that works then go ahead and try playing some music. If either one of these things fails disable Access Control and double check your ACL entries. If you still aren’t sure why it’s failing then Enable Logging and see what the Logs report.
At this point we assume that you have Amarok2 installed and working correctly.
Enable And Configure Service
Go to Settings and then Services. Make sure the Ampache Service is enabled.
and then click Settings button on Ampache plugin. Enter the details for your server and click add.
Ampache Service Settings
- Name – This is an internal name for Amarok, up to you.
- Server – This is the fully qualified address for your Ampache server including the http://. For example, a valid server would look like http://ampache.org/demo.
- Username – This is your username to the Ampache web interface. If you specified a User in your RPC ACL then this username must match that specified in the ACL.
- Password – This is your password to the Ampache web interface
Ampache-3.5 (due out early March, or so) will be able to stream video. I will explain how to stream your favorite content to Rhythmbox or Totem using Python-Coherence (UPnP).
Ampache-3.5-svn2029 (beta2) can be found in my PPA
Additional Ampache Resources