How to Install the Web Interface on a Separate Machine

 

The web interface does not need to be installed on the same machine as ListManager; it can be on a different machine. If you already have a production web server, this may be more convenient. Note: We use the name ~lm as a means of designating the location where ListManager is installed.

 

The easiest way to install the web interface is to run the ListManager installer and get the web interface working on the local server. Then, proceed to step 6 to tell the web interface to use another ListManager server.

 

To install by hand the web interface to a web server running on a different machine, follow these steps:

 

1) Uncompress the ListManager archive to the temporary directory, or run it directly from the downloaded location.

 

2) Create a directory named "lm/" under your HTML document root directory on your web server, then copy the files from ~lm/docs/ to this directory. You should be able to see these graphics from the URL http://server-address/lm/lyris.

 

3) If you have Perl installed, skip to the next step. If you do not have Perl installed, copy the file ~lm/bin/perl to /usr/bin/perl. Make a Perl library directory (site_perl). Run the command:

 

/usr/bin/perl -e 'print join("\n",@INC)'

 

to determine where that directory belongs.

 

4) Copy the files in ~lm/apache/lib and ~lm/apache/cgi-bin to your Perl library directory.

 

5) Copy the files in the ~lm/apache/cgi-bin directory to the "cgi-bin" directory on your web server. This directory should already exist, and is *not* located in your HTML document directory. It is a separate directory your web server maintains for running CGI scripts.

 

6) The file named "lyris.plc" contains the configuration settings for the web interface. If you have configured your ListManager installation to use your web server, the "lyris.plc" file will be in the CGI-BIN directory (or SCRIPTS directory, if you are using IIS). If you are using the Apache web server installed with ListManager, this file will be found in the lib directory under Apache. Change the line which reads "server_ip_address=127.0.0.1" so instead point to a TCP/IP address that your ListManager is listening to, on the other machine.

 

7) Go to the machine running your ListManager. Type the command:

 

~lm/bin/lm lcp 207.105.6.2

 

Substituting the TCP/IP address that the ListManager Web Interface on your web server will be coming from. By default, the ListManager rejects all Lyris Command Protocol connection requests from unknown TCP/IP addresses. This step is necessary so that the lyris.pl script on your web server is allowed to connect to your ListManager.

 

8) Stop your ListManager, and start it in debug mode, with the command:

~lm/bin/lm start debug

 

Now, try to display the web interface by pointing a web browser at the URL http://your.server/cgi-bin/lyris.pl. The web interface should appear in your browser. If it does not, look at the ListManager console. If it says, "unauthorized connection attempt from ZZZZ", then repeat step #7 for that TCP/IP address and try again. If something else is wrong, go to your cgi-bin directory, type /lyris.pl and see what happens. You should get a page of HTML. If you do not, an error message will be displayed indicating the problem.

 

Consult Modifying lyris.plc if you would like additional information about the configuration options available in the web interface.

If you get the "Protocol Not Supported" Error

 

If running "perl lyris.pl" gives you this error:

# perl lyris.pl
Content-type: text/html
create socket failed: Protocol not supported
Died at lyrislib.pl line 183.

 

Then it is likely that you copied by hand the "lyrislib.pl" to/from a Solaris machine, and that you need to make a slight modification to it to have it work on your system.

 

TCP/IP sockets on Solaris have slightly different values than on other platforms, that is why the "lyrislib.pl" file must be changed if it comes from or to a Solaris system. When we ship the ListManager for a particular platform, we provide the correct values. However, if you copy the lyrislib.pl file by hand, you might not have the right values.

 

To fix this problem open up the "lyrislib.pl" file in a text editor, and around line 120, you will see lines that say:

 

#################
# SOLARIS socket values
$lyris::AF_INET = 2;
$lyris::SOCK_STREAM = 2;
#################
# WINDOWS (and most others) socket values
#$lyris::AF_INET = 2;
#$lyris::SOCK_STREAM = 1;

 

If you are on a Solaris system, make sure that the top lines are the ones without the pound sign in front of each line (which is how it is displayed above). If you are on a non-Solaris system, make sure that the bottom values do no have pound signs, but that the Solaris ones do, as in

 

#################
# SOLARIS socket values
#$lyris::AF_INET = 2;
#$lyris::SOCK_STREAM = 2;#################
# WINDOWS (and most others) socket values
$lyris::AF_INET = 2;
$lyris::SOCK_STREAM = 1;

 

Save the file, and run "perl lyris.pl". If you still get the "protocol not supported" error, then it is likely that you have more than one copy of "lyrislib.pl" on your system. Make sure you that the other copies have this patch as well.



How To Upgrade ListManager By Hand If ListManager Will Not Run