====== Amarok and Ampache ====== Taking advantage of Ampache's [[:dev:XmlApi|XML-API]] you can browse and play from one or many remote Ampache catalog(s) directly from [[http://amarok.kde.org|Amarok]]. === This document is written for Ampache 3.5.x. === ==== Requirements ==== * [[https://svn.ampache.org/branches/3.5|Ampache 3.5.x (SVN Stable branch)]] OR [[https://ampache.org/downloads/stable.tar.gz|Ampache 3.5.x (Stable Release Tarball)]] * [[http://amarok.kde.org/wiki/Download|Amarok 2.1.x]] ===== Ampache Setup Instructions ===== In order to use the API we will need to enable and configure the Ampache [[Config:Acl|Access Control Lists]]. This requires Admin access to your Ampache installation and access to the /config/ampache.cfg.php file. Ampache defaults to a DENY FROM ALL behavior so you will need to setup your ACL's before you enabled 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 will come with 4 default ACL's to make configuration easier {{config:acl-default.png?240}} If your ampache does not already have these ACL's please see [[Config::Acl|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. For additional information about configuring your ACL's see [[Config:Acl|Configuring Access Control Lists]]. 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. {{config:acl-rpc.png?240}} 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 /config/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 [[:Support#Enabling Logging|Enable Logging]] and see what the Logs report. ===== Configuring Amarok ===== At this point we assume that you have Amarok2 installed and working correctly. ==== Enable & Configure Service ==== Go to //Settings// and then //Services//. Make sure the [[http://amarok.kde.org/blog/uploads/serviceconfig.png|Ampache Service]] is enabled and then click //Settings// button on Ampache plugin. Enter the [[http://amarok.kde.org/blog/uploads/ampacheconfig.png|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