brigit - INSTALL =================== Version 0.95 - 03 August 2002 ----------------------------- http://www.the42.net/brigit Requirements: Web server able to run perl scripts. A web-browser and media files Media files organized in a directory structure similar to: /artist1/album1/song1 /artist1/album1/song2 ... /artist1/album4/song1 ... /artist42/album2/song10 Installation 1) Place the files in a directory in your web tree that allows scripts to be executed For Apache, that means having ExecCGI enabled 2) Modify brigit-config.inc appropriately to configure brigit. Recommendations o Insure that people do not have access to the ancillary files. For Apache, I typically setup the following: Order allow,deny Deny from all Satisfy All o Setup some form of authentication on the script. I typically run brigit through a secure connection (https) which requires uses basic apache authentication with an .htaccess file like: AuthName "brigit" AuthType Basic AuthUserFile /home/brigit/conf/.htpasswd require valid-user o I generally have the media files in a directory outside of the normal web tree and use an "Alias" directive. Configuration (brigit-config.inc) o $CONFIG{html}{module} = 'brigit'; - name of the module. Currently only used in the html title o $CONFIG{html}{title} = 'ASTRID'; - title of this instance. Currently only used in the html title - I run different version of brigit (on different machines) and this allows me to tell by looking at the title which instance this page is for o $CONFIG{html}{version} = '0.95'; - For future use o $CONFIG{html}{basepath} = '/brigit/'; - Identifies the base path (from the root of the web document root) that brigit will be run from - I've got a virtualhost running for brigit, and the script is right off the root. o $CONFIG{html}{scriptname} = 'brigit.cgi'; - name of the script. - brigit.cgi is of course the default, but if your web server is setup to allow index.cgi (or something similar) as a DirectoryIndex, you can use '' as the script name. o $CONFIG{html}{scriptpath} = $CONFIG{html}{basepath} . $CONFIG{html}{scriptname}; - This is the complete path of the script. o $CONFIG{html}{images} = $CONFIG{html}{basepath} . 'images'; - path to the images o $CONFIG{html}{server} = "www.example.com"; - hostname of the site that has the media files o $CONFIG{html}{protocol} = "http"; - protocol that is used by the site with the media files. - I don't believe it's possible to use https here. I don't know that any of the - media players can deal with http requests over ssl o $CONFIG{html}{mediapath} = "media/"; - path (from the document root) of the media files. - combined with $CONFIG{html}{protocol} and $CONFIG{html}{server} to form the URL to the media files o $CONFIG{html}{navfile} = 'brigitnav.html'; - As an alternative to dynamically generated the navigation frame contents for every request, you can pre-build it and supply the filename of the pre-built version here. - Set to blank to have brigit dynamically generate the navigation frame. - To create the pre-built file, you should be able to use something like: lynx -auth=username:password -source "https://www.example.com/brigit/brigit.cgi?a=n" > brigitnav.new After confirming that the file is ok, move it into place (mv brigitnav.new brigitnav.html) o $CONFIG{template_dir} = './templates/'; - Currently not used, though the template code has a reference to it o $CONFIG{template_ext} = '.tmpl'; - Currently not used, though the template code has a reference to it o $CONFIG{source} = "file"; - For future expansion. Trying to make it so there can be different methods of building the play lists. Plan on having a SQL based version as well. o $CONFIG{basedir} = "/usr/local/var/brigit"; - what is the full file system path to the media files. o $CONFIG{sourcedir}{"/u0/USR/LOCAL/VAR/brigit"} = 1; o $CONFIG{sourcedir}{"/u1/USR/LOCAL/VAR/brigit"} = 1; - this variable helps restrict what directories brigit will look at. - if the files and directories in $CONFIG{basedir} contain symlinks to directories / files outside of $CONFIG{basedir}, those directories need to be listed here. - if there are no values defined, then symlinks outside of the $CONFIG{basedir} are not allowed