See CHANGES for details of recent changes to DisOrder.
-The server supports Linux and can be made to on a Mac (see README.mac). The
-clients work on both Linux and the Mac. It could probably be ported to some
-other UNIX variants without too much effort. Things you will need:
+The server supports Linux and can be made to work on a Mac (see README.mac).
+The clients work on both Linux and the Mac. It could probably be ported to
+some other UNIX variants without too much effort. Things you will need:
Build dependencies:
Name Tested Notes
NOTE: If you are upgrading from an earlier version, see README.upgrades.
+On a Debian system, if you install from .deb files then you should be able to
+skip steps 1 to 6 and configure it via debconf. This is strongly recommended!
+
1. Build the software. Do something like this:
./configure --sysconfdir=/etc --localstatedir=/var
start up correctly there should be an error message. Correct the problem
and try again.
-7. After a minute it should start to play something. Try scratching it:
+7. After a minute it should start to play something. Try scratching it (as
+ root):
disorder scratch
The track should stop playing, and (if you set any up) a scratch sound play.
-8. Add any other users you want. These easiest way to do this is:
+8. Add any other users you want. These easiest way to do this is (still as
+ root):
disorder authorize USERNAME
- This will automatically choose a random password and add new line to
- /etc/disorder/config.private and create /etc/disorder/config.USERNAME.
+ This will automatically choose a random password and create
+ /etc/disorder/config.USERNAME.
Those users should now be able to access the server from the same host as it
runs on, either via the disorder command or Disobedience. To run
"Thought I was a gonner baby, but I'm bullet proof"
-These instructions assumes you are using Apache 1.3.x.
+As above, if you install from a .deb, much of the work will be done
+automatically.
You need to configure a number of things to make this work:
-1. If you want to have a 'jukebox' virtual host, modify the DNS accordingly and
- use a fragment such as this one:
-
- <VirtualHost HOSTNAME>
- DocumentRoot /home/jukebox/public_html
- ServerName jukebox.DOMAIN
- ServerAlias jukebox
- ServerAdmin webmaster@DOMAIN
- ErrorLog /var/log/apache/jukebox/error.log
- TransferLog /var/log/apache/jukebox/access.log
- Alias /static/ /usr/local/share/disorder/static/
- </VirtualHost>
-
- /static/ should point to the 'static' directory installed by DisOrder. If
- you don't want to use the name 'static' then you can change the url.static
- label in the web interface configuration to your preferred URL; see
- disorder_config(5) for details.
-
- Don't forget to reload Apache after modifying its configuration.
-
- Separate logging is not required but I find it convenient. Up to you.
-
-2. disorder.cgi assumes it is subject to access control (and in particular uses
- the username to report who did what). Here's how I configured Apache, given
- the above VirtualHost settings:
-
- <Directory /home/jukebox>
- Require valid-user
- AuthType basic
- AuthName jukebox
- AuthUserFile /home/jukebox/http.users
- </Directory>
-
- Adjust this according to wherever you're going to install disorder.cgi and
- its expected URL.
-
- Don't forget to reload apache after modifying its configuration. If you got
- it wrong, fix it and restart Apache.
-
-3. Create the password file configured above. Something like this:
+1. If you want online registration to work then you set mail_sender in
+ /etc/disorder/config to the email address that communications from the web
+ interface will appear to be sent. If this is not a valid, deliberable email
+ address then the results are not likely to reliable.
- # htpasswd -b -c /home/jukebox/http.users myusername mypassword
- Adding password for user myusername
- # htpasswd -b /home/jukebox/http.users othername otherpass
- Adding password for user othername
+ mail_sender webmaster@example.com
-4. The jukebox must be configured to trust the web user. The example
- configuration assumes that this is www-data, but it might be something else
- on your system. Edit the 'trust' line if necessary.
+ By default the web interface sends mail by connecting to the SMTP port of
+ 127.0.0.1. You can override this with the smtp_server directive, for
+ exampler:
-5. Install disorder.cgi in an appropriate location. Remember to make it
- executable. For example:
+ smtp_server mail.example.com
- install -m 755 clients/disorder.cgi ~jukebox/public_html/index.cgi
+2. The web interface depends on a 'guest' user existing. You can create this
+ with the following command:
-6. The config file must also allow the web interface to be any user, and it
- must list the URL of the web interface explicitly:
+ disorder setup-guest
- trust www-data
- url http://jukebox.DOMAIN/
+ If you don't want to allow online registration instead use:
-7. Give www-data (or whatever user it is) a password and edit
- /etc/disorder/config.private accordingly. This file should be mode 640 and
- owned by root:jukebox. The line should look something like this:
+ disorder setup-guest --no-online-registration
- allow www-data MYPASSWORD
+3. Make sure that DisOrder can find its icons and stylesheet. For example in
+ your web server configuration:
- After editing the config file, you must make the daemon re-read it:
+ Alias /disorder/ /usr/local/share/disorder/static/
- disorder reconfigure
+ Alternatively you could use a symlink from the right location in your
+ document root, provided your web server is configured to follow them.
-8. Teach www-data its password, by putting it in /etc/disorder/config.www-data.
- This file should be mode 640 and owned by root:www-data.
+ cd /var/www
+ ln -s /usr/local/share/disorder/static disorder
- password MYPASSWORD
+4. Install disorder.cgi in an appropriate location. Remember to make it
+ executable. Example:
- (You could also use ~www-data/.disorder/passwd for this but on some systems
- the web server user's home directory is inside the document root, which
- would have rather unfortunate consequences!)
+ install -m 755 clients/disorder.cgi /usr/lib/cgi-bin/disorder
-9. Try it out. You should be asked for a username and password that you
- configured earlier, and be shown details of what is playing and what other
- tracks have been configured for future play.
+5. Try it out. You should be able to perform read-only operations straight
+ away, and after visiting the 'Login' page to authenticate, perform other
+ operations like adding a track to the queue.
-10. If you run into problems, always look at the appropriate error log; the
- message you see in your web browser will usually not be sufficient to
- diagnose the problem all by itself.
+6. If you run into problems, always look at the appropriate error log; the
+ message you see in your web browser will usually not be sufficient to
+ diagnose the problem all by itself.
-11. If you have a huge number of top level directories, then you might find
- that the 'Choose' page is unreasonably large. If so add the following line
- to /etc/disorder/options.user:
- label sidebar.choosewhich choosealpha
+7. If you have a huge number of top level directories, then you might find
+ that the 'Choose' page is unreasonably large. If so add the following line
+ to /etc/disorder/options.user:
+ label sidebar.choosewhich choosealpha
- This will make 'Choose' be a link for each letter of the 26-letter Roman
- alphabet; follow the link and you just get the directories which start with
- that letter. The "*" link at the end gives you directories which don't
- start with a letter.
+ This will make 'Choose' be a link for each letter of the 26-letter Roman
+ alphabet; follow the link and you just get the directories which start with
+ that letter. The "*" link at the end gives you directories which don't
+ start with a letter.
- You can copy choosealpha.html to /etc/disorder and edit it to change the
- set of initial choices to anything that can be expressed with regexps. The
- regexps must be URL-encoded UTF-8 PCRE regexps.
+ You can copy choosealpha.html to /etc/disorder and edit it to change the
+ set of initial choices to anything that can be expressed with regexps. The
+ regexps must be URL-encoded UTF-8 PCRE regexps.
+If you want to give DisOrder its own virtual host, see README.vhost.
Copyright
=========
DisOrder - select and play digital audio files
Copyright (C) 2003-2007 Richard Kettlewell
+Portions copyright (C) 2007 Ross Younger
+Portions copyright (C) 2007 Mark Wooding
Portions extracted from MPG321, http://mpg321.sourceforge.net/
Copyright (C) 2001 Joe Drew
Copyright (C) 2000-2001 Robert Leslie