184 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #! /bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| # Source debconf library.
 | |
| . /usr/share/debconf/confmodule
 | |
| db_title AlternC
 | |
| 
 | |
| db_input critical alternc/welcomeconfirm || true
 | |
| 
 | |
| db_go
 | |
| # Check the answer.
 | |
| db_get alternc/welcomeconfirm || true
 | |
| 
 | |
| if [ "$RET" = "false" ]; then
 | |
|         # reset the welcomeconfirm flag if user refuses so it gets asked again next time
 | |
|         db_reset alternc/welcomeconfirm || true
 | |
|         db_fset alternc/welcomeconfirm "seen" "false" || true
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| # default values for local.sh
 | |
| MYSQL_HOST=127.0.0.1
 | |
| MYSQL_DATABASE=alternc
 | |
| MYSQL_USER=sysusr
 | |
| MYSQL_PASS="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..10)' `"
 | |
| MYSQL_CLIENT=localhost
 | |
| FQDN="`cat /etc/mailname 2>/dev/null || hostname -f`"
 | |
| INTERNAL_IP="`/sbin/ifconfig|grep "inet addr:" | grep -v 127.0.0.1| head -1 | sed -e 's/^.*addr:\([0-9\.]*\).*$/\1/' 2>/dev/null || hostname -f`"
 | |
| PUBLIC_IP="$INTERNAL_IP"
 | |
| DEFAULT_MX="`cat /etc/mailname 2>/dev/null || hostname -f`"
 | |
| ALTERNC_LOC=/var/alternc
 | |
| NS1_HOSTNAME="$FQDN"
 | |
| NS2_HOSTNAME="$FQDN"
 | |
| HOSTING="AlternC"
 | |
| SQLBACKUP_TYPE="rotate"
 | |
| SQLBACKUP_OVERWRITE="no"
 | |
| 
 | |
| if [ -r /etc/alternc/local.sh ]; then
 | |
|     # source the current config
 | |
|     . /etc/alternc/local.sh
 | |
| fi
 | |
| if [ -r /etc/alternc/my.cnf ]; then
 | |
|     # make mysql configuration available as shell variables
 | |
|     # to convert from .cnf to shell syntax, we:
 | |
|     # * match only lines with "equal" in them (/=/)
 | |
|     # * remove whitespace around the = and add a left quote operator ' (;s)
 | |
|     # * add a right quote operator at the end of line (;s)
 | |
|     # * convert mysql variables into our MYSQL_ naming convention (;s)
 | |
|     # * print the result (;p)
 | |
|     eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_USER/;s/password/MYSQL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my.cnf`
 | |
| fi
 | |
| 
 | |
| # mettre les valeurs de local.sh comme "default" pour debconf
 | |
| db_get alternc/hostingname
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
|     db_set alternc/hostingname "$HOSTING"
 | |
| fi
 | |
| 
 | |
| db_get alternc/desktopname
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/desktopname "$FQDN"
 | |
| fi
 | |
| 
 | |
| db_get alternc/public_ip
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/public_ip "$PUBLIC_IP"
 | |
| fi
 | |
| 
 | |
| db_get alternc/internal_ip
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/internal_ip "$INTERNAL_IP"
 | |
| fi
 | |
| 
 | |
| db_get alternc/monitor_ip
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/monitor_ip "$MONITOR_IP"
 | |
| fi
 | |
| 
 | |
| db_get alternc/ns1
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/ns1 "$NS1_HOSTNAME"
 | |
| fi
 | |
| 
 | |
| db_get alternc/ns2
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/ns2 "$NS2_HOSTNAME"
 | |
| fi
 | |
| 
 | |
| db_get alternc/bind_internal
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/bind_internal "$BIND_INTERNAL"
 | |
| fi
 | |
| 
 | |
| db_get alternc/default_mx
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/default_mx "$DEFAULT_MX"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mysql/host
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mysql/host "$MYSQL_HOST"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mysql/db
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mysql/db "$MYSQL_DATABASE"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mysql/user
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mysql/user "$MYSQL_USER"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mysql/password
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mysql/password "$MYSQL_PASS"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mysql/client
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mysql/client "$MYSQL_CLIENT"
 | |
| fi
 | |
| 
 | |
| db_get alternc/sql/backup_type
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/sql/backup_type "$SQLBACKUP_TYPE"
 | |
| fi
 | |
| 
 | |
| db_get alternc/sql/backup_overwrite
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/sql/backup_overwrite "$SQLBACKUP_OVERWRITE"
 | |
| fi
 | |
| 
 | |
| db_get alternc/alternc_location
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/alternc_location "$ALTERNC_LOC"
 | |
| fi
 | |
| 
 | |
| db_get alternc/mynetwork
 | |
| if [ -z "$RET" ]
 | |
|     then
 | |
| db_set alternc/mynetwork "$SMTP_RELAY_NETWORKS"
 | |
| fi
 | |
| 
 | |
| db_input medium alternc/desktopname || true
 | |
| db_input medium alternc/hostingname || true
 | |
| db_input medium alternc/internal_ip || true
 | |
| db_input medium alternc/public_ip || true
 | |
| db_input medium alternc/default_mx || true
 | |
| db_input medium alternc/ns1 || true
 | |
| db_input medium alternc/ns2 || true
 | |
| db_input low alternc/alternc_location || true
 | |
| db_input low alternc/mysql/host || true
 | |
| db_input low alternc/mysql/db || true
 | |
| db_input low alternc/mysql/user || true
 | |
| db_input low alternc/mysql/password || true
 | |
| db_input low alternc/mysql/client || true
 | |
| db_input low alternc/sql/backup_type || true
 | |
| db_input low alternc/sql/overwrite || true
 | |
| db_input low alternc/monitor_ip || true
 | |
| db_input low alternc/bind_internal || true
 | |
| db_input low alternc/mynetwork || true
 | |
| db_go
 | |
| 
 | |
| # vim: et sw=4
 |