Install EZproxy 5.7.44 GA for Solaris 10 (x86)

This document describes how to install EZproxy 5.7.44 GA for Solaris 10 (x86). If you are updating from an older version of EZproxy, please refer to the update instructions.

Ability versus right

EZproxy allows you to extend your databases 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.

Installation Instructions  

EZproxy is a completely stand-alone 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.

  1. Create a directory for EZproxy and make it your current directory with command such as:
    mkdir /usr/local/ezproxy
    cd /usr/local/ezproxy
  2. Download ezproxy-solaris.bin into this directory. 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.

  3. Rename the download file from ezproxy-solaris.bin to ezproxy and make it executable with the commands:
    mv ezproxy-soaris.bin ezproxy
    chmod 755 ezproxy
  4. 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 existing files that you have changed.


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


  6. Use a text editor to edit the file config.txt. If suggested from the previous step, manually specify your host name in this file. The file also contains suggestions for other changes.

  7. Use a text editor to edit the file user.txt. To this file, add a line similar to this:
    someuser: somepass:admin
    changing someuser to the username you want to use for testing and somepass to the password you want to use for testing. In this example, admin should appear literally as shown.

  8. Enter your key, using the command:
    ezproxy -k 123456789101112
    substituting your key for 123456789101112.

  9. Start the server with the command:
    ./ezproxy
  10. Using your web browser, connect to your server on port 2048. If your EZproxy server was named ezproxy.yourlib.org, you would use this URL:
    http://ezproxy.yourlib.org:2048/admin
  11. 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, instead of the menu page, you end up at 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 config.txt. 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 informaiton about different authentication methods on the User Authentication page.

System requirements

EZproxy for Solaris (SPARC) requires Solaris version 8 or later running on a SPARC processor.

EZproxy for Solaris (x86) requires Solaris version 10 or later running on Intel Pentium 4 and later processors or on AMD Athlon 64 and Opteron and later processors.

The minimum recommended configuration for an EZproxy for Solaris 10 (x86) server is not defined, although EZproxy's modest processor and memory utilization makes most systems manufactured since 1999 (and many produced prior) suitable for use. For specific guidance, please contact OCLC support.

10 MB of disk space is required for installation. Additional disk space is required to accommodate user authentication files and server log files.

This program can be executed from a non-privileged account, so please consider running it from an account other than root. See RunAs for additional information.

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.

EZproxy files

EZproxy uses the following files:

Filename Purpose
ezproxy-solaris.bin This binary file is the download version of the EZproxy program for Solaris 10 (x86). It must be renamed to ezproxy.
ezproxy This binary file is the actual EZproxy program.
config.txt This user editable text file contains configuration directives, including information on your licensed databases. In EZproxy 5.0 and earlier, this file was named ezproxy.cfg.
user.txt 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.
ezproxy.log 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.
messages.txt     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.
ezproxy.hst This text file contains information on active users and virtual web server proxies.
license.txt This text file is the licensing agreement for this program.
*** The following user editable HTML files are located in the docs subdirectory. ***
cookie.htm 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.
login.htm When the built-in user validation feature is used, this web page is sent to the remote user to prompt for authentication.
loginbu.htm If the user does not successfully authenticate to the login.htm page, the user is sent this page.
logout.htm When the user logs out from EZproxy, this web page is sent to confirm the logout.
menu.htm 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 http://ezproxy.yourlib.org:2048/login?url=http://somedb.com which users will then use to connect to remote databases. See also LoginMenu.

You will only download ezproxy-solaris.bin. All of the other files are created automatically during the installation process.

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

Technical details

Those who are curious about the technical details behind EZproxy should take a look at EZproxy Technical Details.