1.1 Downloading the installation kit

For LISTSERV Classic, point your browser here:  Download LISTSERV® Classic/HPO .

For LISTSERV Lite, point your browser here:  Download LISTSERV® Lite .

In both cases, follow the registration instructions and download the file into a scratch directory.

1.2 Unpacking and running the installation script

Superuser privileges are required for the installation of LISTSERV.  Therefore, 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:

For LISTSERV Classic:

Assuming Solaris as an example, issue the following commands at the shell prompt:

gunzip Solaris.bin.gz
chmod u+x Solaris.bin


Assuming Linux as an example, issue the following commands at the shell prompt:

gunzip Linux-Lite.bin.gz
chmod u+x Linux-Lite.bin

The second command in either case starts the installation script:

[home]root:~/scratch# ./Linux-RH7x64.bin
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 17.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 thatCFLAGS 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?
[y/n] y

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?
[y/n] y
common.tar.Z Linux-RH7x64.tar.Z
Trying gunzip to uncompress distribution...
common.tar Linux-RH7x64.tar

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.

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/Classic HPO only:  The following section allows you to link in DBMS support for either Oracle, DB2, or UnixODBC (assuming availability for your unix platform).  Note carefully the following requirements for DBMS support:

    • LISTSERV Classic (or Classic HPO) is required.  This section will not display if you are installing LISTSERV Lite as DBMS features are not available with LISTSERV Lite.
    • LISTSERV must support the relevant DBMS on your operating system.  If Oracle is not supported, you will not be asked if it should be installed.  Similarly, if DB2 is not supported, you will not be asked if it should be installed.  If neither DBMS is supported by LISTSERV on your operating system, the section will be skipped.
    • Your computer must have a compiler, such as gcc.  (If no compiler is available, these items will be skipped, since DBMS support requires that the 'lsv' binary be relinked.)
    • Your computer must have the appropriate DBMS installed.  For Oracle this means that Oracle Net (formerly SQL*Net) or equivalent must be installed on the local machine.  For DB2 this means that DB2 must be installed on the local machine.  For UnixODBC, this means that UnixODBC must be installed on the local machine.  If this requirement is not met and you attempt to compile DBMS support in anyway, the relinking operation will fail when the DBMS support libraries are not found.
    • You cannot specify support for DB2 and UnixODBC at the same time.  You may specify support for any one supported DBMS alone, or you may specify support for either CLI and DB2, or CLI and UnixODBC.

Next, please choose which DB modules to link with.

OCI? (Requires that SQL*Net is installed on the local machine.)
[y/n] n

DB2? (Requires that DB2 be installed on the local machine.)
[y/n] n

UODBC? (Requires that unixODBC be installed on the local machine. DB2 must be disabled.)
[y/n] n

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.

a) CC=cc
c) LDFLAGS= nooci.o nouodbc.o
d) BINDIR=/usr/local/bin
e) LSVROOT=/home/listserv
f) LSVSPOOL=/home/listserv/spool
h) WHOAMI=/usr/bin/whoami

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?
[y/n] y

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?
[y/n] y

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 installed there.)

Install WA setuid listserv? (Answer yes unless you intend to use suexec. The wa cgi must run as the listserv user.)
[y/n] y

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):

installing wa
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:

reading /home/listserv/go.user

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: If you are upgrading your LISTSERV installation, you will NOT lose your current settings if you answer "y" to the following question.  Simply do not change any of the values presented if you wish to keep them as-is.

Would you like to set some common options in /home/listserv/go.user ?
[y/n] y

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.

a) NODE=rerun.in.lsoft.com
b) LOCAL=*.in.lsoft.com
c) POSTMASTER=nathan@example.com
d) WWW_ARCHIVE_CGI=/cgi-bin/wa
e) WWW_ARCHIVE_DIR=/var/www/html/archives
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
and read starting at section 3.8, Telling Your Mail System About LISTSERV,
in order to complete and test the setup.

Cleaning up /tmp/LISTSERVinstall6936...

And you are finished.  Congratulations; you have successfully installed LISTSERV for unix!