L-Soft
international, Inc.
Simplified Installation
Manual for
LISTSERV®
for UNIX(R)
Version 15.5
This document sets forth a simplified installation procedure for LISTSERV 15.5 for UNIX with a build date of November 27, 2007.
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 ã 2007,
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.
IRIX is a trademark of Silicon Graphics, 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
Table
of Contents
Unix Platform Support in Version 15.5
Section 1 Things to
Consider Before Installation
1.1 Installing LDAP Support to Re-Link LISTSERV
1.2 Classic Distribution vs.
Lite Distribution
1.3 Usernames Needed By LISTSERV
1.4 Deciding Where LISTSERV Resides
1.5 Configuring LISTSERV for Your System
1.5.1 Determining the NODE Setting
1.5.2 Determining who Administers the Server
1.5.3 Determining Where to Install the Web Archive and
Administration Interface
Section 2 Running
the Installation Script
2.1 Downloading the installation kit
2.2 Unpacking and running the installation script
Section 3 Additional Resources
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).
LISTSERV for Unix is available for AIX, FreeBSD, HP-UX, Linux, MacOS, OSF/1-Digital Unix-Tru64, and Solaris-SPARC.
A comprehensive list of operating systems (and versions) under which LISTSERV is supported can be found at
http://www.lsoft.com/products/listserv_os.asp
LISTSERV for Unix is available for AIX,
FreeBSD, HP-UX, Linux, MacOS, OSF/1-Digital Unix-Tru64, and Solaris-SPARC.
Beginning with LISTSERV 15.5, if you plan to
install or re-install LISTSERV with DBMS support, or otherwise need to re-link
the 'lsv' executable for any reason, you MUST first install LDAP support on
your machine. 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 add any functionality that requires relinking.
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.
There is no difference between the distributions except the license shipped with them. The Classic kits ship with an evaluation LAK for Classic that expires in either June or December of the current year. Lite kits ship with a permanent Lite Free Edition LAK.
LISTSERV requires exclusive access to the mail sent to one username. Unless you have a very good reason to do otherwise, the username "listserv" should be used for that purpose. Many people around the world are already familiar with LISTSERV, and will assume that mail sent to <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.
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.
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.
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.
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.
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:
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.
This is normally /cgi-bin/wa .
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.
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.
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.
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 List:
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/15.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 15.0
Welcome to the LISTSERV for unix installation
script! This script will ask several
questions pertaining to the installation.
Before continuing, you should collect the information needed. If you have not yet read the installation
guide (unixinst-sim.html) that is shipped in the installation kit, which will
explain what information you need, we recommend that you do so now.
After you answer the questions, you will be
given a chance to review your choices and make corrections. For instance, you
should make sure 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/15.0/unixinst.html#Mail
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!
All of L-Soft's formal documentation for LISTSERV is available at http://www.lsoft.com/manuals .
In addition, there are several documentation files included with LISTSERV. They are located in the ~listserv/home directory by default and include the following:
listserv.memo A
General Introduction to LISTSERV
listpres.memo A
presentation of LISTSERV for the general user
listownr.memo A
List Owner's Manual for LISTSERV
listkeyw.memo A
manual of the various list header keywords and what they do
listall.refcard A
quick reference card for LISTSERV commands
There are several mailing lists dedicated to the support of LISTSERV.
for
LISTSERV maintainers and interested list owners |
|
|
|
for
LISTSERV list owners |
|
|
|
for
LISTSERV evaluation kit users |
|
|
|
for LSMTP users |
|
|
|
for
LISTSERV Lite users |
|
|
|
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
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 an evaluation version of our software, please join the evaluation users' list,
LSTSRV-E@PEACH.EASE.LSOFT.COM, and send your trouble reports there.
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.