wok rev 8702

add:nconf
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Thu Feb 17 23:11:56 2011 +0100 (2011-02-17)
parents 8790ebe535f1
children 4baffb6d5d2a
files nconf/receipt nconf/stuff/apache2-nconf.conf
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/nconf/receipt	Thu Feb 17 23:11:56 2011 +0100
     1.3 @@ -0,0 +1,123 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="nconf"
     1.7 +VERSION="1.2.6-0"
     1.8 +CATEGORY="system-tools"
     1.9 +SHORT_DESC="Enterprise Nagios configurator"
    1.10 +MAINTAINER="erjo@slitaz.org"
    1.11 +DEPENDS="mysql php-apache nagios perl perl-dbi perl-dbd-mysql"
    1.12 +TARBALL="$PACKAGE-$VERSION.tgz"
    1.13 +WEB_SITE="http://www.nconf.org/dokuwiki/doku.php"
    1.14 +WGET_URL="$SF_MIRROR/$PACKAGE/$TARBALL"
    1.15 +
    1.16 +# Rules to configure and make the package.
    1.17 +compile_rules()
    1.18 +{
    1.19 +	[ -d $PACKAGE-$VERSION ] || mv $PACKAGE $PACKAGE-$VERSION
    1.20 +	cd $src
    1.21 +}
    1.22 +
    1.23 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.24 +genpkg_rules()
    1.25 +{
    1.26 +	mkdir -p $fs/usr/share/nconf \
    1.27 +		$fs/var/lib/nconf \
    1.28 +		$fs/etc/nconf \
    1.29 +		$fs/etc/apache/conf.d \
    1.30 +		$fs/etc/nagios/import
    1.31 +		
    1.32 +	cp  stuff/apache2-nconf.conf $fs/etc/apache/conf.d
    1.33 +	
    1.34 +	# Copy files
    1.35 +	cp -a $src/* $fs/usr/share/nconf
    1.36 +	
    1.37 +	# Move config, output, static_cfg, temp tor $fs/var/lib/nconf (FHS)
    1.38 +	# and link them to $fs/usr/sahre/nconf
    1.39 +	cp -a  $fs/usr/share/nconf/config.orig/* $fs/etc/nconf
    1.40 +	mv $fs/usr/share/nconf/output $fs/var/lib/nconf
    1.41 +	mv $fs/usr/share/nconf/static_cfg $fs/var/lib/nconf
    1.42 +	mv $fs/usr/share/nconf/temp $fs/var/lib/nconf
    1.43 +	
    1.44 +	chown -R www.www $fs/usr/share/nconf \
    1.45 +		$fs/var/lib/nconf
    1.46 +	
    1.47 +	ln -s /etc/nconf/authentication.php $fs/usr/share/nconf/config
    1.48 +	ln -s /etc/nconf/main.php $fs/usr/share/nconf/config
    1.49 +	ln -s /etc/nconf/mysql.php $fs/usr/share/nconf/config
    1.50 +	ln -s /etc/nconf/nconf.php $fs/usr/share/nconf/config
    1.51 +	ln -s /var/lib/nconf/output $fs/usr/share/nconf/
    1.52 +	ln -s /var/lib/nconf/static_cfg $fs/usr/share/nconf/
    1.53 +	ln -s /var/lib/nconf/temp $fs/usr/share/nconf/
    1.54 +	
    1.55 +	mv $fs/usr/share/nconf/INSTALL $fs/var/lib/nconf
    1.56 +	# Cleanup
    1.57 +	rm -rf $fs/usr/share/nconf/UPDATE*
    1.58 +	rm -f $fs/usr/share/nconf/INSTALL.php
    1.59 +	
    1.60 +	# Set default settings
    1.61 +	sed -i -e 's/Nconf/nconf/' -e 's/link2db/nconf/' $fs/etc/nconf/mysql.php
    1.62 +	sed -i -e '/NCONFDIR/ s|/var/www|/usr/share|' \
    1.63 +		-e '/NAGIOS_BIN/ s|/var/www/nconf/bin|/usr/bin|' $fs/etc/nconf/mysql.php
    1.64 +		
    1.65 +	# Fix add-ons scripts
    1.66 +	sed -i -e 's|bash|sh|' -e '/OUTPUT_DIR/ s|/var/www/html|/usr/share|' \
    1.67 +		-e '/NAGIOS_DIR/ s|NAGIOS_DIR=.*|NAGIOS_DIR=\"/etc/nagios\"|' $fs/usr/share/nconf/ADD-ONS/deploy_local.sh
    1.68 +	sed -i -e 's|bash|sh|' -e '/DBNAME/ s|NConf|nconf|' $fs/usr/share/nconf/ADD-ONS/history_cleanup.sh
    1.69 +}
    1.70 +
    1.71 +post_install()
    1.72 +{
    1.73 +	local db=nconf
    1.74 +	local db_user=nconf
    1.75 +	local db_password=nconf
    1.76 +	local sql_script='/var/lib/nconf/INSTALL/create_database.sql'
    1.77 +	
    1.78 +	# Minimal config for NConf.
    1.79 +	if [ -z $1 ]; then
    1.80 +		if ( ! mysqladmin -s ping > /dev/null ); then
    1.81 +			echo "Starting MySQL server"
    1.82 +			( /etc/init.d/mysql start ; status  ) || exit 
    1.83 +			sleep 4 #let the mysql daemon start
    1.84 +		fi
    1.85 +		if ( ! mysql -u root -Be 'show databases' | grep -q $db ); then
    1.86 +			echo -n "Create $db database"
    1.87 +			mysql -Be "create database $db" ; status
    1.88 +			# We suppose that $DB_USER user does not exist.
    1.89 +			# It may be false.
    1.90 +			echo  -n "Create user $db_user with password $db_password"
    1.91 +			mysql -Be "grant all privileges on $db.* to '"$db_user"'@'localhost' 
    1.92 +				identified by '"$db_password"'" ; status
    1.93 +			# At last create the database for $PACKAGE.
    1.94 +			echo -n "Create $db database schema."
    1.95 +			mysql -u $db_user -p${db_password} -D $db < $sql_script  ; status
    1.96 +		fi
    1.97 +	fi
    1.98 +}
    1.99 +
   1.100 +post_remove()
   1.101 +{
   1.102 +		local db=nconf
   1.103 +		local db_user=nconf
   1.104 +		local db_password=nconf
   1.105 +	
   1.106 +		echo -n "Would you like to remove data and database files.(y/n) "
   1.107 +		read answer
   1.108 +
   1.109 +		case $answer in 
   1.110 +		y|Y)
   1.111 +			echo -n "Removing data directories..."
   1.112 +			rm -rf /var/lib/nconf ; status
   1.113 +			if ( mysql -u root -Be 'show databases' | grep -q $db ); then
   1.114 +				echo -n "Deleting $db database"
   1.115 +				mysql -Be "drop database $db" ; status
   1.116 +				# We suppose that $db_user user does not exist.
   1.117 +				# It may be false.
   1.118 +				echo  -n "Delete user $db_user"
   1.119 +				mysql -Be "delete from mysql.db where user='"$db_user"'" ; status
   1.120 +			fi
   1.121 +			unset $answer
   1.122 +			;;
   1.123 +		*)
   1.124 +			;;
   1.125 +		esac
   1.126 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/nconf/stuff/apache2-nconf.conf	Thu Feb 17 23:11:56 2011 +0100
     2.3 @@ -0,0 +1,14 @@
     2.4 +Alias /nconf "/usr/share/nconf"
     2.5 +
     2.6 +<Directory "/usr/share/nconf">
     2.7 +  Options FollowSymLinks
     2.8 +  AllowOverride None
     2.9 +  Order allow,deny
    2.10 +  Allow from all
    2.11 +
    2.12 +  AuthName "NConf Access"
    2.13 +  AuthType Basic
    2.14 +  AuthUserFile /etc/nagios/htpasswd.users
    2.15 +  Require valid-user
    2.16 +  
    2.17 +</Directory>