156 lines
3.9 KiB
Bash
156 lines
3.9 KiB
Bash
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
# Source debconf library.
|
|
. /usr/share/debconf/confmodule
|
|
db_title AlternC
|
|
|
|
# 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="`env LANG=C /sbin/ifconfig|grep inet | grep -v 127.0.0.1| head -1 | cut -d: -f2 | sed -e 's/\([0-9\.]*\).*$/\1/' 2>/dev/null || hostname -f`"
|
|
PUBLIC_IP="$INTERNAL_IP"
|
|
DEFAULT_MX="`cat /etc/mailname 2>/dev/null || hostname -f`"
|
|
ALTERNC_HTML="/var/www/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-slave/hostingname
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/hostingname "$HOSTING"
|
|
fi
|
|
|
|
db_get alternc-slave/desktopname
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/desktopname "$FQDN"
|
|
fi
|
|
|
|
db_get alternc-slave/public_ip
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/public_ip "$PUBLIC_IP"
|
|
fi
|
|
|
|
db_get alternc-slave/internal_ip
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/internal_ip "$INTERNAL_IP"
|
|
fi
|
|
|
|
db_get alternc-slave/monitor_ip
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/monitor_ip "$MONITOR_IP"
|
|
fi
|
|
|
|
db_get alternc-slave/ns1
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/ns1 "$NS1_HOSTNAME"
|
|
fi
|
|
|
|
db_get alternc-slave/ns2
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/ns2 "$NS2_HOSTNAME"
|
|
fi
|
|
|
|
db_get alternc-slave/default_mx
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/default_mx "$DEFAULT_MX"
|
|
fi
|
|
|
|
db_get alternc-slave/mysql/host
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/mysql/host "$MYSQL_HOST"
|
|
fi
|
|
|
|
db_get alternc-slave/mysql/db
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/mysql/db "$MYSQL_DATABASE"
|
|
fi
|
|
|
|
db_get alternc-slave/mysql/user
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/mysql/user "$MYSQL_USER"
|
|
fi
|
|
|
|
db_get alternc-slave/mysql/password
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/mysql/password "$MYSQL_PASS"
|
|
fi
|
|
|
|
db_get alternc-slave/mysql/client
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/mysql/client "$MYSQL_CLIENT"
|
|
fi
|
|
|
|
db_get alternc-slave/sql/backup_type
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/sql/backup_type "$SQLBACKUP_TYPE"
|
|
fi
|
|
|
|
db_get alternc-slave/sql/backup_overwrite
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/sql/backup_overwrite "$SQLBACKUP_OVERWRITE"
|
|
fi
|
|
|
|
db_get alternc-slave/alternc_html
|
|
if [ -z "$RET" ]
|
|
then
|
|
db_set alternc-slave/alternc_html "$ALTERNC_HTML"
|
|
fi
|
|
|
|
db_input medium alternc-slave/desktopname || true
|
|
db_input medium alternc-slave/hostingname || true
|
|
db_input medium alternc-slave/internal_ip || true
|
|
db_input medium alternc-slave/public_ip || true
|
|
db_input medium alternc-slave/default_mx || true
|
|
db_input medium alternc-slave/ns1 || true
|
|
db_input medium alternc-slave/ns2 || true
|
|
db_input low alternc-slave/mysql/host || true
|
|
db_input low alternc-slave/mysql/db || true
|
|
db_input low alternc-slave/mysql/user || true
|
|
db_input low alternc-slave/mysql/password || true
|
|
db_input low alternc-slave/mysql/client || true
|
|
db_input low alternc-slave/sql/backup_type || true
|
|
db_input low alternc-slave/sql/overwrite || true
|
|
db_input low alternc-slave/monitor_ip || true
|
|
db_go
|
|
|
|
# vim: et sw=4
|