Skip to main content
OCLC Support

EZproxy for Linux install

The instructions on this page describe how to install EZproxy for Linux.

Ability versus right

EZproxy allows you to extend access to your databases beyond your library walls to remote users. However, your 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.

Install EZproxy for Linux

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.

Before getting started EZproxy 7.3 requires users to obtain a WSKey to run the software. Before downloading EZproxy, please request your WSKey. To request and obtain a Key, please see Request a WSKey.

  1. Create a directory for EZproxy and make it your current directory with the commands:

    mkdir /usr/local/ezproxy
    cd /usr/local/ezproxy
    
  1. Download ezproxy-linux.bin and ezproxy-linux-sha256.sum into the directory where EZproxy is installed. To verify the integrity of the downloaded ezproxy-linux.bin file, run the following command line script.

    sha256sum -c ezproxy-linux-sha256.sum
    
  • Successful sha256sum command line comparisons should state:

    EZproxy-linux.bin: OK

 Note: If you download this file on a different system and use FTP to move it to your EZproxy server, be sure to perform the transfer using binary.

  1. Rename the download file from ezproxy-linux.bin to ezproxy to make it executable with the commands:

    mv ezproxy-linux.bin ezproxy
    chmod 755 ezproxy
    
  2. To create the default version of most of the files mentioned above, issue the command:
    ./ezproxy -m
    

    The -m stands 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.

    If you are installing EZproxy on a 64-bit Linux distribution, you may receive a file not found error. If this occurs, you need to install ia32-libs (Debian), glibc.i686 (RHEL), lib32z1 (Ubuntu 13.04 and later), or ia32-libs (Ubuntu 12.04) to resolve the issue.
    If you receive any errors during this step, please contact OCLC Support.

  3. To verify whether EZproxy can automatically detect your host name correctly, as well as to check whether firewalls may interfere with your ability to use EZproxy, issue the command:

    ./ezproxy –c
    

    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.

     Note: If you do not like the idea of your server connecting to an OCLC server, you may omit this step.

    If you network requires the use of a standard proxy server to connect out to the Internet, this test will fail. In this case, you will need to configure EZproxy to use your outgoing proxy server using the Proxy directive, and then you can complete the network connectivity test by finishing the installation of EZproxy and using a browser installed either on the same server or within your network to log in to the EZproxy Administration page, where you can use the Test network connectivity option. This performs a more thorough network test, including offering the option to incorporate your outgoing proxy server in the test.

  4. Use a text editor to edit the config.txt file. If suggested from the previous step, manually specify your hostname in this file.

  5. Use a text editor to edit the user.txt file. To create an administrative user, add the following line to the file, 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
    
  6. Copy and paste your WSKey (obtained by following the instructions at How to Request a WSKey) after the key command as follows, substituting your WSKey for 123456789101112:
    ./ezproxy -k 123456789101112
    
  7. Start the server with the command:
    ./ezproxy
    
  8. Using your web browser, connect to your server on port 2048. If your EZproxy server was named ezproxy.abclib.org, you would use the following URL:
    http://ezproxy.abclib.org:2048/admin
    
  9. Enter the username and password that you created when you edited the user.txt file. This should bring you to the main server administration page.
    If you are not taken to the menu page, and you are taken to a page indicating that the EZproxy cookie was blocked, see EZproxy Cookie Blocked for information on why this happened and how to address it.

 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 Authenticate users page.

System requirements

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:

uname –a
  • If you encounter problems running EZproxy on a specific distribution of Linux, please contact OCLC support for further assistance.

  • The minimum recommended configuration for a Linux server running EZproxy:

    1. Pentium II 400 with 256 MB of RAM
    2. 10 MB of disk space is required for installation
    3. Additional disk space is required to accommodate user authentication files and server log files

    Additional System Considerations

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

    User Authentication

    EZproxy can be configured to work with a variety of methods for authenticating users. For more information on these options, see User Authentication.

    EZproxy files

    EZproxy uses a number of files that are automatically created during the installation process. For a list of those files and their purpose, see EZproxy system elements.

    When installing EZproxy for Linux, you will download ezproxy-linux.bin. This binary file is the download version of the EZproxy program for Linux. It must be renamed to ezproxy.

    Technical details

    Additional technical information can be found in EZproxy technical details.

    Additional commands

    The following are additional commands that can be used with EZproxy for Linux.

    Resetting all files

    If you want to reset all of the files to their original distributed contents, you can use the command:

    ./ezproxy -r
    
  • If you want to restore just one or two of the original files, rename or delete the existing file that you want to be replaced, then issue the command:

    ./ezproxy -m
    
  • Startup script

    To install the system startup script, issue the following command as root:

    ./ezproxy -si
    

    If you later want to remove the startup script, issue the following command as root:

    ./ezproxy -sr