LISTSERV for Unix is available for the operating systems listed here:  LISTSERV Supported Operating Systems.

1.1 Distribution file change from .bin.Z to .bin.gz


All LISTSERV for Unix distribution kits built since December, 2018, are compressed with gzip(1), and have extensions like .tar.gz and .bin.gz.  This should not cause a problem for our customers as the compress(1) utility formerly used is nearly extinct and gzip(1) is readily available for our supported unix platforms.  The main difference is that the distribution kits are significantly smaller due to the superior compression algorithm found in gzip(1).

1.2 LDAP Support is Required


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 add any functionality that requires relinking.


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.


Note: Under newer distributions of Linux, it may be necessary to relink LISTSERV with the default OpenLDAP libraries.  We currently link against OpenLDAP version 2.4.

1.3 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 December of the current year.  Lite kits ship with a permanent Lite Free Edition LAK.

1.4 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.5 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.6 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.6.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.6.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.6.3 Determining Where to Install the Web Archive and Administration Interface


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.


IMPORTANT: The directories indicated in the section below are the usual defaults for Apache running under unix.  If you use them, the web interface usually will work properly without much adjustment required (permissions, ownership, umask, SELinux security contexts, etc.).


If you choose to install LISTSERV's web interface in a location other than under the default Apache DocumentRoot, and/or to install the "wa" cgi in a place other than the default Apache CGI directory, you are responsible for ensuring that the appropriate permissions, ownership, umask, SELinux security context, and so forth, are properly set such that "wa" can be executed by the Apache (httpd) process, and the files LISTSERV needs for the web interface can be created and read from wherever you have decided to install them.


L-Soft support generally is unable to assist with troubleshooting problems encountered when not using the Apache default directories.  Apache is not L-Soft's product and our assistance in troubleshooting the web interface in such instances is limited to recommending that file and directory permissions and so forth (as noted above) have been thoroughly checked to ensure the following:


    • Apache can execute "wa" when it is installed in the directory pointed to by WWW_ARCHIVE_CGI


    • Apache can read the files in the directory pointed to by WWW_ARCHIVE_DIR


    • LISTSERV itself (the 'listserv' user) has read/write access and ownership on all files it installs under the WWW_ARCHIVE_DIR location


Normally the locations for the various parts of the web interface are dependent on how you have set up your web server.  You need to know:


      1. The absolute disk path to your web server's cgi-bin (executable scripts) directory.

        This is the directory normally reached by the relative URL /cgi-bin .  A common absolute path to this directory is /var/www/cgi-bin , which the installation script uses as a default.  Your web server may have been installed with its cgi-bin directory in a different place, or with a different name; so it is imperative that you verify the absolute path that leads to the executable script directory on your web server.  The 'wa' CGI program used for the web interface is installed in this directory.

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

        This is normally /cgi-bin/wa .

      3. The base URL (preferably relative) of your web-enabled archives directory.

        This is normally /archives .  This points to the directory where LISTSERV will write the various HTML files needed for the web archive and administration interface.

      4. WWW_ARCHIVE_DIR - The absolute disk path of the directory that corresponds to the base URL of your web-enabled archives.

        This is the directory normally reached by the relative URL /archives .  A common absolute path to this directory is /var/www/html/archives .  Again, your webserver may have been installed with its root content directory in a different place, or yo may be installing the web interface somewhere else, so it is likewise imperative that you verify this absolute path as well.