L-Soft international, Inc.

 

 

Simplified Installation Manual for

LISTSERV® for UNIX(R)

Version 16.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


This document sets forth a simplified installation procedure for LISTSERV 16.0 for UNIX with a build date of December 9, 2009 or later.

Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. L-Soft international, Inc. does not endorse or approve the use of any of the product names or trademarks appearing in this document.

Permission is granted to copy this document, at no charge and in its entirety, provided that the copies are not used for commercial advantage, that the source is cited, and that the present copyright notice is included in all copies so that the recipients of such copies are equally bound to abide by the present conditions. Prior written permission is required for any commercial use of this document, in whole or in part, and for any partial reproduction of the contents of this document exceeding 50 lines of up to 80 characters, or equivalent. The title page, table of contents and index, if any, are not considered part of the document for the purposes of this copyright notice, and can be freely removed if present.

Copyright ă 2010-2016, L-Soft international, Inc.
All Rights Reserved Worldwide.

LISTSERV is a registered trademark licensed to L-Soft international, Inc.
ListPlex, CataList, and EASE are service marks of L-Soft international, Inc.
UNIX is a registered trademark of X/Open Company Limited.
AIX and IBM are registered trademarks of International Business Machines Corporation.
Alpha AXP, Ultrix and VMS are trademarks of Digital Equipment Corporation.
OSF/1 is a registered trademark of Open Software Foundation, Inc.
Microsoft is a registered trademark and Windows, Windows NT, Windows 2000, Windows XP and Windows 95 are trademarks of Microsoft Corporation.
HP is a registered trademark of Hewlett-Packard Company.
Sun is a registered trademark of Sun Microsystems, Inc.
Solaris is a registered trademark of Sun Microsystems, Inc.
Mac and Mac OS are registered trademarks of Apple Computer, Inc.
PMDF is a registered trademark of Innosoft International.
Pentium and Pentium Pro are registered trademarks of Intel Corporation.
All other trademarks, both marked and not marked, are the property of their respective owners.
Some portions licensed from IBM are available at http://oss.software.ibm.com/icu4j/
This product includes code licensed from RSA Security, Inc.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

All of L-Soft's manuals are available at the following URL: http://www.lsoft.com/manuals.html

L-Soft invites comment on its manuals. Please feel free to send your comments by
e-mail to: MANUALS@LSOFT.COM

 

 

Last revised: 19 Feb 2016


Table of Contents

Preface – About this Manual ii

Unix Platform Support in Version 16.0. ii

Section 1 Things to Consider Before Installation. 1

1.1 Installing LDAP Support 1

1.2 Classic Distribution vs. Lite Distribution. 1

1.3 Usernames Needed By LISTSERV. 2

1.4 Deciding Where LISTSERV Resides. 2

1.5 Configuring LISTSERV for Your System.. 2

1.5.1 Determining the NODE Setting. 2

1.5.2 Determining who Administers the Server 2

1.5.3 Determining Where to Install the Web Archive and Administration Interface. 3

Section 2 Running the Installation Script 4

2.1 Downloading the installation kit 4

2.2 Unpacking and running the installation script 4

Section 3 Additional Resources. 11

3.1 Documentation. 11

3.1.1 Manuals. 11

3.1.2 White Papers. 11

3.1.3 Tech Tips. 11

3.2 Mailing Lists. 11

3.3 Contacting L-Soft Support 12

 


Preface – About this Manual

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.  Therefore, it is necessarily limited in its scope and does not provide user control over every aspect of the installation; but rather, it 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 found in the Installation Manual for UNIX(R).

Unix Platform Support in Version 16.0

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

 

 


Section 1 Things to Consider Before Installation

A list of unix variants supported by LISTSERV can be found at the following URL:  http://lsoft.com/products/listserv_os.asp

1.1 Installing LDAP Support

LISTSERV requires that LDAP support be installed on your machine, whether or not you use LISTSERV's LDAP features.  For Linux servers, this may not be an issue, as OpenLDAP is generally installed by most distributions by default.  For other unix variants, your mileage may vary. 

Note: The config.sh installer will try to identify whether or not your machine has LDAP support before allowing you to install LISTSERV.

If LDAP is not installed, you may see errors like this at run time:

[root@listserv listserv]# ../go bg

> Starting LISTSERV as a background process

[root@listserv listserv]# ./lsv: error while loading shared libraries:

libldap-2.2.so.7: cannot open shared object file: No such file or directory

 

In addition, attempting to re-link the 'lsv' executable manually (i.e., from the Makefile) without having LDAP support installed on the machine will result in compiler errors similar to the following:

ld: 0711-317 ERROR: Undefined symbol: .ldap_next_entry
ld: 0711-317 ERROR: Undefined symbol: .ldap_first_entry
ld: 0711-317 ERROR: Undefined symbol: .ldap_first_attribute
ld: 0711-317 ERROR: Undefined symbol: .ldap_next_attribute
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_values_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_memfree
ld: 0711-317 ERROR: Undefined symbol: .ber_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_msgfree
ld: 0711-317 ERROR: Undefined symbol: .ldap_search_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_unbind
ld: 0711-317 ERROR: Undefined symbol: .ldap_initialize
ld: 0711-317 ERROR: Undefined symbol: .ldap_set_option
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_err2string

and any resulting 'lsv' will not be executable.

1.2 Classic Distribution vs. Lite Distribution

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.

1.3 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.

At this time you should create the "listserv" userid according to your usual procedure for creating new user accounts.

1.4 Deciding Where LISTSERV Resides

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 unix platforms 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.

1.5 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. You will need to gather this information before you start.

1.5.1 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.

1.5.2 Determining who Administers the Server

You must provide 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 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.

Note: 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.

1.5.3 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.

  1. WWW_ARCHIVE_CGI - The (preferably relative) URL that executes the 'wa' cgi program.

This is normally /cgi-bin/wa .

  1. 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.

  1. 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.

 

 


Section 2 Running the Installation Script

2.1 Downloading the installation kit

For LISTSERV Classic, point your browser to http://www.lsoft.com/download/listserv.asp#unix .

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.

2.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:

uncompress Solaris.bin.Z
chmod u+x Solaris.bin
./Solaris.bin

For LISTSERV Lite:

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

uncompress Linux-Lite.bin.Z
chmod u+x Linux-Lite.bin
./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:

[home]root:~/scratch# ./Linux-2.6.bin
Please read the installation guide, located at
http://www.lsoft.com/manuals/16.0/unixinst-sim.html

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 16.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-2.6.tar.Z
Trying gunzip to uncompress distribution...
common.tar Linux-2.6.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?
[cc]

Please enter any additional options to pass to the C compiler.
[-O]

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?
[/usr/local/bin]

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?
[/home/listserv]

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.)
[paths]

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:

·         LISTSERV Classic 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, the section will be skipped.

·         Your computer must have a compiler.  (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 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
b) CFLAGS=-O
c) LDFLAGS= nooci.o nouodbc.o
d) BINDIR=/usr/local/bin
e) LSVROOT=/home/listserv
f) LSVSPOOL=/home/listserv/spool
g) LSVAMIN_TYPE=paths
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.)
[/var/www/cgi-bin]

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.

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.
[rerun.in.example.com]

Pattern defining local mailing addresses, use asterisks to match any number of arbitrary characters.
[*.in.example.com]

The e-mail address(es) of the LISTSERV maintainer(s). SPACE SEPARATED!
[nathan@example.com]

Optional WWW archive interface - see installation guide for details.
WWW_ARCHIVE_CGI
[/cgi-bin/wa]

WWW_ARCHIVE_DIR
[/var/www/html/archives]

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

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
http://www.lsoft.com/manuals/16.0/install/LISTSERV16.0_InstallManual_UNIX.htm#_Toc248133900 in order to complete and test the setup.

Cleaning up /tmp/LISTSERVinstall6936...
[home]root:~/scratch#

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

For details on using LISTSERV for Unix, see the LISTSERV Installation Manual for Unix. This manual can be found at http://www.lsoft.com/resources/manuals.asp . This manual contains information on:

 


Section 3 Additional Resources

3.1 Documentation

3.1.1 Manuals

All of L-Soft's formal documentation for LISTSERV, including its manuals, installation guides, and online help systems, is available at http://www.lsoft.com/manuals .

3.1.2 White Papers

L-Soft frequently publishes white papers on specific topics for our products. These white papers are available at http://www.lsoft.com/resources/whitepaper.asp .

Specifically related to the configuration and setup of LISTSERV on Unix, the following white paper may be useful depending on your situation:

·         Using LISTSERV with Security-Enhanced Linux (SELinux)

3.1.3 Tech Tips

Every quarter, L-Soft’s newsletter, LISTSERV at Work, is released and contains Tech Tips that are written by L-Soft specialists with the goal of giving our customers some advice and expert guidance with specific topics regarding our products. For a complete list of these Tech Tips, go to http://www.lsoft.com/resources/techtip.asp .

3.2 Mailing Lists

There are several mailing lists dedicated to the support of LISTSERV.

LSTSRV-L@PEACH.EASE.LSOFT.COM

for LISTSERV maintainers and interested list owners

 

 

LSTOWN-L@PEACH.EASE.LSOFT.COM

for LISTSERV list owners

 

 

LISTSERV-LITE@PEACH.EASE.LSOFT.COM

for LISTSERV Lite users 

 

 

LISTSERV-DEVELOPERS@PEACH.EASE.LSOFT.COM

for third-party developers using features documented in the Developer's Guide to LISTSERV 

To subscribe to any of these lists, send mail to LISTSERV@PEACH.EASE.LSOFT.COM with the following command in the body of the message:

SUBSCRIBE listname Your Name

3.3 Contacting L-Soft Support

At http://www.lsoft.com/lsv-faq.html we've attempted to document a few of the most frequently-asked questions pertaining to installing and running a LISTSERV server. Before writing to our support department for problem resolution, please take a moment to read through the online FAQ and see if your problem is answered there.

 

L-Soft recognizes that the FAQ pages are not going to solve every problem you may face. We are always willing to help diagnose and correct problems you may be having with your registered LISTSERV® server. To that end, please note the following when you write to L-Soft with a problem report:

 

1.    Please make the subject line of your report indicative of the problem, and in particular the product with which you are having a problem. A subject like "Problem posting to moderated LISTSERV list" is much more useful to us than "Help me please!"

 

2.    Include any appropriate log entries. LISTSERV keeps logs of everything it does when you are running it in the background (i.e., with './go bg', and without a log excerpt it is often impossible to determine what caused a given error.

 

3.    If LISTSERV dumps core, please run the debugger on the core file (see FAQ 1.3. in the LISTSERV maintainer's support FAQ) and include the results.

 

4.    Always send a copy of your site configuration file (with the passwords XXX'ed out).

 

5.    Send along anything else that you think might be helpful in diagnosing the problem.

 

If you are running LISTSERV Lite, please join the LISTSERV-LITE mailing list,

LISTSERV-LITE@PEACH.EASE.LSOFT.COM, and send your trouble reports there.

 

 

 


This page is intentionally blank.