This document describes how to install EZproxy 5.7.44 for Linux. If you are updating from an older version of EZproxy, please refer to the update instructions.
EZproxy allows you to extend access to your databases beyond your library walls to remote users. However, you licensing agreement with database vendors may not authorize you to provide remote access. As an implementer of remote access, it is your responsibility to verify licensing agreements and only permit remote access as authorized.
EZproxy is a completely standalone application. It does not require nor use any existing web server that is already installed on your server.
If you are already running a web server on the system where EZproxy is running, do not attempt to install EZproxy within directories that are used by that web server.
mv ezproxy-linux.bin ezproxy
chmod 755 ezproxy
-mstands for "missing file replacement," and this command can be used at any time to reconstruct any missing files without overwriting the existing files that you have changed.
This command will make your server connect to an OCLC server. Your server will provide its name and IP address, then the OCLC server will attempt to verify this information. Your server will then display various messages to let you know what changes may be required for EZproxy to function properly.
changing someuser to the username you want to use for testing and admin access, and somepass to the password you want to use for testing. In this example, admin should appear literally as shown.
someuser: somepass: admin
substituting your license key for 123456789101112.
ezproxy -k 123456789101112
NOTE: The options presented and how effectively they work will depend on how well you customized your config.txt file. As you make additional changes to config.txt, you will need to stop and restart EZproxy to make the changes take effect.
After you have completed your installation and are able to log in to the administration page, you can find the database stanzas necessary to configure resources on the Database Setup page and information about different authentication methods on the User Authentication page.
EZproxy for Linux requires an x86 or x86_64 distribution of Linux running a 2.2 or later kernel. To verify the version of your Linux kernel, use the command:
If you encounter problems running EZproxy on a specific distribution of Linux, please contact OCLC support (link) for further assistance.
The minimum recommended configuration for a Linux server running EZproxy:
Pentium II 400 with 256 MB of RAM
10 MB of disk space is required for installation
Additional disk space is required to accommodate user authentication files and server log files. (Do we have a recommended amount of disk space, or a range most often used?)
This program can be executed from a non-privileged account, so please consider running it from an account other than root to increase security. For more information about how to configure EZproxy to run on a non-root account, see the RunAs (link) directive.
If your site employs a proxy server for all outgoing connections to the Internet, you will need to enter the host and port information for this proxy server into the config.txt file using the Proxy (link) directive.
If your site is protected by a firewall, external users may be unable to connect to EZproxy unless your firewall administrator allows incoming traffic to ports 2048 and above.
EZproxy can be configured to work with a variety of methods for authenticating users. For more information on these options, see User Authentication.
EZproxy uses the following files:
||This binary file is the download version of the EZproxy program for Linux. It must be renamed to ezproxy.|
||This binary file is the actual EZproxy program.|
||This user editable text file contains configuration directives, including information on your licensed database. In EZproxy 5.0 and earlier, this file was named ezproxy.cfg.|
||This user editable text file contains user authentication information. At its simplest, this file contains usernames and passwords. In EZproxy 5.0 and earlier, this file was named ezproxy.usr.|
||This text file is a record of proxy server usage in the NCSA web server log file format. If used with standard web log analysis software, this file can provide information on the volume of remote use.|
||This text file is a record of certain informational and error conditions that occurred when EZproxy was running. In EZproxy 5.0 and earlier, this file was named ezproxy.msg.|
||This text file contains information on active users and virtual web server proxies.|
||This text file is the licensing agreement for this program.|
|***The following user editable HTML files are located in the docs subdirectory.***
||EZproxy uses a domain-based cookie as its ongoing verification that a user has authenticated. If the remote user disallows the cookie, the contents of this file are sent to explain the reason why the cookie is required.|
||When the built-in user validation feature is used, this web page is sent to the remote user to prompt authentication.|
||If the user does not successfully authenticate to the login.htm page, the user is sent this page.|
||When the user logs out of EZproxy, this web page is sent to confirm that logout.|
||This web page provides a basic menu of databases. In most instances, this file is only used for testing purposes. For production use, you are more likely to create URLs in remote documents that look like
Note: You will only download ezproxy-linux.bin. All other files will be created automatically during the installation process.
Additional technical information can be found at EZproxy Technical Notes.
The following are additional commands that can be used with EZproxy for Linux.
If you want to reset all of the files to their original distributed contents, you can use the command:
If you want to restore just one or two of the original files, rename or delete the existing file that you want replaced, then issue the command:
To install the system startup script, issue the following command as root:
If you later want to remove the startup script, issue the following command as root: