Copyright (c) L-Soft international, Inc. 2005-2007
Last update: 13 Feb 2007
This simplified installation guide may also be viewed on the web at the URL http://www.lsoft.com/manuals/15.0/unixinst-sim.html .
This document sets forth a simplified installation procedure for LISTSERV for Unix platforms. A new configuration script and a single binary installer replaces the need to download two separate .tar.Z archives and manually configure LISTSERV's Makefile and go.user site configuration file before installing or upgrading.
This new procedure is designed for first-time installers or those who simply wish to install LISTSERV with most of its default settings. It is thus necessarily limited in its scope and does not provide user control over every aspect of the installation, but rather, allows the installer to set several basic options and relies on Makefile defaults for the rest.
If it is desired to have complete control over all aspects of the LISTSERV installation, it will be necessary for installers to revert to the original installation instructions (see u-install.memo shipped in this kit, or see http://www.lsoft.com/manuals/15.0/unixinst.html ).
For changes to LISTSERV from version 14.5 to 15.0, please view the LISTSERV 15.0 release notes at http://www.lsoft.com/manuals/15.0/LISTSERV15.0-Release-Notes.pdf .
There are two versions of LISTSERV: A "Classic" version and a "Lite" version. For a description of the differences between LISTSERV Classic and LISTSERV Lite, please see the URL
LISTSERV Lite is user-supported, via the mailing list
Please do not send questions regarding LISTSERV Lite to L-Soft's normal support addresses.
Please see http://www.lsoft.com/manuals/y2k-faq.stm .
LISTSERV for Unix is available for AIX, FreeBSD, HP-UX, Linux, MacOS, OSF/1-Digital Unix-Tru64, and Solaris-SPARC.
A comprehensive list of operating systems (and versions) under which LISTSERV is supported can be found at
There is no difference between the distributions except the license shipped with them. The Classic kits ship with an evaluation LAK for Classic that expires in either June or December of the current year. Lite kits ship with a permanent Lite Free Edition LAK.
LISTSERV requires exclusive access to the mail sent to one username. Unless you have a very good reason to do otherwise, the username "listserv" should be used for that purpose. Many people around the world are already familiar with LISTSERV, and will assume that mail sent to <firstname.lastname@example.org> will reach the server. The LISTSERV account is just an ordinary user, it doesn't need privileges, doesn't require access to restricted directories, and it doesn't need to have any particular UID or GID.
At this time you should create the "listserv" userid according to your usual procedure for creating new user accounts.
For most purposes it is sufficient to install LISTSERV under the "listserv" user's root directory, that is, the directory you arrive in by issuing the command cd ~listserv . Under most unixes supported by L-Soft, the absolute path is typically /home/listserv .
If it is preferred to install LISTSERV in a different location, determine what that location will be.
In either case you will need to know the absolute path to the installation directory when you run the configuration script.
LISTSERV needs to know a variety of things about your system, and also how to communicate with the people that will be maintaining the software. You will need to gather this information before you start.
Determining the NODE setting
The NODE setting is the fully-qualified domain name as registered in DNS for the machine LISTSERV is running on, and is the hostname by which LISTSERV will always identify itself when it sends mail out. This is something like LISTSERV.YOURDOMAIN.COM . It must be a fully-qualified domain name (FQDN) and it must map to an A or MX record in your domain's DNS service. While it is possible to use a bracketed IP (eg, [10.0.0.24]) for testing purposes, as noted above the use of bracketed IPs in production is not supported and not recommended.
Determining who will be authorized to administer the server
You must provide a space-separated list of email@example.com type email addresses belonging to people who have authority to manage LISTSERV--specifically the people who are allowed to create lists, but also who have global authority on the server to look at lists, modify list headers, and so forth. There are some advanced options for this setting but for right now you will probably just want to insert your own email address so that you can test the server. You can always go back to add more administrators by editing the go.user configuration file and adding more space-separated entries to the POSTMASTER= variable setting.
Please note carefully that a LISTSERV administrator should NEVER be LISTSERV@ anywhere or POSTMASTER@ anywhere. In fact, a LISTSERV administrator address should never contain the string "listserv" to the left of the @ sign. These userids are reserved and mean specific things to LISTSERV. If you need to use a generic name for a postmaster account, it is recommended that you use something like "listmaster" or "lstmaint" instead.
Determining where to install the web archive and administration interface
It should be noted that LISTSERV cannot use a remote web server for its web archive and administration interface. The web server must be installed on the same machine with LISTSERV.
Normally the locations for the various parts of the web interface are dependent on how you have set up your web server. You need to know
1. The absolute disk path to your web server's cgi-bin (executable scripts) directory
This is the directory normally reached by the relative URL /cgi-bin . A common absolute path to this directory is /var/www/cgi-bin , which the installation script uses as a default. Your web server may have been installed with its cgi-bin directory in a different place, or with a different name; so it is imperative that you verify the absolute path that leads to the executable script directory on your web server. The 'wa' CGI program used for the web interface is installed in this directory.
2. WWW_ARCHIVE_CGI - The (preferably relative) URL that executes the 'wa' cgi program
This is normally /cgi-bin/wa .
3. The base URL (preferably relative) of your web-enabled archives directory
This is normally /archives . This points to the directory where LISTSERV will write the various HTML files needed for the web archive and administration interface.
4. WWW_ARCHIVE_DIR - The absolute disk path of the directory that corresponds to the base URL of your web-enabled archives
This is the directory normally reached by the relative URL /archives . A common absolute path to this directory is /var/www/html/archives . Again, your webserver may have been installed with its root content directory in a different place, so it is likewise imperative that you verify this absolute path as well.
LISTSERV Classic: For LISTSERV Classic, point your browser to http://www.lsoft.com/download/listserv.asp#unix .
LISTSERV Lite: For LISTSERV Lite, point your browser to http://www.lsoft.com/download/listservlite.asp#unix
In both cases, follow the registration instructions and download the file into a scratch directory.
Superuser privileges are required for the installation of LISTSERV. Thus, for this step, you must log in as (or become) the superuser, 'root'.
The installation script will exit immediately upon execution with an information message if you are not 'root'.
Once you have downloaded the kit to your scratch directory (IMPORTANT: do not download the kit into the directory where LISTSERV will actually be running from!) , do the following:
Assuming Solaris as an example, issue the following commands at the shell prompt:
chmod u+x Solaris.bin
Assuming Linux as an example, issue the following commands at the shell prompt:
chmod u+x Linux-Lite.bin
For the first command, in both cases you can use 'gunzip' if your system does not have 'uncompress'. The second command in either case starts the installation script:
Please read the installation guide, located at
If you have read the guide, please press enter to continue.
Hit enter at this point if you have already taken a look at the installation guide (which of course you are doing right now).
Using /tmp/LISTSERVinstall6936 for temporary files.
L-Soft LISTSERV(R) installation script, version 15.0
Welcome to the LISTSERV for unix installation script! This script will
ask several questions pertaining to the installation. Before continuing,
you should collect the information needed. If you have not yet read the
installation guide (unixinst-sim.html) that is shipped in the installation
kit, which will explain what information you need, we recommend that you
do so now.
After you answer the questions, you will be given a chance to review your
choices and make corrections. For instance, you should make sure that
CFLAGS is correct for your system if you want to link with a DBMS
library. The script defaults may not be correct for your system.
Are you ready to continue?
Assuming that you have collected all of the information noted earlier in this document, you can type 'y' and proceed. If you have not collected the information, type 'n', collect the information, and run the script again. Next, you are asked if it is OK to unpack the distribution files in the current directory. Remember, you should be running the installer from a scratch directory, not from the directory in which you intend to install LISTSERV.
Using gawk for awk.
Current directory is: /tmp/LISTSERVinstall6936
We need to unpack the distribution files in this directory. Proceed?
Trying gunzip to uncompress distribution...
Next, the installer checks for the existence of an appropriate user account.
Testing for a working listserv user account...
If there is no working "listserv" account on the machine, this test fails and the installer exits. You will need to create a "listserv" user account with a working shell (preferably 'sh', 'bash' ,or equivalent) under which LISTSERV can run, then re-run the installer.
The script then asks questions about your compiler:
How do you run the C compiler?
Please enter any additional options to pass to the C compiler.
In most cases, you should not change these answers. Most compilers, including gcc, run from a generic link 'cc' that is installed when the compiler is installed. If you are not sure if your compiler can be invoked with 'cc', simply leave this alone and the script will test the default before continuing.
The "-O" option is required in order to optimize compilation, that is, to reduce the size of the resulting executable and reduce execution time. L-Soft does not recommend in any case that this option be dropped, or that any other options be added. The opportunity to add compiler options is provided only for special cases which may be identified by L-Soft's support or development departments.
Note: If you are trying to install LISTSERV under 64-bit Solaris, you may also have to add the compiler option -m32 to force 32-bit compilation. This is less important if you are installing the precompiled binaries, but if you intend to add DBMS functionality or simply wish to re-link the binaries locally, not specifying 32-bit compilation may result in failure.
The next question relates to where the lsv_amin mailer and lcmd command pipe interface will be installed. The most common location for such files is /usr/local/bin . If you want to place these executables in a different location, enter that location at this point.
Where should the LISTSERV mail and command line interfaces be installed?
Next you must provide the absolute path to the main LISTSERV directory. L-Soft recommends that LISTSERV's files be placed in the 'listserv' user's home directory (usually /home/listserv).
Where should the server code and data files LISTSERV needs be placed?
Next, you have the option to decide how the path to the spool directory will be passed to the lsv_amin mailer program, which interfaces sendmail to LISTSERV. In most cases it is recommended to take the default, "paths". This is discussed in more detail in the full LISTSERV installation guide, but suffice it to say that unless you are using an old version of Zmailer, there is no compelling reason to change this from the default.
How do you want the path to the spool directory passed to the lsv_amin
mailer? (See the documentation for more information; however it is
recommended to take the default.)
LISTSERV Classic only: The following section allows you to compile in DBMS support for either Oracle, DB2, or UnixODBC (assuming availability for your unix platform). Note carefully the following requirements for DBMS support:
Next, please choose which DB modules to link with.
OCI? (Requires that SQL*Net is installed on the local machine.)
DB2? (Requires that DB2 be installed on the local machine.)
UODBC? (Requires that unixODBC be installed on the local machine. DB2 must be disabled.)
Finally you will be presented with the choices you have made. You can either change individual options at this point or continue with the installation.
c) LDFLAGS= nooci.o nouodbc.o
Choose an option to change or hit enter to accept values and continue.
If you choose to go on, the script continues with:
Now using awk to rewrite the Makefile to use your choices...
After this operation, the Makefile will be properly configured for your installation. You are then prompted:
Would you like to install the required files in /home/listserv right now?
This installs LISTSERV per your configuration responses above. (If you are upgrading, this is identical to 'make update'.)
Next, you are asked if you want to install the web interface. The web interface is not required to run LISTSERV. If you choose to install it, enter "y". If you do not want to install the web interface at this time, enter "n" and the script will skip this section.
Would you like to install the web interface?
If you answered "y", next you must enter the path to your web server's executable script directory, which you should have determined above while gathering installation information.
What is the path to your CGI directory? (The web interface will be
Install WA setuid listserv? (Answer yes unless you intend to use suexec. The wa cgi must run as the listserv user.)
If you want to run WA setuid listserv, answer "y". In this case, the 'wa' CGI script must be owned by the 'listserv' user, and must be set up to run 'suid listserv', which means that the suid bit (mask 4000) must be set in order for it to work properly. By default, 'wa' is installed with permissions 4755 and owned by 'listserv'.
However, the "normal" method of running WA setuid listserv is not appropriate if you prefer to run CGI programs under suexec. In that case you would want to answer "n" to the question.
Once you make this decision, the 'wa' CGI script is installed (in our case we are installing WA setuid listserv):
After this script completes, please make sure that the permissions and ownership on /var/www/cgi-bin/wa are acceptable to your local security policy.
They are currently:
-rwsr-xr-x 1 listserv root 768193 Feb 9 17:18 /var/www/cgi-bin/wa
Once the web interface is installed, if a go.user file already exists in LISTSERV's home directory (for instance, if you are doing an upgrade), it will be read in and used for default settings:
Next, the script offers to let you do some basic configuration of the 'go.user' file, which contains LISTSERV's startup configuration. This file is required and for new installations it must be customized for your local site, or LISTSERV will not work properly.
Note that if you are upgrading your LISTSERV installation, you will NOT lose your current settings if you answer "y" to the following question.
Would you like to set some common options in /home/listserv/go.user ?
Next, several configuration variables may be set. For brand-new installations, you should not take the defaults! In this case the defaults are provided only as examples.
The fully qualified domain name for this host.
Pattern defining local mailing addresses, use asterisks to match any
number of arbitrary characters.
The e-mail address(es) of the LISTSERV maintainer(s). SPACE SEPARATED!
Optional WWW archive interface - see installation guide for details.
As before, you are then presented with the changes (if any) that you have made, and prompted to choose options to change or hit enter to continue.
Choose an option to change or hit enter to accept values and continue.
The changes are then written to go.user:
Writing your choices to /home/listserv/go.user ...
At this time the script will write a file called /etc/lsv-wa.config, which is a world-readable, root-owned file containing configuration information used by the 'wa' script. It asks you to verify the web archive URL before it continues:
Several settings need to be written to /etc/lsv-wa.config
What is the (preferably) relative URL that leads to the directory specified in WWW_ARCHIVE_DIR?
If the default is suitable, hit return, or if it is not, type in the correct URL and hit return.
*** Installation completed successfully! ***
Please use your web browser to read
in order to complete and test the setup.
Cleaning up /tmp/LISTSERVinstall6936...
And you are finished. Congratulations; you have successfully installed LISTSERV for unix!
At this point you are finished with the simplified installation instructions. You should now switch to the regular installation instructions (see http://www.lsoft.com/manuals/15.0/unixinst.html - Mail ), starting with the section "Telling your mail system about LISTSERV".