Quick summary: ./configure make make install See the Upgrading section at the end for changes that might affect users of older versions. ========================== SECURITY WARNING: Do not put hypermail's output anyplace where a web server might have server side includes (SSI) enabled, unless you are sure you know what you are doing. If in doubt, check your web server configuration. If you are using Apache, look for an Options line that mentions Includes or IncludesNOEXEC. The author of an email normally has substantial control over what files hypermail creates, particularly via attachments. Hypermail is designed to insure that filenames don't end in .shtml and don't contain characters like / or \, which prevent some security problems, but there are few restrictions on what can go in a file (e.g. possibly malicious html tags - try the "text_types = *" option or "ignore_types = $NONPLAIN" option if you want to restrict this). You might also want to look at the attachmentlink and unsafe_chars options to restrict attachment filenames. Also, it is probably a bad idea to enable cgi execution on a directory that hypermail puts files in. Do not use the crappy cgi program called "mail". Before Building Hypermail: ========================== Hypermail now uses "configure" to generate the Makefiles. In the top level directory, type "configure" to create the Makefiles. If it does not work on your system, please let me know. Building Hypermail: =================== Hypermail has been normally compiled and run on Unix-based systems in the past. Today it can be configured and built using Cygwin software. I have either compiled and tested this code successfully on the following platforms or others have told me of their success. Solaris, SunOS 4.1.3, FreeBSD 2.2.5 and later, BSDI/3.x, Linux kernel 2.0.18 and 2.0.30, Redhat 5.x and later, NT using CygWin-b19 , Irix6.2, HP-UX 10.20 and later, SCO OS 5.0.5, and TRU64/OSF1 on a DEC Alpha Hypermail compiles on MacOSX, tested with X.2.6. Beware that you may need to configure it to use --disable-shared and manually execute make in src/pcre before. For more information on Cygwin and build hypermail on a Windows-based system, see the file docs/Install-win32.txt. Generic Build: 1) Type "./configure". This creates the makefiles and the config.h file needed to build the software. If you want to install Hypermail somewhere other than in /usr/local, run something like this instead: ./configure --prefix=$HOME 2) Type "make". This will build the software. If it has trouble finding gdbm (e.g. if it fails with a message such as "cannot open -lgdbm", you may need to disable gdbm with: ./configure --without-gdbm and type "make clean" and then "make" again. (Note that without gdbm, you can't do incremental updates using the folder_by_date option). On some systems you may need to add "-R/usr/local/lib -L/usr/local/lib" to the CFLAGS variable in the Makefiles, or alter your LD_LIBRARY_PATH environment variable (Willi Kernen reports that on a 64-bit Solaris, changing LD_LIBRARY_PATH to: /usr/lib:/usr/local/lib:/usr/ccs/lib:/usr/ucb/lib:/usr/openwin/lib fixed a problem). If the make fails at this line: ar cq libpcre.a maketables.o get.o study.o pcre.o and the configure had said: checking whether to build static libraries... no then you probably should try: ./configure --disable-shared If the make fails with a message such as: proto.h:99: conflicting types for `strcasestr' /usr/include/string.h:86: previous declaration of `strcasestr' then you should try removing the line in proto.h that refers to strcasestr. Testing Hypermail: ================== If you wish to test the new hypermail before installing it - chdir to tests/ - copy a mailbox you have to a local file named "testmail" - type "sh ./testhm" This will generate an archive under a newly created "testdir/" directory. Check it out with your favorite browser. When you are done testing, - remove the testdir directory, - remove the testmail file. (See the README in tests/ for more information.) Installing Hypermail: ===================== You may need to login as root for this step. To install just the Hypermail programs: - chdir to the src/ directory - Type "make install". (Or, if you prefer, just copy "hypermail" to wherever you want it). If you want a full install of Hypermail and its documentation, do make install in the main Hypermail directory (the one where you did ./configure). If it fails with something like: mkdir: "/usr/local/apache/htdocs/hypermail": Permission denied then you may need to rerun ./configure giving it the directory in which you want to install html documentation files using this option: --with-htmldir=/var/www/htdocs Upgrading: ============== The body option has been disabled as of version 2.1.4 for strict HTML 4.01 compatibility. You should replace any body command you have in your .hmrc with a style sheet (such as a file called hypermail.css in the archive directory), and set icss_url and mcss_url to the url of that style sheet. If you want the appearance that was the default before 2.1.4, your style sheet should contain this: body {color: black; background: #ffffff} h1.center {text-align: center} div.center {text-align: center} Also, if you have been using the icss_url and/or mcss_url options and are upgrading to 2.1.4 or higher, you might want to add those statements to your style sheet, as their style is no longer being provided by tags, etc. (For users not specifying an icss_url and mcss_url, default style sheets have been put in all files to maintain that style.) The overwrite option defaulted to On for many versions. Starting with version 2.1.4, it defaults to off again. You may want to turn it on again occasionally to insure that all of your archive uses the same style (assuming you have a copy of the archive in mbox format). ::: SPECIAL NOTE::: The cgi program called "mail" has been disabled. If you've been using it, you should either stop using it or look carefully enough at what it does to understand whether it is safe for you to enable its functionality. This could be a security concern for your site.