NAME

Netdisco INSTALL -- Instructions for setting up Netdisco application.


VERSION

Netdisco 0.94

PLEASE check the latest version of this document at http://netdisco.org/install.html in case of bugs.


AUTHOR

Created by Max Baker.

See list at the end of README of all the contributors.

Netdisco was created at the University of California, Santa Cruz (UCSC), Networking and Technology Services (NTS) department. UCSC continues to support the development of Netdisco by providing development servers and financial support.


SUPPORT

Netdisco is an Open Source project hosted by Source Forge.

Please use the netdisco-users mailing list for all help, problems and comments. Developers, patches, and ideas are always welcome.

http://lists.sourceforge.net/lists/listinfo/netdisco-users

Please use the Bug interface from Source Forge page at :

http://sourceforge.net/projects/netdisco


REQUIREMENTS

Netdisco is built using lots of fine Open-Source tools:

See INSTALL below for details on how to retrieve and install each one.

OS

Netdisco was developed on a FreeBSD system but should work on any system that Postgres, Perl, Apache, and Net-SNMP run on.

Linux is a sure bet. Netdisco has been tested with Mandake 9.1 and includes specific notes to install with it. Successful installs have been reported under Redhat, Mandrake, Gentoo and Debian.

One user has reported getting Netdisco running on OS X.

Windows will take a lot of massaging but should be possible under Cygwin.


INSTALL

This is not a terribly easy install. If you aren't comfortable installing programs from source and using a text editor, get some help. Hopefully this will all be rolled up into an install script by the time Netdisco hits version 1.0.

1. Download and Un-archive Netdisco

Get the newest version from http://www.netdisco.org.

    tar xvfz netdisco-x.xx.tar.gz

Create a directory for Netdisco

    mkdir /usr/local/netdisco

Move files to that dir

    mv netdisco-x.xx/* /usr/local/netdisco

Non-Standard install Directory

If you plan to install to a directory other than /usr/local/netdisco then you must change a couple files. Otherwise Skip down to Number 2.

SQL Shell Scripts
Modify the following shell scripts :
    sql/pg_run
    sql/pg_init
    sql/pg_back
    bin/netdisco_daemon

netdisco.conf
Set the home option in netdisco.conf.

netdisco_apache.conf
Change all the appearances of /usr/local/netdisco in netdisco_apache.conf to match your new directory.

netdisco_apache_dir.conf
Change all the appearances of /usr/local/netdisco in netdisco_apache_dir.conf to match your new directory.

2. Create a Unix User/Group for Netdisco

Create a user and group named netdisco

Linux
    useradd -d /usr/local/netdisco netdisco
BSD
    adduser netdisco

Give this user permission to the files:

    chown -R netdisco.netdisco /usr/local/netdisco

3. Add Unix Administrators to Netdisco Group

Once Netdisco is up and running most administration can be done from the Web interface. Whoever will be doing the back-end administration will need to have write access and will need write access on Netdisco's files.

Add the unix account names of administrators that will modify the source code or use the command line interface interface to the netdisco group in /etc/groups.

Don't forget to logout and login after adding yourself to a group.

4. PostgreSQL

Netdisco runs Postgres as its database back-end. A mySQL and Oracle port are in development.

4.1. Install Postgres

[4.1.1] BSD
First install Postgres from ports:
    cd /usr/ports/database/postgresql7
    make install

Next initialize the database :

    more /usr/local/pgsql/post-install-notes
    su -l pgsql -c initdb

[4.1.2] Mandrake Linux
Installing PostgreSQL the easy way:
    urpmi postgresql postgresql-devel postgresql-server postgresql-docs

The files you will need to edit below are in /var/lib/pgsql/data.

If you lost / don't have install CDs :

The following line uses an FTP site that has the 9.0 RPMs because I lost the CDs. Check the current mirror list at http://www.mandrakelinux.com/en/ftp.php3 and choose a mirror close to you.

    urpmi.addmedia ftpsite ftp://mirror.mcs.anl.gov/pub/Mandrake-old/9.0/i586/Mandrake/RPMS \
        with ../base/hdlist.cz

Now you have to add --media ftpsite in each urpmi command like so :

    urpmi --media ftpsite postgresql postgresql-devel

Remember this for the Apache setup too.

[4.1.3] MAC OS X
See http://developer.apple.com/internet/macosx/postgres.html for detailed instructions on installing PostgreSQL with OS X.

[4.1.4] By Source (All Others)
There is probably a binary package all ready for you. See your distribution's instructions for more help. Otherwise download and compile the source code from http://www.postgresql.org.

If you are installing Postgres from source you may have to run these two commands in order to install the DBD::Pg Perl module later on :

    export POSTGRES_INCLUDE=/usr/local/postgres/include
    export POSTGRES_LIB=/usr/local/postgres/lib

You may also have to modify your /etc/ld.so.conf to include your new POSTGRES_LIB directory. Don't forget to run ldconf afterwards.

4.2. Configure Postgres

Netdisco's settings in PostgreSQL are

 Database User     : netdisco
 Database Name     : netdisco
 Database Password : you choose it

Follow these steps to setup Netdisco in PostgreSQL.

[4.2.1] Permissions
If you have just setup Postgres for the first time you may have to change the default permissions in $PG_DATA/pg_hba.conf. $PG_DATA might be in /usr/local/pgsql or in /var/db, depends on your OS. Check the postgres users' homedir files for the location of $PG_DATA.

For installation you must give the database user access to the template1 database. The following line will give all users who have logon permissions in Unix access to the template1 database.

    local template1 all ident

Next you must give the netdisco database user access to the netdisco database. The following line will give all database users access to a database that is the same name as them. This line must be put above all the rest of the uncommented lines in the pg_hba.conf file to take precedence.

    local sameuser all md5

You may have to swap md5 for crypt, for old versions of Postgres. Upgrade.

Finally if you would like to have root be able to access all databases, try this one :

    local all root trust

[4.2.2] Restart Postgres
You must now restart Postgres

Linux : one of these three

    /etc/rc.d/init.d/postgresql restart
    service postgresql restart
    /etc/rc.d/postgresql restart

FreeBSD :


    /usr/local/etc/rc.d/*pgsql* restart

If there are problems with this step you will receive an error that mentions something about pg_hba.conf.

[4.2.3] Create Database.
Make sure your copy of the database is running.

Next, find out the name of your database user. The default name for some Linux RPM versions is postgres and for some BSD installations pgsql.

Edit the files pg_init and pg_run to match your database user name in /usr/local/netdisco/sql/pg_init

    vi /usr/local/netdisco/sql/pg_init
    vi /usr/local/netdisco/sql/pg_run

As root run sql/pg_init to create the database and user for Netdisco.

The password you will be asked for twice is the new password for the database user you are creating. This is the same password you will be putting in netdisco_apache.conf and in netdisco.conf.

    cd /usr/local/netdisco/sql
    ./pg_init

[4.2.4] Check Settings
Now as a non-privileged user make sure you can get into the database by running sql/pg_run. Enter the database user password given above.
    cd /usr/local/netdisco/sql
    ./pg_run

[4.2.5] Create Tables
Once you are sure the database is setup correctly, create the database tables with sql/pg_all. Type in the database user password once when prompted.
    cd /usr/local/netdisco/sql
    ./pg_all

[4.2.6] Optimizations
If you have freshly installed Postgresql then the default memory usage NEEDS to be increased for efficiency. See the PostgreSQL documentation for postgresql.conf.

Specifically you really need to up the maximum connections and shared memory settings. After you have Netdisco running on a large installation it would be of great benefit to get a Postgres guru in there to tune things for you. See README for more info about how to speed things up now and again.

[4.2.7] Postgres Startup
Make sure that Postgres is set to start automatically.
Linux
    chkconfig postgresql on
BSD
Make sure that the file in /usr/local/etc/rc.d is alright.

[4.2.8] Postgres Maintenance
Read the section in README about Database Maintenance... every once in a while you may have to run a VACUUM and REINDEX by hand if things get too slow.

[4.2.9] Remote Database (Optional)
If you have postgres installed in a remote location then all you have to do is add that host information to the db_Pg line in netdisco.conf.
    db_Pg = dbi:Pg:dbname=netdisco;host=HOSTNAME;port=PORT;

On the Postgresql machine, allow your remote front end to contact the backend database. Here is a sample line in pg_hba.conf.

 #TYPE  DATABASE          USER            IP-ADDRESS              IP-MASK           METHOD
 host   netdisco        netdisco         101.102.103.104         255.255.255.0       md5

Don't forget to restart Postgres after changing the pg_hba.conf file.

5. SNMP

There are three components to setup for SNMP

5.1. Net-SNMP

Net-SNMP 5 lives at http://net-snmp.sourceforge.net.

See OS-specific notes below.

[5.1.1] Download Net-SNMP from http://net-snmp.sourceforge.net
This used to be called ucd-snmp.

[5.1.2] Install Net-SNMP to include Perl module that comes inside the distribution.
When you run ./configure, make sure you add the switch --with-perl-modules
    ./configure --with-perl-modules --enable-shared
    make 
    make install

If you already have net-snmp installed, then go to the source directory and in the perl subdirectory and run perl Makefile.PL

    cd /path/to/net-snmp-5.1.x/perl
    perl Makefile.PL
    make
    make install
 ********************************************************************

DO NOT INSTALL the SNMP:: modules off of CPAN or the NET::SNMP module off of CPAN.

 ********************************************************************

Reread the above line.

[5.1.3] (Optional) Configure Net-SNMP for a non-standard setup
You probably will not have to do this step unless you have installed net-snmp somewhere other than /usr/local/ or have some specific SNMP defaults to change for these tools.
    snmpconf

Make sure to set the MIB dir if non-standard or you are not using the MIBS that come with Netdisco.

 (Textual mib Parsing -> Specifies directories to be searched for mibs)

Make sure this newly created snmp.conf lives in /usr/local/share/snmp or wherever you put a custom install.

OS Specific Notes :

BSD
For BSD install Net SNMP with ports :
    cd /usr/ports/net/net-snmp && make install

For a recent version of BSD you should get the Perl modules installed automatically.

For a really old version of BSD, or for weird and multiple Perl installs do it by hand!

    cd /usr/ports/net/net-snmp
    make
    cd work/net-snmp-5
    ./configure --with-perl-modules
    make
    make install

Linux
If you have installed the Net-SNMP RPM from Redhat or Mandrake it does not include the Perl modules. Uninstall it and install a newer version by hand as below.
    rpm -e net-snmp

Same goes for Debian. DO NOT use the apt-get version of Net-SNMP, install by hand (it's easy!).

5.2. SNMP::Info

This Perl module is an integral part of Netdisco. It is available from http://snmp-info.sourceforge.net. It requires that you have net-snmp installed first.

SNMP::Info holds all the device-specific code to retrieve data from network devices via SNMP. A wide variety of devices are supported. You may need to add support for other devices if they do not follow a standard interface. This is not too complex. See SNMP::Info for more details.

You have four different options in installing SNMP::Info

[5.2.1] CPAN
    perl -MCPAN -e shell
        o conf prerequisites_policy ask
        install SNMP::Info
[5.2.2] From Source
Download newest version from http://snmp-info.sourceforge.net
    tar xvfz SNMP-Info-0.x.tar.gz 
    cd SNMP-Info-0.x
    perl Makefile.PL
    make install

[5.2.3] From CVS
If you plan to add or change device support in SNMP::Info to customize Netdisco to your devices, you should install SNMP::Info this way.
    make snmp

This will create the SNMP/ directory where SNMP::Info will live. Periodically you should re-run

    make snmp

To update to the most current CVS version. For BSD or Solaris systems, use gmake instead of make

[5.2.4] From ports (BSD)
    cd /usr/ports/net-mgmt/p5-SNMP-Info
    make install

5.3. MIBs

MIBs that are required for SNMP::Info are included with Netdisco in the mibs/ directory.

They are also available as a separate download on source forge.

6. GraphViz (Optional)

GraphViz is used to create the Network Map.

It lives at http://www.research.att.com/sw/tools/graphviz/.

[6.1] Download
BSD
For BSD use ports:
    cd /usr/ports/graphics/graphviz && make install

Linux
For Redhat and Mandrake systems you will make sure that a lol of -devel packages are installed. If you see errors about not having a PNG or JPEG library then install the -devel packages as needed.
    urpmi libjpeg62-devel libpng3-devel

If you get some weird error in build about not having intl.la then make sure you have the gettext packages installed :

    urpmi gettext-devel

Unix
Get the newest version from http://www.graphviz.org/pub/graphviz. Unarchive and install.

Solaris
Follow the UNIX Instructions but ...

Make the JPEG and EXPAT libraries first and when making the JPEG library make sure you have

    ./configure --enabled-shared --enabled-static

Mac OS X
It is reported to be in DarwinPorts or you can check out http://www.phil.uu.nl/~js/graphviz/.

[6.2] True Type Font
Copy a True Type Font file (.ttf) into the Netdisco directory and change node_font in netdisco.conf to match.
    cp /path/to/windows/fonts/lucon.ttf /usr/local/netdisco

You can grab arial.ttf or lucon.ttf out of the c:\windows\fonts directory of any Windows machine.

[6.3] Graph Settings
Review other graph settings in netdisco.conf

[6.4] Check Path
Make sure that neato/twopi is in your path, and/or in the crontab path that creates the graphs.
    which twopi
    which neato

After the Perl Modules step below, make sure the Graphviz Perl module got installed

    perldoc GraphViz

NOTE: You can safely ignore all warnings about size too small for label.

7. Setup Apache

Apache2 --

Until mod_perl 2.0 is released as stable, Mason will not run under Apache2. Netdisco will not run under Apache2 until that point.

7.1. MAC OS X

See the following three links in addition to this document :

http://www.oreillynet.com/pub/a/mac/2002/11/05/apache_osx.html http://www.oreillynet.com/pub/a/mac/2002/12/18/apache_modssl.html http://www.oreillynet.com/pub/a/mac/2003/02/07/libapreq_update.html

7.2. Mandrake 9.1

Mandrake 9.1 comes with Apache2. It also has the option of installing a version of Apache1/mod_perl on a different port and then reverse-proxying it.

mod_ssl with Mandrake to come...

[7.2.1] Install Apache1
Install Apache1 and Mod_Perl 1 and their development packages :
    urpmi apache-devel-1 mod_perl-devel-1 apache-mod_perl-1 mod_perl-common-1

Mandrake 9.1 - Do this for the DB_File Perl module

    ln -s /usr/include/db1/* /usr/include
    ln -s /usr/lib/libdb1.so.2 /usr/lib/libdb.so

[7.2.2] Configure Both Apaches
Mandrake and some Redhats come with two copies of Apache installed. The mod_perl server sits on a weird port and is reversed proxied by a normal Apache server.

Mandrake 9.0 uses two Apache1 servers, while Mandrake 9.1 uses an Apache2 server that sits in front of the apache1/mod_perl server.

Configuration files for Mandrake live in /etc/httpd/conf

In the file httpd-perl.conf add the two Include lines:

    Include /usr/local/netdisco/netdisco_apache.conf
    Include /usr/local/netdisco/netdisco_apache_dir.conf

In the file httpd.conf (httpd2.conf for 9.1) add the final RewriteRule line:

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^proxy:.*  -  [F]
    RewriteRule ^(.*\/perl\/.*)$  http://%{HTTP_HOST}:8200$1 [P]
    RewriteRule ^(.*\/cgi-perl\/.*)$  http://%{HTTP_HOST}:8200$1 [P]
    RewriteRule ^(.*\/netdisco\/.*)$  http://%{HTTP_HOST}:8200$1 [P]
    </IfModule>

In the file commonhttpd.conf add the Alias line :

    Alias /netdisco /netdisco/

[7.2.3] Restart Apache
    /etc/rc.d/init.d/httpd restart

7.3. Apache From Scratch

Install Apache 1.3.x and mod_perl 1.x and mod_ssl

Netdisco is designed to work in a secure (https) or non-secure environment. Due to the security and privacy concerned associated with this data, using a secure server is recommended.

Below is my method if you haven't installed apache and mod_perl before. I statically compile mod_perl, and mod_ssl then leave the rest of the modules as dynamically loadable objects (DSO).

[7.3.1] Download and Unarchive
Get Apache from http://httpd.apache.org

Get mod_perl from http://perl.apache.org

Get mod_ssl from http://www.modssl.org

Unarchive all three to the same directory, maybe /usr/local/src

[7.3.2] Inital Apache Setup
This step makes the framework that mod_ssl and mod_perl need.
 cd apache_1.3*
 ./configure

No need to make it yet.

[7.3.3] mod_ssl
Mod_SSL gives us a secure server (https) for Netdisco to run under.

The OpenSSL library is a prerequirement for mod_ssl and may or may not already be on your system. If not :

a. BSD
Installing OpenSSL :
    cd /usr/ports/devel/mm && make install
    cd /usr/ports/security/openssl && make install

Setup mod_ssl :

    cd /path/to/mod_ssl_1.x.x
    SSL_BASE=SYSTEM \
        ./configure \
            --with-apache=../apache_1.3.x \
            --disable_rule=SSL_COMPAT

b. RedHat / Mandrake
OpenSSL is installed by default.

You will have to tell the OS to look for the Kerberos libraries used in this version of OpenSSL:

    ./configure \
        --with-apache=../apache_1.3.x \        
        --disable_rule=SSL_COMPAT
    make C_INCLUDE_PATH=/usr/kerberos/include

Thanks to David Martin for this info.

c. By Hand (other OSs)
Follow the instructions in the INSTALL that comes with mod_ssl
 SSL_BASE=/path/to/openssl-0.9.x \
 ./configure \
    --with-apache=../apache_1.3.x \        
    --disable_rule=SSL_COMPAT

[7.3.4] mod_perl
This step sets up mod_perl for this copy of apache :
 cd ../mod_perl-1.x
 /usr/local/bin/perl Makefile.PL \
        APACHE_SRC=../apache_1.3.x/src \
        EVERYTHING=1 \
        DO_HTTPD=1 \
        USE_APACI=1 \
        PREP_HTTPD=1
 make

[7.3.5] Apache Again
Now we're ready to make the main apache and install all of the above (mod_ssl, mod_perl, and Apache).
 cd ../apache_1.3*
 ./configure \
        --prefix=/usr/local/apache \
        --enable-module=most \
        --enable-shared=max \
        --activate-module=src/modules/perl/libperl.a \
        --with-perl=/usr/local/bin/perl \
        --enable-module=ssl
 make
 make certificate
 make install

[7.3.6] Install mod_perl
 cd ../mod_perl*
 make install

7.4. Apache Configuration Files

Add the following lines in your httpd.conf.

Your httpd.conf will live in /usr/local/apache/conf if you installed using my method.

[7.4.1] In the Global Section
Add this line once in the end of httpd.conf not in a VirtualHost section.
    Include /usr/local/netdisco/netdisco_apache.conf

[7.4.2] No virtualhosts
If you do not have virtual hosts setup and/or you have a main server, add this line right after the first include :
    Include /usr/local/netdisco/netdisco_apache_dir.conf

[7.4.3] In each VirtualHost
If you have Virtual Hosts or are setting up a secure server, put the following line in each of them that you want Netdisco turned on for:

If you are not using Virtual Hosts, then add this line under the netdisco_apache.conf line.

    Include /usr/local/netdisco/netdisco_apache_dir.conf

Make sure you have this include line for the secure server virtual host *:443 at the bottom of http.conf.

7.5. Mason Data Directory

Set the mason data directory writable to the apache user that does the requests.

Assuming nobody is the user that apache requests run this as root :

    chown nobody.netdisco /usr/local/netdisco/mason

The name of the user is listed in httpd.conf under the User directive.

Note: Some Linux distributions such as Redhat 6.x install mod_perl as a Dynamic Shared Object (DSO). This is known to be unstable, especially with Mason. Compile mod_perl statically using the method listed above. If you suspect yours is not compiled in, run httpd -l and see if mod_perl.c is listed (it should be).

8. Perl Modules and Mason

Below is a list of required modules for Netdisco, freely available from CPAN http://www.cpan.org. Many of these modules have prerequisite modules.

8.1. Install required Perl modules from CPAN

Use the CPAN module that comes with Perl to install the modules and their prerequisites automatically:

    perl -MCPAN -e shell
        o conf prerequisites_policy ask
        install Digest::MD5
        install Bundle::DBI
        install Apache::DBI
        install DBD::Pg
        install DB_File      (for Apache::Session)
        install Apache::Session
        install Apache::Test (for Apache::Request, you may need to do a 'force install')
        install Apache::Request
        install HTML::Entities
        install HTML::Mason
        install MasonX::Request::WithApacheSession
        install Graph
        install GraphViz     (you may need to do a 'force install')
        install Compress::Zlib (probably already have this one)

Some of these you will probably already have installed. Others you may need to force with force install ModuleName. Do Not include the comments in (parens)!

8.2. Non-Standard Perl Location

If you don't have Perl installed in /usr/bin, you will need to modify the first lines of netdisco and bin/doc_munge.

9. Netdisco Configuration

[9.1] netdisco.conf
Modify netdisco.conf to match your site.

See README for detailed configuration descriptions.

[9.2] netdisco_apache.conf
Change settings on lines:
    session_user_name
    session_password
    session_cookie_domain

[9.3] netdisco.crontab
This is where you control the frequency of data collection done by Netdisco. See section 15 of this document for details.

Change center_network_device to a network device that is well connected to the main segment by CDP/FDP/SONMP.

[9.4] Add a user in Netdisco
This is a user inside the Netdisco database that will be your Web Admin User
    /usr/local/netdisco/netdisco -u joebob

Add more users from the web Admin Panel once Netdisco is up and running.

[9.5] Make Documentation (CVS Versions Only)
This step is only necessary if you have installed from CVS.
i. Perl Location
Make sure that the POD2TEXT lines in Makefile point to where your Perl binaries are installed.

ii. Create Docs
You can do this step if you would like the SNMP documentation available from the web as well.
 cd /usr/local/netdisco && gmake doc

[9.6] Change Permissions on Config files
Since the config files contain SNMP community strings and database passwords, you must make them only available to the administrators for security.
 chgrp netdisco /usr/local/netdisco/*.conf
 chmod 660 /usr/local/netdisco/*.conf

10. OUI Database

The Organizationally Unique Identifier (OUI) database allows Netdisco to identify the manufacture of a network card using the first 24 bits of a MAC address.

Run the following command to import the contents of oui.txt into your database.

    cd /usr/local/netdisco
    netdisco -O

[10.1] Updating oui.txt (Optional)

The database of OUIs is needed by Netdisco and is available from the IEEE.

If you have lynx installed you can install the OUI database by:

    cd /usr/local/netdisco
    gmake oui

(gmake for BSD/Solaris)

Or do this by hand:

   1. Download oui.txt from http://standards.ieee.org/regauth/oui/
   2. Run netdisco -O

11. Start Apache

Now that you have everything setup, (re)start the web-server.

Check Apache's error_log for possible errors.

[11.1] HomeGrown Copies of Apache
    /usr/local/apache/bin/apachectl start
[11.2] Used the Apache installed by Mandrake
    /etc/rc.d/init.d/httpd restart

Also, double-check that Apache starts on its own at reboot.

12. Discover a Device in Netdisco

Pick a device that you can access with the command snmpwalk. Tell Netdisco to discover that device:

    cd /usr/local/netdisco
    ./netdisco -d devicename

Make sure that this step actually works. This is a good metric that you have now installed Netdisco correctly. Add the -D flag to get copious debugging info.

13. Create Network Topology

See README for a description of Topology Information.

If your network is CDP/FDP/SONMP aware, pick a device that you consider close to the center of the network and start an auto-discovery from there:

    cd /usr/local/netdisco
    ./netdisco -r myrouter

If your network is not CDP friendly, then see README for how to use the manual topology file netdisco-topology.txt.

You MUST supply Netdisco with a working topology or MAC addresses will show up on uplink ports instead of end ports.

14. Test Web Side

First restart Apache so that netdisco will see the changes that you have made in netdisco.conf. Note that a graceful restart will not re-read the configuration file. A full restart is required.

    /usr/local/apache/bin/apachectl restart

Point a browser to /netdisco on the server you have Netdisco installed on. If everything is working you should be able to login with the user name and password you added in Step 10. You should also be able to access the Admin Panel.

    http://localhost/netdisco

If you have problems, check the error_log of apache for messages.

    tail /usr/local/apache/logs/error_log

15. Add Cron Jobs

Once you're sure Netdisco is setup correctly, modify netdisco.crontab.

 vi netdisco.crontab
Network Discovery
Change center_network_device to one of your core routers or switches.

Data Collection
You may want to fine-tune these jobs to your network. If jobs run too frequent and overlap, nothing bad will happen, it's just higher load on your network devices and Netdisco server.

Once Netdisco has been running for a day, look at the BackEnd Log in the web browser and see how long each of the jobs is taking to finish. If there is overlap, for example if your arpnip is taking over 60 minutes or your macsuck is taking over 120 minutes, then consider decreasing the frequency of these jobs as to not cause extra load on your network devices.

Now set the crontab to the netdisco user (as root).

    crontab -u netdisco /usr/local/netdisco/netdisco.crontab

16. Start Admin Daemon

The admin deaemon performs administration jobs that are requested from the web front-end. See README for a description of the admin daemon.

    /usr/local/netdisco/bin/netdisco_daemon start

The daemon will be respawned daily in the Cron job listed above. This isn't 100% necessary, I just did in case the net-snmp libraries had any memory leaks.

16.1 Make the Admin Daemon start at every boot

If you would like the daemon to be started upon bootup, then do the following:

Linux
This is for Redhat/Mandrake/Fedora. Debian and Gentoo might be a little different.
    ln -s /usr/local/netdisco/bin/netdisco_daemon /etc/rc.d/init.d
    chkconfig --add netdisco_daemon
    chkconfig netdisco_daemon on

Now you should be able to use this command:

    service netdisco_daemon {stop,start,restart,status}

FreeBSD
    ln -s /usr/local/netdisco/bin/netdisco_daemon /usr/local/etc/rc.d
Other
Add the following line to your /etc/rc.d/rc.local file :
    /usr/local/netdisco/bin/netdisco_daemon start


SUCCESS

Now that you have spent ten hours of your life installing this go drink a Beer, you deserve it.

Once you have or have not succeeded, come join the Netdisco User's mailing list at http://netdisco.org and pass on any hints you may have in the INSTALL process.

It's a good place to keep up on new features and releases, and it's the place to ask any questions.

Credits and Donations

If you find Netdisco useful please consider donating to its developer. Check out http://netdisco.org for a Source Forge donation page and Amazon wish list.