netdisco can be a pain… even just getting it to run…
I found some neat installation scripts for installing netdisco on some other linux flavors, but I prefer ubuntu. I took those scripts and quickly hammered out one that’s ubuntu-specific. It’s not as pretty, and doesn’t allow you to do as much config by responding to script questions, but it gets netdisco up and running. You’ll likely tweak the config files in ways that make full configuration through the installation script not worthwhile anyways.
I tested this on Ubuntu 10.04beta. Just copy it into a file (or click the download link), make it executable, and be sure to run as root.
Cheers!
Preview:
# courtesy of http://www.mattvsworld.com # This script will install Netdisco on an Ubuntu system # using apache2 and mod_perl2. # UNSUPPORTED - Please use at your own risk. # Parts of this script were inspired by another script contributed by Kaven Rousseau and was modified for CentOS by Walter Gould: # http://www.auburn.edu/~gouldwp/netdisco/ # Note: - this script should be run as root (sudo ./install_netdisco_ubuntu.sh) # - you may STILL need to make modifications to netdisco.conf and netdisco.crontab to make it work on your network # - you will likely also want to run the following after installation: # /usr/local/netdisco/netdisco -r [your central network device] # /usr/local/netdisco/netdisco -m # /usr/local/netdisco/netdisco -g # install required packages apt-get install postgresql apache2 graphviz libnet-snmp-perl libapache2-mod-perl2 libapache-session-wrapper-perl libhtml-mason-perl libdbd-pg-perl libgraphviz-perl libio-zlib-perl libapache2-request-perl libnet-nbname-perl libsnmp-info-perl libapache-dbi-perl libmasonx-request-withapachesession-perl libparallel-forkmanager-perl libgraph-perl # get/extract netdisco source wget http://downloads.sourceforge.net/project/netdisco/netdisco/1.0/netdisco-1.0_with_mibs.tar.gz?use_mirror=iweb tar xzvf netdisco-1.0_with_mibs.tar.gz # move to /usr/local/netdisco mkdir -p /usr/local/netdisco mv netdisco-1.0/* /usr/local/netdisco # ensure needed directories sudo mkdir -p /usr/local/netdisco/data/logs # create netdisco user useradd -d /usr/local/netdisco netdisco chown -R netdisco:netdisco /usr/local/netdisco # ensure apache modules enabled a2enmod perl a2enmod apreq # alter postgres config mv /etc/postgresql/8.4/main/pg_hba.conf /etc/postgresql/8.4/main/pg_hba.conf.orig cat /etc/postgresql/8.4/main/pg_hba.conf.orig | sed "s/# TYPE DATABASE USER CIDR-ADDRESS METHOD/# TYPE DATABASE USER CIDR-ADDRESS METHOD\n# netdisco\nlocal sameuser netdisco trust/g" > /etc/postgresql/8.4/main/pg_hba.conf # restart postgres /etc/init.d/postgresql-8.4 restart # set up db /usr/local/netdisco/sql/pg --init # set up crontab crontab -u netdisco /usr/local/netdisco/netdisco.crontab # set up daemon ln -s /usr/local/netdisco/bin/netdisco_daemon /etc/init.d/netdisco update-rc.d netdisco defaults # add apache config echo "Include /usr/local/netdisco/netdisco_apache.conf" > /etc/apache2/conf.d/netdisco.conf echo "Include /usr/local/netdisco/netdisco_apache_dir.conf" >> /etc/apache2/conf.d/netdisco.conf # restart apache /etc/init.d/apache2 restart # create first admin user /usr/local/netdisco/netdisco -u admin # init oui data curdir = `pwd` cd /usr/local/netdisco make oui cd $curdir # per Kelly Schuerman's comments on mattvsworld.com (thanks!): # uncomment the next two lines to set ownership of front-end files to www-data:www-data #chown -R www-data:www-data /usr/local/netdisco/html #chown -R www-data:www-data /usr/local/netdisco/mason # start up front end /etc/init.d/netdisco start
{ 7 comments… read them below or add one }
nice work! mind if we include this in the next release?
Thanks for sharing. I found your script quite useful. The only things I needed to do in addition to running your script is chown www-data.www-data on /usr/local/netdisco/html and /usr/local/netdisco/mason
@max: For sure! feel free to use anything you see here (a smidgen of credit is appreciated)
@kelly: did you have any issues after changing ownership? i don’t have time to test at the moment, but i’ll add your suggestion in at the end of the script, just commented out for now… thanks!
Hi Matt,
I just discovered that netdisco is available as package in Ubuntu 10.4. I still have to test it, but it looks like it will be easier to install using apt-get instead of scripting it.
Charles:
I believe netdisco has had an ubuntu package for a little while now. I do recall having issues with it though, and my focus here was being able to install the latest version from source. Have you had any luck with the package?
matt
Just wanted to thank you very much for the install.
I didn’t like how the Debian one was packaged, so I went with the src and your instructions.
–
Thanks,
A/C