NicToolServer Installation

1. Install dependencies

NicTool requires that Apache and mod_perl be installed. There's a brief which Apache discussion here.

NicTool also requires a few perl modules to be installed. I shall present two ways to install them, via CPAN, and via ports (for Free/Net/OpenBSD). If ports is available, it is preferred.

  perl -MCPAN -e shell
  install LWP
  install RPC::XML
  install SOAP::Lite
  install DBI
  install DBD::mysql
  install Apache::DBI
  install Apache2::SOAP

or

  cd /usr/ports/www/p5-libwww
  make install clean
  cd /usr/ports/net/p5-SOAP-Lite
  make install clean
  cd /usr/ports/net/p5-RPC-XML
  make install clean
  cd /usr/ports/databases/p5-DBI
  make install clean
  cd /usr/ports/databases/p5-DBD-mysql
  make install clean
  cd /usr/ports/www/p5-Apache-DBI
  make install clean

2. Download the sources: NicToolServer

3. Expand the sources:

tar -xzf NicToolServer-X.XX.tar.gz

4. Install the perl modules:

cd NicToolServer-X.XX
perl Makefile.PL
make install clean

5. Move the distribution to it's long term resting place:

mv NicToolServer-X.XX /usr/local/www/NicToolServer

6. Configure Apache

This will vary from system to system, and dependent on what version of Apache you are using. A typical configuration for use with Apache 2 listening on localhost is what I shall present below. If you run NicToolClient on a seperate server, then you'll want your vhost to listen on an external IP address instead. These are additions to make to your httpd.conf file:

<IfDefine !MODPERL2> 
   PerlFreshRestart On
</IfDefine>
PerlTaintCheck Off
    
Listen 8082

PerlRequire /usr/local/www/NicToolServer/nictoolserver.conf
PerlRequire /usr/local/www/NicToolClient/lib/nictoolclient.conf

<VirtualHost 127.0.0.1:8082>
    KeepAlive Off
    <Location />
        SetHandler perl-script
        PerlResponseHandler NicToolServer
    </Location>
    <Location /soap>
        SetHandler perl-script
        # ATTENTION: Comment out one or the other!
        #PerlResponseHandler Apache::SOAP
        #PerlResponseHandler Apache2::SOAP
        # /ATTENTION
        PerlSetVar dispatch_to "/usr/local/www/NicToolServer, NicToolServer::SOAP"
    </Location>
</VirtualHost>

If you are using NicTool with Apache 2, you may be interested in this patch for SOAP::Lite and this patch for Apache::DBI. There is a thread on the support forums regarding the SOAP::Lite patch which has been deprecated! See the Apache2::SOAP thread in the discussion forums.

7. Create MySQL database and permissions.

cd /usr/local/www/NicToolServer/sql
perl create_tables.pl

8. Configure nictoolserver.conf

vi /usr/local/www/NicToolServer/nictoolserver.conf

9. Restart Apache

10. Optionally Test Installation

Begin by creating a "test.com" subgroup in nictool, with a user in it. Then edit t/test.cfg to match the user/pass you chose.

cd /usr/local/www/NicToolServer
vi t/test.cfg
perl Makefile.PL
make test **

** You should probably not do this on existing installs. Or if you really want to, back up your database tables first, test, and then restore them.

11. Set up nameserver exports

Visit the tinydns export page.