Installation guide for LISTSERV 14.5 for UNIX(R)

 

Copyright (c) L-Soft international, Inc. 1994-2006

Last update: 1 Sep 2006

Contents:

    Statement of Year 2000 Compliance for L-Soft's Products

    Unix Platform Support in Version 14.5

    Classic Distribution vs. Lite Distribution

    New Simplified Installation Option

    Installation Overview

    For those sites running Sendmail

    Sendmail and restricted shells

    Usernames needed by LISTSERV

    Extracting installation materials from the "tar" files

    Deciding where LISTSERV will reside

    Building the interface utilities and LISTSERV server (requires compiler)

    Adding DBMS support (requires compiler)

    Installing the web interface CGI binary

    Using the precompiled binaries

    Moving the programs and files to the proper directories

    Configuring LISTSERV for your system

    Telling your mail system about LISTSERV

    Telling sendmail about LISTSERV

    Telling postfix about LISTSERV

    Telling qmail about LISTSERV

    Telling Post.Office and Netscape Mail Server about LISTSERV

    Running LISTSERV under a userid other than 'listserv'

    IMPORTANT - License Activation Key

    Starting LISTSERV and Verifying a Successful Installation

    Starting and Stopping LISTSERV in the Background

    Talking to other LISTSERV evaluation kit users

    Registering the server

    Automatic Registration for LISTSERV Lite Servers

    List Creation

    Deleting a list

    Note to customers migrating from VM

    Starting LISTSERV automatically

    File server functions

    What is 'sf90m'?

    The bare facts about installing LISTSERV

    Installing the LISTSERV web archive and administration interface

    Installing F-Secure (Linux-x86 ONLY)

    Upgrading your LISTSERV installation

    Contacting L-Soft Support

    Documentation and where to get more help

 

For changes to LISTSERV from version 14.4 to 14.5, please view the LISTSERV 14.4 release notes at http://www.lsoft.com/manuals/1.8e/index.html

 

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

 

http://www.lsoft.com/listserv-lite.html

 

LISTSERV Lite is user-supported, via the mailing list

 

LISTSERV-LITE@PEACH.EASE.LSOFT.COM

 

Please do not send questions regarding LISTSERV Lite to L-Soft's normal support addresses.

Statement of Year 2000 Compliance for L-Soft's Products

 

Please see http://www.lsoft.com/y2k-faq.html .

Unix Platform Support in Version 14.5

 

LISTSERV version 14.1 (formerly 1.8e-2002a) was the last version for several operating systems which have become obsolescent over the life of this product cycle. The following unix operating systems are no longer supported in version 14.1 and following:

 

BSDi (Intel)

IRIX (MIPS)

Solaris-x86 (Intel)

 

Sites running these operating systems should migrate to a different operating system. Please contact your sales representative for further information.

 

It should be noted that L-Soft dropped support for the following operating systems with the original release of LISTSERV 14 (in other words, LISTSERV 13 or 1.8d was the last version for these platforms):

 

Windows NT 3.5, 3.51, 4.0 pre-SP6 (Intel)

Windows NT (Alpha AXP)

SunOS 4.x (SPARC)

Ultrix (MIPS)

OpenVMS (VAX)

VM/SP, VM/HPO

 

On the plus side, L-Soft now formally supports FreeBSD (Intel) and Linux (S/390) since LISTSERV 14, and MacOS beginning with LISTSERV 14.4.

 

A comprehensive list of operating systems (and versions) under which LISTSERV is supported can be found at

 

http://www.lsoft.com/products/listserv_os.asp

Classic Distribution vs. Lite Distribution

 

LISTSERV Classic Distribution

 

LISTSERV Classic for UNIX(R) is distributed as two compressed "tar" archive files (the original method of distribution) or as a single binary installation kit (used in the "simplified" installation), depending on your needs. The installation guide, which is the file you are currently reading, is also available independently of the archives.

 

In the original distribution scheme, one of the tar files (common.tar.Z) contains data files common to LISTSERV on all UNIX(R) platforms, including the Makefile, and the other (`uname`.tar.Z, where `uname` corresponds to your OS-specific distribution) contains the compiled version of the LISTSERV server, object files for recompilation, and the 'wa' CGI for the web archive interface. In order to simplify the process of removing extraneous files created during the installation procedure, you should copy the tar files to a scratch directory, install LISTSERV, and then "rm -fr /tmp/scratch" (or whatever you name the staging area).

 

The "simplified" distribution is a single binary that is run at the shell prompt.  This installer asks a number of questions related to the installation and then installs LISTSERV accordingly.

 

LISTSERV Lite Distribution

 

LISTSERV Lite for UNIX(R) is distributed as a single compressed "tar" archive file, `uname`-Lite.tar.Z  (the original method of distribution), or as a single binary installation kit (used in the "simplified" installation), depending on your needs.

 

In the original distribution scheme, all files needed, including the "common" files, are shipped in the single archive.

 

The "simplified" distribution is a single binary that is run at the shell prompt.  This installer asks a number of questions related to the installation and then installs LISTSERV accordingly.

The Simplified Installation Option

 

A simplified installation procedure for LISTSERV for Unix platforms is now available.  A new configuration script replaces the need to manually configure LISTSERV's Makefile and go.user site configuration file.

 

In the 14.4 release and following, the installation kit can be downloaded as a single compressed binary, shipped as `uname`.bin.Z. Simply uncompressing the kit (with either compress(1) or gunzip(1)), setting its minimum permissions to 500 (owner r-x), and running it from a scratch directory will allow you to install LISTSERV without having to unpack .tar.Z files, modify the Makefile, etc.  While the old two-part kits will remain available for the foreseeable future for sites requiring more control over the installation, this new one-part kit is 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 continue with the current document.

 

The simplified installation procedure can be viewed on the Web at http://www.lsoft.com/manuals/1.8e/unixinst-sim.html .

Installation Overview

 

If you're very familiar with software installations on your system and would prefer terse, matter of fact steps rather than complete instructions, skip to the section entitled "The Bare Facts About Installing LISTSERV" near the end of this document.

 

LISTSERV for UNIX is shipped with both:

 

·         pre-compiled lsv and lsv_amin binaries which will run with the default settings; and

·         an lsv.o object file and C source for lsv_amin that can be linked locally if you need to modify the Makefile or simply prefer to compile the server yourself.

 

The installation of LISTSERV consists of the following steps:

 

·         creating a "listserv" username,

·         extracting the files in the archive file(s) into a 'scratch' directory,

·         customizing the Makefile, including deciding what directories you want used for incoming mail, as well as for the LISTSERV program and data files,

·         depending on whether or not you are using the precompiled binaries:

·         if you are using the precompiled binaries: renaming 'lsv_amin-precompiled' to 'lsv_amin'.

·         if you do not have a compiler, moving or deleting the 'lcmd.c' and 'jobview.c' files from the 'scratch' directory.

·         running "make install", which creates the necessary directories and copies the programs generated in the previous step to the proper places, and sets file and directory permissions so that lsv_amin and 'listserv' can have access to their files,

·         modifying the "go.user" shell script to accurately describe your system,

·         appending entries to your /etc/aliases file to handle mail sent to your LISTSERV username, and directing your sendmail daemon to use the new aliases,

·         creating a "license.merge" file to make license key information available to your server,

·         (Classic) subscribing to the LSTSRV-E forum to join others in discussing experiences with the evaluation copies of LISTSERV,

·         (Lite) subscribing to the LISTSERV-LITE forum to join others in discussing experiences with LISTSERV Lite,

·         and finally (optional; Classic only), registering your LISTSERV server so that other LISTSERV servers around the Internet will know about your server.

 

All of these steps are described in greater detail in the sections below. They should be performed in the order they are presented since some steps rely on the results of earlier steps. Once you've finished the above steps, you will be able to start your LISTSERV server and verify that it's working. You'll then be ready to create mailing lists and start using your LISTSERV server.

For those sites running Sendmail

 

In the past, many commercial unixes were shipped with sendmail version 5. If your sendmail is at a version less than version 8, note that you will probably experience long turnaround times on requests to LISTSERV that could run to several hours. This is because earlier Sendmail versions could handle only 1-2K deliveries per day. L-Soft strongly recommends that any Unix site running LISTSERV with Sendmail upgrade to at least Sendmail version 8.7.x, and at this time, for anti-spam and general security purposes, Sendmail version 8.11.x or later should be preferred.

 

If you are running a sendmail earlier than 8.7.x, please note that at least one sendmail archive site (see ftp://ftp.cs.berkeley.edu/ucb/sendmail/.message) currently notifies users that "8.6 is not supported, not secure, and should not be run on any network-connected machine."

 

Please note that, while L-Soft supports Sendmail as an MTA for use with LISTSERV, L-Soft does not provide support for the Sendmail product itself.

Sendmail and restricted shells

 

If you are running sendmail out of a restricted shell (for instance the smrsh shell), note that the lsv_amin mailer program that you will install below must be registered as a trusted application that may be executed by sendmail, or mail sent to LISTSERV and to lists will be rejected (typically with a sh: lsv_amin not available for sendmail programs error, although this may depend on how you have sendmail set up). Registering an application with the restricted shell typically involves placing symbolic links from /usr/adm/sm.bin/ to the programs which are authorized. If you need more information on restricted shells, please refer to the sendmail documentation.

Usernames needed by LISTSERV

 

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 <listserv@your.host.name> 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.

Extracting installation materials from the "tar" files

 

BEFORE STARTING: Please note that the Makefile should be run from a temporary directory rather than the target directory. Otherwise some 'mv' commands will produce unexpected results.

 

For LISTSERV Classic, the two archive files you receive will be called common.tar.Z and either AIX.tar.Z, or SunOS.tar.Z, or Linux.tar.Z, etc... depending on the version of UNIX(R) you are using. The filename is taken from the string returned by the "uname" command on each UNIX(R) platform.

 

For LISTSERV Lite, you will receive only one archive file, which will be called AIX.tar.Z, or SunOS.tar.Z, orLinux.tar.Z, etc... depending on the version of UNIX(R) you are using. Again, the filename is taken from the string returned by the "uname" command on each UNIX(R) platform. For LISTSERV Lite installations simply ignore further references in this document to common.tar.Z as all of the "common" files are contained in your `uname`.tar.Z file.

 

Please note that some FTP sites may change the name of the files slightly to adhere to system specific naming conventions. If you're used to dealing with compressed tar files already, then just extract the contents using whatever commands you prefer. If you'd like the sample commands listed below to work as shown, rename the files you received to common.tar.Z and `uname`.tar.Z before continuing. For example, if the system specific file you received is called aix.tar-z, you would enter the command mv aix.tar-z `uname`.tar.Z. Copy or move the two files to a scratch directory first. (The advantage of using a work directory for the installation is that you can easily clean up afterwards.) Once the files have been copied, "cd" to that directory and enter, uncompress *.tar.Z to restore them to their original state. Then enter, tar xf common.tar and tar xf `uname`.tar to unbundle the programs, data files, etc... needed to install LISTSERV. Afterwards you should find the following files have been created in your current directory,

 

Makefile              lcmd.c                lsv_amin.c

go                    license.merge         lsv_amin.h

go.sys                listview.c            sf90m

go.user.sample        lsv                   u-install.memo

home                  lsv.o                 wa

jobview.c             lsv_amin-precompiled

 

and the ./home directory will contain the following files.

 

aliases.names    linkswt2.file    listlpun.memo    lsvinfo.file

bitearn.nodes    listall.refcard  listmast.memo    peers.names

country.file     listcat.file     listownr.memo    service.names

default.mailtpl  listfile.memo    listpres.memo    site.catalog

default.wwwtpl   listjob.memo     listqs.memo      stdcmd.file

errfac.file      listkeyw.memo    listserv.memo    sysff.file

intpeers.names   listkwd.file     lsvhelp.file     system.catalog

 

Note however that LISTSERV Lite kits will not contain bitearn.nodes or linkswt2.file as they are not needed for LISTSERV Lite.

 

Sample commands for this step:

 

 mkdir /tmp/scratch

 cp common.tar.Z `uname`.tar.Z /tmp/scratch

 cd /tmp/scratch

 uncompress *.Z

 tar xf common.tar

 tar xf `uname`.tar

Deciding where LISTSERV will reside

 

If you plan to use the precompiled lsv binary, you can skip this section as it uses the defaults for these locations.

 

Before you can continue with the installation of LISTSERV, you need to choose where you want several things to be placed. The installation process needs the full path names of three directories. All of them are defined by macros in the Makefile (which was extracted from the common.tar archive in the preceding step).

 

The directory where the mail interface and command line interface programs should be installed is defined by the BINDIR macro. The Makefile is distributed with BINDIR set to /usr/local/bin by default. Whether you choose to use the default directory, or redefine it, the installation procedure assumes the directory already exists. If you choose a new directory, you will need to create it before running the final "make install". This directory is only referenced during the installation of the mail interface. Neither the mail interface program, the command line interface utility, nor the LISTSERV server process requires write access to this directory afterwards.

 

Incoming mail is written to the directory defined by the LSVSPOOL macro in the Makefile. The default value is $(LSVROOT)/spool. Unlike the BINDIR directory, the LISTSERV spool directory is assumed to be a new directory. In fact, no other users or daemon processes should write to this directory since LISTSERV scans this directory for incoming mail. If the directory doesn't exist when the "make install" command is executed, it will be created, and the LISTSERV account will be made the owner.

 

The LISTSERV executable, as well as associated directories and data files will be installed in the directory pointed to by the LSVROOT macro in the Makefile. Any directory can be used, so long as LISTSERV has write access to it. When the final "make install" is run, the LSVSPOOL directory, and several subdirectories, will be created if necessary. The LISTSERV account will be made the owner of those directories. The Makefile is distributed with the LSVROOT macro set to /home/listserv. If you choose the default setting, the directories /home/listserv, /home/listserv/home, and /home/listserv/tmp will be created as a result.

 

To use different directories, edit the Makefile and change the BINDIR, LSVSPOOL, and/or LSVROOT macros.

 

Documented restriction: Please note that under unix, all files and directory paths accessed by LISTSERV must be in lower case. In other words, you cannot install LISTSERV under the LSVROOT path of /home/users/LISTSERV ; you must use the path /home/users/listserv instead (or in any case, a path that is in lower case).

 

Sample commands for this step:

 

 vi Makefile

Building the interface utilities and LISTSERV server (requires compiler)

 

If you do not have a compiler (or are planning to use the precompiled binaries in the kit), skip to the section entitled "Using the precompiled binaries".

 

Note that L-Soft does not necessarily recommend using the precompiled executables if you have a compiler. It is always preferable to compile and link with your own local libraries rather than to assume that ours are the same as yours.  However it is not required to do so.

 

The program that handles incoming mail is called lsv_amin and is distributed in source form. The file lsv_amin.c is a standalone program that can be modified to suit your local mail system as needed. It should work as distributed with unmodified Sendmail systems.

 

If you are running an older version of ZMailer instead of Sendmail, you must change the value of the Makefile macro LSVAMIN_TYPE  from "flags" to "links". This causes LISTSERV to use symbolic links to "lsv_amin" for each LISTSERV e-mail address.  Backleveled ZMailer users must choose this option since programs run from ZMAILER "aliases" files can't have arguments. Current versions of ZMailer do not appear to have this restriction.

 

If you are running PP instead of Sendmail, you can compile the standard mail interface with -DMAIL_PP. To compile lsv_amin, first check the CC and CFLAGS macro in the Makefile to make certain the compiler and options specified are appropriate for your system. Second, if you have enabled the syslog daemon on your system, note that the lsv_amin program logs informational and error level messages using the syslog facility. By default, lsv_amin logs those messages as part of the mail system. That is, LOG_MAIL is used on the openlog() call. If you would prefer to log the LISTSERV mail interface entries separate from the other mail software on your system, edit lsv_amin.h and change the line

 

#define LOG_FACILITY LOG_MAIL

 

replacing LOG_MAIL with LOG_LOCAL1, or whatever category is appropriate for your site. If you are using a system on which the openlog() routine only takes two parameters, an older Ultrix system for example, just change LOG_MAIL to 0.

 

The "lcmd" utility is also distributed in source form. Once you've compiled and installed "lcmd", users can use it to send commands to your LISTSERV server rather than having to use a mail program. Users familiar with the Bitnet version of LISTSERV will find "lcmd" works much like the VM "tell" and JNET "send" commands. The primary differences are that LISTSERV sends back mail in response to commands submitted with "lcmd", and only your local LISTSERV can be reached. In addition to providing a simple command line interface to LISTSERV, sending commands with "lcmd" obviates the need for password validation of protected commands. Since the origin of the command is determined by the username of the person running "lcmd", not by parsing mail headers, password checking can be skipped by LISTSERV. The lcmd.c program should compile without modification. Site specific information needed by "lcmd" will be provided by the Makefile when building the program.

 

If you have decided to link the lsv.o file and make your own lsv binary, there should be no need to modify anything in the Makefile to perform this step.

 

Sample commands for this step:

 

 vi Makefile

 vi lsv_amin.c

Adding DBMS support (requires compiler)

 

(See the Developer's Guide to LISTSERV for more information on DBMS support.)

 

LISTSERV 14.5 for unix kits support Oracle, DB2, and MySQL (via unixODBC) in a single, universal kit.  This kit contains both a precompiled 'lsv' executable (which does not support any database), and a set of object files allowing you to link a new 'lsv' that supports any combination of databases for which you have a run-time environment on the machine running LISTSERV. The following object files are included:

 

lsv.o

Main object file for linking 'lsv'

nooci.o

Link with lsv.o to disable OCI (Oracle) support

nocli.o

Link with lsv.o to disable CLI (DB2) support

nouodbc.o

Link with lsv.o to disable unixODBC (MySQL) support

 

If a particular database is not available for your operating system, the corresponding noxxx.o file will have been pre-linked into lsv.o and will not be included in the kit.

 

Note, however, that you may relink LISTSERV with only the following combinations of DBMS support:

 

·         OCI and unixODBC

 

LISTSERV cannot be relinked with support for both CLI and unixODBC at the same time.  This is due to the fact that the two implementations are quite similar and share function names inside LISTSERV.

 

The current kits contain a revised Makefile which is set up to relink 'lsv' without any DBMS support by default.  A new "OS-specific flags" section has been added where you can add or remove DBMS support simply by adding or removing the reference to the appropriate no*.o file.  For instance, if you are running Solaris, the default flags line is

 

CFLAGS_Solaris=nooci.o nocli.o -lsocket -lnsl

 

If you want to relink 'lsv' with Oracle support, simply change this line to

 

CFLAGS_Solaris=nocli.o -lsocket -lnsl

 

If you want to relink 'lsv' with DB2 support, you would change the line to

 

CFLAGS_Solaris=nooci.o -lsocket -lnsl

 

Relinking 'lsv' with unixODBC support is not quite as intuitive.  You would use the following flags line:

 

CFLAGS_Solaris=nooci.o -lsocket -lnsl -lodbc

 

For unixODBC, you must leave CLI support enabled because CLI and unixODBC share internal function names in LISTSERV, as noted above. In addition, you must also link explicitly to the unixODBC library (the -lodbc flag).  Please see the Developer's Guide to LISTSERV for more detailed information on configuring unixODBC support.

 

As noted in the Makefile, Solaris requires that -lsocket and -lnsl must be linked in all cases, so don't remove these references from CFLAGS_Solaris under any circumstances.

 

The other supported unixes are configured in a similar manner.

 

PLEASE NOTE CAREFULLY that you should not relink with DBMS support unless you have the appropriate DBMS support (SQL*Net, DB2, unixODBC) installed on your machine.  Without this support, the link option will fail.

Installing the web interface CGI binary

 

While you will still want to review the section below on installing LISTSERV's web archive and administration interface, if you want the installation procedure to properly install and set ownership/permissions on the 'wa' executable, you need to provide the path to your cgi-bin directory in the Makefile macro CGIDIR and uncomment that line in the Makefile.  By default this installation feature is commented out:

 

#CGIDIR=/var/www/cgi-bin

 

The example setting appears to be a common default for most current Apache versions, but it is your responsibility to ensure that you define the correct directory if you uncomment and use this feature.  L-Soft does not recommend taking this default blindly as it may differ on your server.

 

If you do not uncomment this line, neither 'make install' or 'make update' will try to install 'wa', and you will have to copy it to your cgi-bin directory manually per the instructions below.

 

Note that this procedure does not attempt to make any directories or files required by the web archive interface.  You still need to follow the instructions below to fully install the interface.

Using the precompiled binaries

 

(If you are not planning to use the precompiled binaries, please skip to the next section.)

 

If you do not have a compiler, or if you have just decided to use the precompiled binaries from the kit, you now need to rename the lsv_amin-precompiled binary to lsv_am

in .  This will prevent 'make' from trying to call 'cc'.

 

Please note that there is no precompiled lcmd binary. This is because lcmd requires that the LSVSPOOL directory specification be compiled into it, and there is no way to know ahead of time whether or not your site will be using the defaults. Therefore sites that elect to use the precompiled binaries will not be able to run 'make lcmd'.

 

If you are using the precompiled binaries because you do not have a compiler, you should move or delete the 'lcmd.c' and 'jobview.c' files from the 'scratch' directory before running 'make install', so that the Makefile doesn't try to compile them and crash because it can't find 'cc'.

 

Sample commands for this step:

 

 mv lsv_amin-precompiled lsv_amin

 

If you do not have a compiler:

 

 rm lcmd.c

 rm jobview.c

Moving the programs and files to the proper directories

 

The command, "make install" will copy the "lsv", "lsv_amin", and "lcmd" programs to the appropriate directories, as specified by the BINDIR and LSVROOT macros in the Makefile. In addition several directories will be created and a number of data files copied to those directories. While there are scenarios in which you can complete this step from the LISTSERV account, in most cases you will need to become "root" to run the "make install" command.

 

SOLARIS SPECIFIC:  When issuing the commands below be sure to follow them exactly. If you issue "su - root" instead of "su root" LISTSERV will be installed but will fail when you attempt to start it.

 

Sample commands for this step:

 

 su root

 make install

 exit

Configuring LISTSERV for your system

 

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. All of the settings that you are likely to want to change are defined in the "go.user" shell script, which is created in the LSVROOT directory when you enter "make install". There are a number of environment variables that you can set to reflect things like the Internet domain name of the machine that will be running LISTSERV, the e-mail address of the LISTSERV postmaster, etc... You'll need to edit the go.user file in the LSVROOT directory, and set each of the variables as appropriate. There are comments in the file explaining the purpose of each variable, and we will discuss the basic settings that must be made before you can start the software below.

 

After 'make install' finishes, it will tell you that you need to chdir into the ~listserv directory and edit the go.user file before you can start the server.  You will need to gather some information before you start.

 

  1. What is the DNS hostname for the machine on which LISTSERV is going to be installed?  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.

 

  1. What are the email addresses for the LISTSERV maintainers (the person or persons who are authorized to create lists and operate/maintain the server)?

 

To configure the server, first open LISTSERV's go.user file with any text-based editor (emacs, vi, pico, etc.).  There are four basic settings that must be configured before LISTSERV can be run.

 

Sample commands for this step:

 

 cd /home/listserv

 vi go.user

 

NODE

 

# -- The fully qualified domain name for this host.

NODE="LISTSERV.EXAMPLE.COM"

 

The NODE setting is the fully-qualified domain name as registered in DNS for the machine LISTSERV is running on.  As noted above, it is possible to insert a square-bracketed dotted-decimal IP address in this box for testing purposes, but L-Soft neither recommends nor supports this in production. This is the host name that LISTSERV will always identify itself with when it sends mail out.

 

MYDOMAIN

 

# -- All possible domain names for this machine. SPACE SEPARATED!

MYDOMAIN=$NODE

 

It is usually best to leave this set to the default, ie, $NODE, but under some circumstances it may be necessary to deviate from the default.

 

MYDOMAIN does not refer to your corporate Internet domain.  MYDOMAIN is the space-separated list of all possible host names your machine might be known as. In many cases the value of MYDOMAIN is the same as NODE, but for instance some machines running LISTSERV also run the enterprise's World Wide Web server, and may thus be identified in DNS as something like "WWW.EXAMPLE.COM".  If you have users who receive mail on this machine, you might also have a DNS record for "MAIL.EXAMPLE.COM" pointing to it.  And of course we'll assume that NODE has been set above to something like LISTSERV.MYCOMPANY.COM. Using this as an example, you would set the MYDOMAIN setting to contain, in space-separated format, all of these names that mail might come in to LISTSERV under, with the NODE value coming first:

 

MYDOMAIN="$NODE WWW.MYCOMPANY.COM MAIL.MYCOMPANY.COM"

 

This way if someone accidentally writes to LISTSERV@MAIL.EXAMPLE.COM, LISTSERV will recognize MAIL.EXAMPLE.COM as equivalent to LISTSERV.EXAMPLE.COM and will process the mail as if it had been addressed to LISTSERV@LISTSERV.EXAMPLE.COM. Otherwise the mail may bounce as LISTSERV has no other way to know what other names the machine might be known by in DNS.

 

POSTMASTER

 

# -- The e-mail address(es) of the LISTSERV maintainer(s). SPACE SEPARATED!

POSTMASTER="me@example.com"

 

This is a space-separated list of userid@host.domain 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 pretty much 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.

 

Please note carefully that the POSTMASTER should NEVER be LISTSERV@ anywhere or POSTMASTER@ anywhere.  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.

 

CREATEPW

 

# -- The password to be used when sending "put" commands to create files

CREATEPW="luxfiat"

 

The password that will be used to create lists and perform certain management functions (such as administering LISTSERV's user password feature).  Note that when using the web management features, you do not use the CREATEPW= value, but rather your own personal LISTSERV password, to validate your identity.  See the main LISTSERV documentation for information on how to create a personal LISTSERV password.

Telling your mail system about LISTSERV

 

 

 

 

Telling sendmail about LISTSERV

 

Please note that the file you need to edit in this step, and the commands you need to issue will require root privileges. Also, while the procedure for manually modifying the sendmail aliases file is described below, you can also enter "make aliases" to have the installation program complete this step automatically. The automated procedure assumes that your sendmail stores aliases in the file /etc/aliases, that the "newaliases" command will rebuild the aliases database, and finally that "kill -HUP `cat /etc/sendmail.pid`" will cause Sendmail to read in the updated alias list.  (On some systems this last item is not required as it is taken care of when you run 'newalises'.)

 

LISTSERV accepts and responds to several e-mail addresses. Even before you setup mailing lists, mail sent to listserv and owner-listserv should be handed to LISTSERV. The link between LISTSERV and your mail system is the lsv_amin program. If you are running Sendmail, the best way to route incoming mail to lsv_amin is by adding entries to your "aliases" file. Refer to the manual pages for sendmail on your system if you are not sure where the alias file is stored. On many systems the file will be called /etc/aliases. Once you have located the file, add the following lines,

 

listserv: "|/BBB/lsv_amin /SSS listserv"

owner-listserv: "|/BBB/lsv_amin /SSS owner-listserv"

 

to the file, replacing /BBB with the directory where the lsv_amin program was installed (the BINDIR macro in the Makefile), and replacing /SSS with the LISTSERV spool directory (the LSVSPOOL macro from the Makefile). Other than that, the lines should look exactly like the examples above. The double quotes should be entered into the alias file.

 

For example, if you changed BINDIR to /usr/lbin, and kept the default LSVSPOOL directory, the new lines in /etc/aliases would look like the following.

 

listserv: "|/usr/lbin/lsv_amin /home/listserv/spool listserv"

owner-listserv: "|/usr/lbin/lsv_amin /home/listserv/spool owner-listserv"

 

After updating the alias file, you will need to issue two Sendmail commands. First enter "newaliases" to compile the alias file into the format the sendmail daemon expects. Then on some systems you may also need to direct the sendmail daemon currently running on your system to read the newly compiled list of aliases. Refer to the manual pages for sendmail if you are unsure of how to do so. The command, "kill -HUP `cat /etc/sendmail.pid`" will work on AIX and SunOS systems. If you are running a syslog daemon, sendmail will log the fact that it has loaded the new aliases file. You can check the syslog output after issuing the command to make sure your changes are in place.

 

Sample commands for this step:

 

 su root

 cd /etc

 vi aliases

 newaliases

 exit

Telling Postfix about LISTSERV

 

LISTSERV can be used with Wietze Venema's Postfix product, which was designed as an alternative to sendmail. Postfix has a number of advantages, not the least of which is that it is much simpler to configure than sendmail. However, L-Soft does not have any test machines running Postfix and has not run any performance or interoperability tests with Postfix.

 

In general, the instructions for interfacing LISTSERV with sendmail are all you need to follow for Postfix.  It is possible that you may have to modify the ALIASES macro in LISTSERV's Makefile to point to /etc/postfix/aliases instead of the /etc/aliases, depending on how Postfix is installed on your system (a default installation on Red Hat Linux 9.0, for instance, places the alias file in /etc/postfix/aliases).  Otherwise, LISTSERV is happy to work with Postfix as a replacement for sendmail.

 

If you plan to use LISTSERV's address probing feature with Postfix (the default is to do so when sending mail-merge jobs, for instance, or when you have configured a list for Auto-Delete), you must configure Postfix to direct all mail received for unknown recipients to LISTSERV.  This is because bouncing address probes come back to specially-formatted addresses -- for instance,

 

owner-mylist-l*someuser**EXAMPLE*-COM@LISTSERV.MYORG.COM

 

These addresses positively identify to LISTSERV:

 

·   which list or mail-merge job originated the message that bounced; and

·   which recipient is the bouncing address.

 

In order to direct these mails to LISTSERV, you need to modify Postfix's master.cf and main.cf files.  Typically these are found in /etc/postfix, but your installation may vary.

 

In the master.cf file, add a service called "lsvamin" as follows (we are assuming a default installation of LISTSERV for our file locations):

 

# LISTSERV redirection

lsvamin   unix  -       n       n       -       -       pipe

  flags=F user=listserv argv=/usr/local/bin/lsv_amin /home/listserv/spool ${user}

 

Then, in the main.cf file, add:

 

fallback_transport=lsvamin

local_recipient_maps=

 

Stop and restart Postfix, if it is already running.  Finally, in /etc/aliases, you will also have to add at least one LISTSERV alias:

 

listserv: "|/usr/local/bin/lsv_amin /home/listserv/spool listserv"

 

and then run `newaliases'.  If you don't do this, mail sent to the 'listserv' user will end up in the unix mailbox, and never get to LISTSERV's command processor.

 

If you prefer to create a Postfix virtual host instead, add the lsvamin service to master.cf as outlined above, and then add the following in main.cf:

 

virtual_mailbox_domains = your.virtual.domain.com

virtual_transport = lsvamin

 

(Replace your.virtual.domain.com with the actual name of the virtual domain you will be creating.)

 

In either case, it should be noted that all mail addressed to unknown recipients will be shunted to LISTSERV, which can cause LISTSERV postmasters to see significantly more bounce mail than they would otherwise.

 

For more advanced help with postfix, please see http://www.postfix.com/documentation.html . Some large LISTSERV sites are running with postfix and you can probably get help from their admins by joining and writing to the LSTSRV-L mailing list (see the end of this document for information on L-Soft's support mailing lists).

 

Please note that, while L-Soft supports Postfix as an MTA for use with LISTSERV, L-Soft does not provide support for the Postfix product itself.

Telling qmail about LISTSERV

 

LISTSERV can be used with Dan Bernstein's qmail product. However, L-Soft does not have any test machines running with qmail so the procedure as outlined is based on correspondence with customers who have made this combination work rather than based on tests run on our own systems.

 

Assuming defaults for everything else, you should include a file called /home/listserv/.qmail that has the following statement in it:

 

|/var/qmail/bin/preline /usr/local/bin/lsv_amin -s /home/listserv/spool -t listserv                                                                       

 

You must also create another file called ~alias/.qmail-default with the following line in it:

 

|/var/qmail/bin/preline /home/listserv/bin/lsv_amin -s /home/listserv/spool -t  $LOCAL                                                                         

 

(Note that ~alias is a link to /var/qmail/alias .) This entry "generalizes" the aliases that under sendmail would have to go into /etc/aliases.

 

For more advanced help with qmail you should contact the appropriate qmail support lists and newsgroups (see http://www.qmail.org/ for the qmail home page). Some large LISTSERV sites are running with qmail and you can probably get help from their admins by joining and writing to the LSTSRV-L mailing list (see the end of this document for information on L-Soft's support mailing lists).

 

Please note that, while L-Soft supports qmail as an MTA for use with LISTSERV, L-Soft does not provide support for the qmail product itself.

Telling Post.Office and Netscape Mail Server about LISTSERV

 

LISTSERV can be used with either of these products. You still need to make the same aliases but since neither Post.Office or Netscape Mail Server use /etc/aliases, the procedure is significantly different. L-Soft does not have any test machines running either of these products so the procedure as outlined is based on correspondence with customers who have made this combination work rather than based on tests run on our own systems.

 

First, you must make a mailbox (login) for each of the aliases discussed in the previous section.

 

Next, you must use the mail server's configuration GUI to create "program delivery" aliases for each of the mailboxes you have created in the previous step.  The "program delivery" aliases must point to the lsv_amin executable, which is responsible for passing incoming mail to LISTSERV in the correct format.

 

Note that this procedure is identical for both the server aliases and for the eight aliases that need to be created for each mailing list (see below under "List Creation"). If you are not familiar with "program delivery" and creating aliases under Post.Office or Netscape Mail Server, please consult the documentation for the respective program. L-Soft cannot help you with the configuration of Post.Office or Netscape Mail Server.

 

Current versions of these products may also require that you configure them so that lsv_amin is known as a "trusted" program. For more information, again please consult the documenentation for the respective program.

 

Please note that, while L-Soft supports Post.Office/Netscape Mail Server as an MTA for use with LISTSERV, L-Soft does not provide support for the Post.Office/Netscape Mail Server product itself.

Running LISTSERV under a userid other than 'listserv'

 

If you do change the username under which LISTSERV runs (which for the reason noted above is not recommended by L-Soft), you must make sure that the following points are observed as you work through the installation:

 

·         You must set the LSVNAME macro in the Makefile to the username you have selected.

·         If you have a compiler, you must edit lsv_amin.c and change the line

 

#define LISTSERV "LISTSERV"

 

to

 

#define LISTSERV "USERNAME"

 

where USERNAME is the username you have selected.

 

·         You must ensure that the lsv_amin mailer, when run, is invoked suid userid, where "userid" is the username LISTSERV is running under. Otherwise mail sent to LISTSERV will be treated as if it were being sent to a list with the name "userid".

 

·         If you do not have a compiler and must use the precompiled lsv_amin executable, you will have to modify the aliases in /etc/aliases that are normally made by the 'make aliases' stage of the Makefile.  For instance if you have decided to run LISTSERV under the username 'listmanager', you would have to make the aliases

 

   listmanager: "|/usr/local/bin/lsv_amin -t listserv"

   owner-listmanager: "|/usr/local/bin/lsv_amin -t owner-listserv"

 

      In other words, lsv_amin will be invoked suid listmanager but will feed the userid 'listserv' to LISTSERV. Since you cannot change the name used internally by LISTSERV unless you have a compiler, this is required to keep mail to 'listmanager' and 'owner-listmanager' from being treated as list mail rather than administrative mail.

IMPORTANT - License Activation Key

 

Please note that this step is handled automatically for evaluation kits. The necessary file, called "license.merge", is provided in the common.tar archive and the "make install" command will copy it to the proper directory.

 

Before you can start up LISTSERV, you will need to install a License Activation Key (LAK) for 'LISTSERV-xxx' (xxx = SUNOS, AIX, BSDI, etc...). In order to offer the same range of services to all LISTSERV sites, regardless of the operating system used, we had to develop our own "license key" scheme. Using system supplied license managers where available and L-Soft LAKs elsewhere would have required us to develop multiple authorization schemes, and would also complicate the task of issuing license keys to customers.

 

Since the LAK manager is part of LISTSERV, installing the LAK is done last, after all the programs have been built and moved to their proper directories. The process is quite simple, you just create a file called license.merge in the $LSVROOT/home directory and start the LISTSERV server to compile the information. The instructions for doing so are described in the License Registration Form that came with your installation materials.

Starting LISTSERV and Verifying a Successful Installation

 

Once you've customized the "go.user" shell script, you're ready to start LISTSERV. To do so, change your current directory to LSVROOT (as defined in the Makefile) and enter "./go". LISTSERV will print some startup messages, then since this is the first time your server has been run, LISTSERV will generate a number of files needed to route mail. You should see messages similar the ones below.

 

05 Mar 2002 14:31:12 LISTSERV-TCP/IP for unix version 1.8e starting...

05 Mar 2002 14:31:12 Copyright L-Soft international 1986-2002

05 Mar 2002 14:31:12 SIGNUP files are being compressed...

05 Mar 2002 14:31:12 -> No entry removed.

05 Mar 2002 14:31:13 The network tables are outdated and must be rebuilt.

* Network tables generation process started - be patient...

Currently processed 500 nodes.

Currently processed 1000 nodes.

etc...

 

And once the table generation steps have finished you will see,

 

* Step 6 complete - link weights file successfully compiled.

*

* Network tables generation completed successfully.

05 Mar 2002 14:31:19 Nearest backbone host is LISTSERV@PEACH.EASE.LSOFT.COM

05 Mar 2002 14:31:19 Nearest NJE host is LISTSERV@PSUVM

05 Mar 2002 14:31:19 Initialization complete.

 

which confirms that you've successfully installed the LISTSERV server. To issue LISTSERV commands, press Ctrl-C and you will be prompted to enter a command. You can verify that your customized version of "go.user" was used with the RELEASE command. It will display, among other things, the address(es) of the LISTSERV postmaster(s) you entered in "go.user". If not, then stop the server and make certain that LISTSERV owns the "go.user" file, and that execute permission is set for the file. To stop LISTSERV, hit Ctrl-C then enter "stop".

 

Once you've verified that your LISTSERV server starts and accepts commands, you should check to make sure the mail interface is working properly. If you stopped LISTSERV, then restart it. After restarting LISTSERV, login to a different username and send mail to the LISTSERV account on your machine. Include one or more LISTSERV commands in the body of the mail message. Since you have yet to define any mailing lists to your server, commands like RELEASE, INFO and THANKS would be good choices. The mail interface notifies the server immediately upon arrival of new mail. So unless your system is heavily used when you try sending the message, a response should arrive within a few moments. If you don't receive mail back from LISTSERV, check for syslog entries generated by the mail interface, lsv_amin. Also, check to see if there are any errors on the terminal/window where you're running LISTSERV. If you started the server with "go bg" check the file "listserv.log" for error messages.

Starting and Stopping LISTSERV in the Background

 

Running LISTSERV in the foreground is primarily useful for debugging purposes only.  When running in production, LISTSERV should be run in the background, which also causes a 'listserv.log' file to be generated by redirection of standard output.

 

To start LISTSERV in the background, issue './go bg' at the shell prompt.

 

To stop LISTSERV when it is running in the background, you do one of the following:

 

 

      STOP PW=createpw

 

            in the body (not the subject) of the message.  This command is validated with the value you have coded into the CREATEPW= go.user variable.

 

Talking to other LISTSERV evaluation kit users

 

A discussion group for sites that have installed evaluation copies of LISTSERV has been created to facilitate communication between LISTSERV maintainers, list owners and L-Soft support staff. The list is called LSTSRV-E, and you can subscribe by sending mail to LISTSERV@LISTSERV.NET, with the command "SUB LSTSRV-E Your Name" in the body of the mail message. If you have any questions, comments, helpful hints, etc., please post them to LSTSRV-E for distribution to other people participating in the evaluation. Don't forget to mention which version of UNIX(R) you are using when posting. The purpose of the list is to share your experience and problems with other users of evaluation kits. Because there are so many versions and brands of unix, the kits haven't been tested equally on all possible platforms. Knowing which kit you are using will streamline the process of finding an answer to your questions.

Registering the server

 

NOTE: This section does not apply to evaluation kits or to LISTSERV Lite or Shareware kits. Evaluation copies of LISTSERV should not be registered because they are (presumably) temporary servers running test lists, whose existence should not be broadcast. LISTSERV Lite and Shareware kits are automatically registered via a different process.

 

Once the server is ready for production use (that is, once you have purchased and installed a permanent License Activation Key, and once you have arranged for LISTSERV to be started automatically when the system boots), you should consider registering it with L-Soft. Registering the server is necessary to broadcast its existence to the other LISTSERV servers and to receive automatic, periodic updates of LISTSERV's networking tables. Once you have registered, your server will also be sent periodic updates about the public lists hosted by other LISTSERV sites, and, similarly, other LISTSERV sites will receive information about the public lists you are hosting. Registration also makes it possible to assign the most efficient DISTRIBUTE routing path for your server.

 

Please note the following requirements for registration:

 

L-Soft registers only sites that have unlimited (UNITS=0) licenses or sites licensed for DISTRIBUTE-only use, which are running version 1.8d or higher of LISTSERV Classic or LISTSERV Classic HPO. (Versions prior to 1.8d are not Y2K compliant and therefore sites seeking new LISTSERV registrations must be running the release version of 1.8d or later.)

 

In order to qualify for registration, a LISTSERV site must also:

 

·         Be running in NETWORKED runmode. If you have RUNMODE=STANDALONE or RUNMODE=TABLELESS in SITE.CFG, you must remo