Installing OpenSRS without "root" access. Typical of many virtual servers.

Please refer to the OpenSRS FAQ and mailing list archives at http://www.opensrs.com

Note: I am updating this page for OpenSRS client code 2.3 using the Crypt::DES Perl module and Redhat 7.0.

Required Perl Modules:

Digest::MD5 (should be pre-installed on RH7.0) MIME::Base-64, Unicode::String, Unicode::Map, Crypt::DES, XML::Parser available at http://www.cpan.org

Step 1.

Verify the location of Perl (at least 5.00404) on your server (Typically /usr/bin/perl or /usr/local/bin/perl). Verify the location and functionality of your cgi-bin (typically /home/username/public_html/cgi-bin/)

Step 2.

Download and unpack the latest OpenSRS client code from http://www.opensrs.org/src/.src.shtml to a directory on your virtual server, typically /home/username/ or /usr/home/username/ It is highly recommended that the OpenSRS setup files be kept out of the "html" or "web" folder for security purposes. The OpenSRS client code is unpacked by issuing the following commands at the shell:

Step 3.

[user@localhost user]$ gunzip opensrs-client-2.0.3.tar.gz

Step 4.

[user@localhost user]$ tar -xvf opensrs-client-2.0.3.tar

Step 5. (optional, yet recommended)

[user@localhost user]$ mv opensrs-client-xxx opensrs

Comment: This simplifies the file name.

Step 6.

At this time it would be recommended to test your installation before downloading and installing additional Perl modules. To do so requires editing opensrs/etc/OpenSRS.conf, as well as opensrs/cgi/verify_install.cgi. Make sure both files point to Perl5 on your server, as well as the appropriate location of the OpenSRS installation.

From OpenSRS.conf

$PATH_SOURCE = "/home/username/opensrs";

From verify_install.cgi

BEGIN {
do "/home/username/opensrs/etc/OpenSRS.conf";

Once these two files have been edited, cd to /home/username/opensrs/cgi, then

[user@localhost cgi]$ perl5 verify_install.cgi (or perl verify_install.cgi)

OpenSRS Client Debugger
Checking for Digest::MD5... OK
Checking for Crypt::DES... Not Found
Checking for Crypt::Blowfish... Not Found
Checking for Crypt::CBC... OK
Logging in to OpenSRS server... ERROR: Unable to login to server: 400 Missing username or crypt key

You may also be warned that Crypt::CBC cannot be found @INC.  This usually means the path to OpenSRS.conf is incorrectly specified in verify_install.cgi

If you get a 500 internal server error, either you need a newer version of Perl, or your verify_install.cgi or OpenSRS.conf files do not point to the proper location as described in Step 6.

Download modules Crypt-Blowfish-2.02.tar.gz and Digest-MD5-2.09.tar.gz if "Not Found" from http://www.cpan.org. Crypt::CBC is currently included with the latest client code. Many servers ship with the Digest module, and this can be verified as explained above. However, I would recommend making a "local" installation of Digest::MD5 if the output above says "Not Found".

Only one of the "Crypt" Modules will need to be installed on the server. Crypt::Blowfish, while not the default in OpenSRS.conf, is recommended. Modify OpenSRS.conf so that instead of DES, Blowfish is specified at:

crypt_type => 'Blowfish', # DES, Blowfish, or Blowfish_PP (slow!)

Step 7.

[user@localhost user]$ pico -w catfile 

Comment: Pico is a text editor common to most Linux/BSD installations. You will need to create a "cat" file to install the Perl modules "locally". Here is an example typical of a Cobalt RAQ3. Note that the catfile points to a location on a hypothetical server in the opensrs/lib directory. You can cut and paste the text contained in the example, then modify to point to the location of your OpenSRS code. Once modifications are complete, use CTRL-X, then "Y", then "Enter" to save the file. The file should be located at /home/username/ or /usr/home/username/ or in the case of Cobalt /home/sites/siteXXX/ where XXX is your site number. On Cobalt, it is safe to replace siteXXX with www.yourdomain.com. Then proceed to install Crypt::Blowfish.

Step 8.

[user@localhost user]$ gunzip Crypt-Blowfish-2.02.tar.gz

Step 9.

[user@localhost user]$ tar -xvf Crypt-Blowfish-2.02.tar

Step 10.

[user@localhost user]$ cd Crypt-Blowfish-2.02

Step 11.

[user@localhost Crypt-Blowfish-2.02]$ perl5 Makefile.PL `cat ../catfile`

Step 12.

[user@localhost Crypt-Blowfish-2.02]$ make

Step 13.

[user@localhost Crypt-Blowfish-2.02]$ make test

Comment: Ignore the script when it tells you it cannot locate Crypt::CBC

Step 14.

[user@localhost Crypt-Blowfish-2.02]$ make install

Step 15.

Repeat Steps 8-14 for Digest::MD5 (if verify_install reports that it is "Not Found" in Step 6)

Step 16.

Modify opensrs/cgi/reg_system.cgi to point to Perl and OpenSRS.conf

Step 17.

Same as Step 16 for opensrs/manage.cgi.

Step 18.

move cgi scripts to your cgi-bin.

Step 19.

Logon to http://resellers-test.opensrs.net and with your OpenSRS username and password. Locate and follow the link for "Full Access Test Instructions" and print the page. Locate and follow the link for "Generate New Private Key". Copy and paste the private key into opensrs/etc/OpenSRS.conf.

Step 20.

Open http://www.yourdomain.com/cgi-bin/reg_system.cgi. You should see a page with a broken link in the upper left corner, and two search boxes, one for domain registration, one for domain transfers. You will use this page for completing your RITE testing.

If your browser reports errors such as 500 Internal Server Errors or Permission denied, you must make sure reg_system.cgi, verify_install.cgi and manage.cgi are chmod 755. Continue to troubleshoot possible problems with the cgi-bin, errors in the script paths, etc.

-----------------------------------------------------------------

This document will continue to grow.
If you notice anything erroneous, please bring it to my attention.

Mucha Suerte!

Bob Martin
Shore Communications, LLC
http://www.shorecom.com
Brick, New Jersey

------------------------------------------------------------------