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, then you'll 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. Test Installation

cd /usr/local/www/NicToolServer
perl Makefile.PL
make test