Summary [Return to Top]
tinyReg is a domain name registration system using a CGI web interface. It consists of several CGI programs: tinyReg gathers information from registrants to build domain registrations; regop manipulates user-submitted domain registrations to produce zone-published data; whois provides a public registry query interface.
Also included are: Tquery, command line registry data extraction; Tedit, command-line data creator and editor; and make-db, used to create the initial, empty database.
These instructions describe installation on a single-domain system where you install tinyReg in a separate directory instead of creating a separate sub-domain for the product (i.e., such as "tinyreg.domain.name"). Installation was done on a Fedora Core system. Notes for installation under different Linux/Unix flavors are included at the end of this document.
Installation [Return to Top]
If you do not have current copy of tinyReg you can obtain one from:
The current version of tinyReg (Feb. 22, 2006) is 1.4. You should download the tinyReg compressed tarball file to a temporary location. Under Linux:
/usr/local/src
is reasonable. You should decompress and extract the tinyReg files by doing the following. You will need to be root to do this:
This will create the directory:# cd /usr/local/src
# tar xvzf tinyReg-1.4.tar.gz
/usr/local/src/tinyReg-1.4/
At this point you will need to make some decisions about where you wish to store the tinyReg documentation files, programs, and log files. Here are the assumptions we will make:
With this in mind we are going to install tinyReg so that you can execute it by going to:
http://example.net/cgi-bin/tinyReg
And, documentation will be available to both the program and users in general at:
http://example.net/tinyReg/
With all this in mind here are the steps to copy files as needed and to prepare a tinyReg log file for first time execution of the program. You will need to be root do this.
Now that you have the tinyReg files in their proper locations it is time to configure tinyReg to run on your system. For this you will need to rename and update two files, and then run the make-db program.# mkdir /var/www/html/tinyReg
# cp /usr/local/src/tinyReg-1.4/HTML/* /var/www/html/tinyReg/
# mkdir /var/www/cgi-bin/tinyReg/
# cp /usr/local/src/tinyReg-1.4/cgi/* /var/www/cgi-bin/tinyReg/
# mkdir /var/log/tinyReg
# touch /var/log/tinyReg/tinyReg.log
# chown -R apache.apache /var/log/tinyReg/
Required Perl Modules [Return to Top]
tinyReg requires Perl version 5 and several installed packages. These are: CGI, DBI, Mail::Mailer. The fastest way to ensure that these are installed on your system is to use the Comprehensive Perl Archive Network (cpan) interface.
If you attempt to run the cpan module interface and discover that is not yet configured, the default answers are almost always correct during configuration. This packages relies on ncftp being installed. You may need to install this if cpan cannot find the ncftp binary location.# perl -MCPAN -e shell
cpan> install DBI::DBD
cpan> install DBD::CSV
cpan> install Mail::Mailer
cpan> quit
If any of the packages are already installed and up-to-date, then issuing the "install" command at the "cpan>" prompt will not cause the package to be re-installed, but rather you will simply be notified that the package is up-to-date.
Further help can be found at http://www.cpan.org/.
Configuration Files [Return to Top]
You will need to either rename or copy the files /var/www/cgi-bin/tinyReg/tinyReg.conf.example and /var/www/cgi-bin/tinyReg/whois.conf.example and update them appropriately. Then you will need to execute the /var/www/cgi-bin/tinyReg/make-db script before you can use tinyReg for the first time. We choose to copy the example configuration files. As root do:
You now need to edit both these files. Choose your favorite editor to do this.# cd /var/www/cgi-bin/tinyReg
# cp tinyReg.conf.example tinyReg.conf
# cp whois.conf.example whois.conf
Below we show the items you need to change in this file. The first column shows the original value. The second column shows the value you should have based on the assumptions we made earlier about our environment:
Original Value Change to -------------- --------- logfile: ../www.wps.com/tinyReg.log logfile: /var/log/tinyReg/tinyReg.log tinyReg_URL: http://wps.com/cgi/tinyReg tinyReg_URL: http://example.net/cgi-bin/tinyReg helpfile: /tinyReg-help.html helpfile: /tinyReg/Eng/tinyReg-help.html email_server: turing.wps.com email_server: example.net email_from: regop@wps.com email_from: regop@example.net email_to: regop@wps.com email_to: regop@example.net domain: domain: .example.net
Note: the "domain:" setting is at the end of the configuration file. Some sample domains are shown as well. In addition, you should verify that you have dig installed on your system. The default location is /usr/bin/dig. If dig is installed, but in a different location, then update the line that reads:
dig: /usr/bin/dig
You can find dig at http://htdig.sourceforge.net/ if you need to install the program.
Be sure to save the file tinyReg.conf and and, then, go to the next step:
Original Value Change to -------------- --------- logfile: ../www.wps.com/tinyReg.log logfile: /var/log/tinyReg/tinyReg.log tinyReg_URL: http://wps.com/cgi/tinyReg tinyReg_URL: http://example.net/cgi-bin/tinyReg html_path: ./HTML html_path: /var/www/html/tinyReg helpfile: /tinyReg-help.html helpfile: /tinyReg/Eng/tinyReg-help.html
The same comments apply to dig as with the tinyReg.conf file.
Email Configuration [Return to Top]
In the tinyReg.conf configuration file you pointed to your email server and an email address where notification mails will be sent for the tinyReg system. You can choose to create an alias for the regop@example.net address (i.e. update /etc/aliases), or you can create the account on your system. In addition, you can choose a different address if you wish. But whichever address you give it must be functioning as notice of new domain registrations will be sent to the address.
Initial tinyReg Database [Return to Top]
Now that you have configured tinyReg for your system it is time to run the initial database creation script. This is quite simple. You should do this in the directory where the tinyReg program is installed:
You are now ready to run tinyReg.# cd /var/www/cgi-bin/tinyReg
# ./make-db
Run tinyReg [Return to Top]
You can now run the tinyReg program, as well as the programs regop (registry operator interface to the tinyReg database), and whois. To this use the following URLs:
tinyReg: http://example.net/cgi-bin/tinyRegThe initial admin user name and password for tinyReg are:
id: tinyReg password: qls3wh48
A few items from our original list of assumptions are different. Here is the same list, but with items updated for Ubuntu/Debian Linux. Specifically this applies to version 5.10 of Ubuntu, "The Breezy Badger" - There may be additional differences across different versions of Debian and Ubuntu.
Differences are noted by blue font:
# apt-get install ncftp
The ncftp binary will be placed in /usr/bin/, which is what cpan expects.
A few items from our original list of assumptions are different. Here is the same list, but with items updated for FreeBSD version 5.4.
Differences are noted by blue font:
Or, using the package utility (as root):# cd /usr/ports/ftp/ncftp3
# make install
# pkg_add -r ncftp
This will install version 3 of ncftp by default. Note that the ncftp binary will be installed to /usr/local/bin and not /usr/bin.
As a side note, remember that the Apache start-up script is here:
/usr/local/etc/rc.d/apache.sh
And, that you must include the line apache_enable="YES" in your /etc/rc.conf file in order to start the Apache web server on a FreeBSD system.
Sample CGI Config for VirtualHost [Return to Top]
If you have installed tinyReg on a web site using the Apache web server and you are using virtual hosts, then you may need to add a section in to your Apache configuration file for the tinyReg CGI directory. Here is an example. You should update the file httpd.conf. You can find this file in the following locations:
<VirtualHost *>
# ADD THIS
ScriptAlias /cgi-bin /home/user/cgi-bin
<Directory /home/user/cgi-bin>
Options ExecCGI
AllowOverride None
Allow from all
</Directory>
</VirtualHost
Last update: Hervey Allen, February 22, 2006