INTRODUCTION This README will take you through the basics of installing the ListProc 8.2 web interface. Most of the installation should be done automatically by the "Configure" script in this directory, so these instructions are somewhat brief. If you have any problems with the installation, please contact ListProc Technical Support. REQUIREMENTS Before installing, you will need to make sure your server has the following things: * Perl 5.003 or above Note before you run the Configure script: 1. Integrate the contents of srm.conf.tmpl and access.conf.tmpl into the single file httpd.conf.tmpl to follow the 1.3.x standard. The files srm.conf.tmpl and access.conf.tmpl should be empty or just read: # # This is a configuration file for the apache web server 1.3.x and higher # for use with CREN's lp-web (ListProc (tm) Web Interface). # # To avoid confusion, it is recommended that you put all of your # Apache server directives into the httpd.conf file and leave this # one essentially empty. # 2. $LPWEB/reguser/.htaccess.tmpl should read as follows. Its critical that there are quotes in the first line (otherwise it will not work with any apache 1.3.x version): AuthName "ListProc Web Interface" AuthType Basic AuthUserFile [LPWEBDIR]/lib/users require valid-user The $LPWEB/apache/conf/mime.types file needs to be updated. Be sure to use the mime.types file that comes with the Apache 1.3.x distribution. * A working web server (see NOTE: above) * If you have Perl versions newer than 5.005_02: It is not possible to use lp-web with versions of Perl newer than 5.005_02. ListProc's current web interface, lp-web, requires the Perl module, NDBM_File, which has been replaced in Perl 5.005_03 with the AnyDBM_File module. Thus, lp-web will not operate properly with Perl versions 5.005_03 and higher (such as those delivered with RedHat Linux 6.0 and its derivatives). The recommended way to use lp-web on hosts that default to Perl versions 5.005_03 and higher is to install Perl version 5.005_02 in a non-standard location, and reconfigure lp-web to use that copy of Perl. In brief, that may be accomplished by: 1. Acquire source for Perl version 5.005_02 2. Compile Perl version 5.005_02 using configure options to install in a nonstandard location 3. Replace the standard path to Perl in the lp-web config_vars file with the path to Perl version 5.005_02 4. Run lp-web's Configure utility The official Perl sources are at http://www.perl.com/CPAN/src/5.0/ It has version 5.004_05, which will probably work. It has 5.005 and patches to bring that source tree to 5.005_02, but to save people the trouble of doing the patching, Harold found three "archives that time forgot" with _02, ftped them over, made sure they were identical, and then moved the file perl5_005_02.tar.gz to the CREN site: http://www.cren.net/ftp/software/perl5_005_02.tar.gz ftp://ftp.cren.net/software/perl5_005_02.tar.gz The configure options required to install Perl in a nonstandard location are described briefly in the following excerpt from the Perl INSTALL file: By default, for most systems, Perl will be installed in /usr/local/{bin, lib, man}. You can specify a different 'prefix' for the default installation directory, when Configure prompts you or by using the Configure command line option -Dprefix='/some/directory', e.g. sh Configure -Dprefix=/opt/perl If your prefix contains the string "perl", then the directories are simplified. For example, if you use prefix=/opt/perl, then Configure will suggest /opt/perl/lib instead of /opt/perl/lib/perl5/. NOTE: You must not specify an installation directory that is below your Perl source directory. If you do, installperl will attempt infinite recursion. So the sysadmin should specify something like sh Configure -Dprefix=/space/home/lp-web/perl5_005_02 or if you want to force the use of gcc: sh Configure -Dcc=gcc -Dprefix=/space/home/lp-web/perl5_005_02 which runs a question and answer script. ListProc's web interface SHOULD work without difficulty with any web server that supports CGI scripts. However, at present we have only tested the interface with the Apache server. Additionally, the "Configure" script automatically generates valid config files for Apache, so it is probably simplest to download and use the Apache binaries. You can obtain pre-compiled binaries for Apache from the Apache web site at http://www.apache.org/dist/binaries/ The installation procedure highlighted below assumes that you will be using the Apache server. If you are using other web server software, you may have to modify the steps accordingly. A NOTE ABOUT THE WEB SERVER USER ID In order for the interface to work correctly, it MUST run as the same user as your ListProc server. If you are already running a web server on your ListProc machine for other purposes, CREN recommends that you use a seperate installation of your web server to prevent general access to ListProc's data files from other CGI scripts. The Apache configuration files generated by the "Configure" script do this automatically. INSTALLATION STEPS 1. Download the "swish-e" binary for your platform from the distribution web site, and copy it to "freestuff/swish-e/swish-e". 2. Make sure you have perl installed, and that you have working web server software on your ListProc machine. (See above) 3. Edit the "config_vars" file in this directory to set configurable variables as appropriate for your site. 4. Run the "Configure" script, to remake the included scripts and configuration files. 5. If you are using the Apache web server, execute the "apache/start" script to start the web server. 6. Add a mail alias to pipe mail intended for the web registration confirmations through the "utils/process_conf_email" script. For example, if you are using sendmail and decide on the email address "webreg@your.host", you should add the following to the mail aliases file (usually /etc/aliases): webreg: "|/path/to/lp-web/utils/process_conf_email" If your system does not allow PERL to setuid and you have the wrapper program compiled, the mail alias should read webreg: "|/path/to/lp-web/utils/wrapper" CONVERTING YOUR LIST ARCHIVES (optional) 1. Use the utils/convert_archive program to convert your existing list archives to html. The format of the command is simply: convert_archive listname Note that this will presently work ONLY to convert mail files. Any other files you have added to your list archive will not show up in the web archive. 2. Define the global default script to add messages to your web archive, by adding the following line to your LPDIR/config file: global_web_archive_program LPWEBDIR/utils/add_to_archive (Where "LPWEBDIR" is the path to your installation of the web interface) NOTE: ListProc will attempt to add files to the web archives of all lists that are currently set up for regular archives. You can explicitly DISABLE web archives for a specific list as follows: CONFIG listname password WEB-ARCHIVE OFF