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 }