head	1.1;
access;
symbols
	OPENPKG_E1_MP_HEAD:1.1
	OPENPKG_E1_MP:1.1
	OPENPKG_E1_MP_2_STABLE:1.1.2.2
	OPENPKG_E1_FP:1.1.2.2
	OPENPKG_2_STABLE_MP:1.1
	OPENPKG_2_STABLE_20061018:1.1.2.2
	OPENPKG_2_STABLE:1.1.0.2
	OPENPKG_CW_FP:1.1
	OPENPKG_1_STABLE_MP:1.1;
locks; strict;
comment	@# @;


1.1
date	2003.03.04.16.25.46;	author mlelstv;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2003.03.04.16.25.46;	author rse;	state dead;
branches;
next	1.1.2.2;
commitid	iZxwRSmmWscPXUQr;

1.1.2.2
date	2006.10.16.14.55.07;	author rse;	state Exp;
branches;
next	;
commitid	iZxwRSmmWscPXUQr;


desc
@@


1.1
log
@added rudimentary setup script
@
text
@#!/bin/sh

case "$1" in
gmysql)
    dbtype=MySQL
    ;;
gpgsql)
    dbtype=PostgreSQL
    ;;
*)
    echo "usage: $0 [ gmysql | gpgsql ]"
    exit 1
    ;;
esac

while [ ".$db" = . ]; do
echo "Please enter the name of the database to be created:"
read db
done

while [ ".$root" = . ]; do
echo "Please enter the name of the database administrator account:"
read root
done

while [ ".$pdnsadm" = . ]; do
echo "Please enter the name of the DNS administrator account:"
read pdnsadm
done

while [ ".$pdns" = . ]; do
echo "Please enter the name of the DNS user account:"
read pdns
done

echo ""
echo "The $dbtype database '$db' will be created by '$root'."
echo "Access is granted to the DNS administrator '$pdnsadm'"
echo "and the DNS user '$pdns'."
echo ""

case "$1" in
gmysql)
    echo "Please log in as the $dbtype database administrator ($root)"
    mysql -u$root -p mysql <<EOFEOF
    DROP DATABASE $db;
    CREATE DATABASE $db;
    GRANT ALL ON $db TO $pdnsadm WITH GRANT OPTION
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been created"
    echo ""
    echo "Please log in as the $dbtype DNS administrator ($pdnsadm)"
    mysql -u$pdnsadm -p $db <<EOFEOF
    CREATE TABLE domains (
     id      INT auto_increment,
     name        VARCHAR(255) NOT NULL,
     master      VARCHAR(20) DEFAULT NULL,
     last_check  INT DEFAULT NULL,
     type        VARCHAR(6) NOT NULL,
     notified_serial INT DEFAULT NULL,
     account         VARCHAR(40) DEFAULT NULL,
     primary key (id)
    )type=InnoDB;

    CREATE UNIQUE INDEX name_index ON domains(name);

    CREATE TABLE records (
     id              INT auto_increment,
     domain_id       INT DEFAULT NULL,
     name            VARCHAR(255) DEFAULT NULL,
     type            VARCHAR(6) DEFAULT NULL,
     content         VARCHAR(255) DEFAULT NULL,
     ttl             INT DEFAULT NULL,
     prio            INT DEFAULT NULL,
     change_date     INT DEFAULT NULL,
     primary key(id)
    )type=InnoDB;

    CREATE INDEX rec_name_index ON records(name);
    CREATE INDEX nametype_index ON records(name,type);
    CREATE INDEX domain_id ON records(domain_id);

    CREATE TABLE supermasters (
      ip VARCHAR(25) NOT NULL,
      nameserver VARCHAR(255) NOT NULL,
      account VARCHAR(40) DEFAULT NULL
    );

    GRANT SELECT ON supermasters TO $pdns;
    GRANT ALL ON domains TO $pdns;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been populated"
    echo ""
    ;;
gpgsql)
    echo "Please log in as the $dbtype database administrator ($root)"
    psql -U $root $db <<EOFEOF
    DROP DATABASE $db;
    CREATE DATABASE $db;
    GRANT ALL ON $db TO $pdnsadm WITH GRANT OPTION;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been created"
    echo ""
    echo "Please log in as the $dbtype DNS administrator ($pdnsadm)"
    psql -U $pdnsadm $db <<EOFEOF
    CREATE TABLE domains (
     id      SERIAL PRIMARY KEY,
     name        VARCHAR(255) NOT NULL,
     master      VARCHAR(20) DEFAULT NULL,
     last_check  INT DEFAULT NULL,
     type        VARCHAR(6) NOT NULL,
     notified_serial INT DEFAULT NULL,
     account         VARCHAR(40) DEFAULT NULL
    );
    CREATE UNIQUE INDEX name_index ON domains(name);

    CREATE TABLE records (
     id              SERIAL PRIMARY KEY,
     domain_id       INT DEFAULT NULL,
     name            VARCHAR(255) DEFAULT NULL,
     type            VARCHAR(6) DEFAULT NULL,
     content         VARCHAR(255) DEFAULT NULL,
     ttl             INT DEFAULT NULL,
     prio            INT DEFAULT NULL,
     change_date     INT DEFAULT NULL,
     CONSTRAINT domain_exists
     FOREIGN KEY(domain_id) REFERENCES domains(id)
     ON DELETE CASCADE
    );

    CREATE INDEX rec_name_index ON records(name);
    CREATE INDEX nametype_index ON records(name,type);
    CREATE INDEX domain_id ON records(domain_id);

    CREATE TABLE supermasters (
     ip VARCHAR(25) NOT NULL,
     nameserver VARCHAR(255) NOT NULL,
     account VARCHAR(40) DEFAULT NULL
    );

    GRANT SELECT ON supermasters TO $pdns;
    GRANT ALL ON domains TO $pdns;
    GRANT ALL ON domains_id_seq TO $pdns;
    GRANT ALL ON records TO $pdns;
    GRANT ALL ON records_id_seq TO $pdns;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been populated"
    echo ""
    ;;
esac
@


1.1.2.1
log
@file powerdnssetup was added on branch OPENPKG_2_STABLE on 2006-10-16 14:55:07 +0000
@
text
@d1 154
@


1.1.2.2
log
@Mass merge from CURRENT to 2-STABLE (all packages except those of JUNK class)
@
text
@a0 154
#!/bin/sh

case "$1" in
gmysql)
    dbtype=MySQL
    ;;
gpgsql)
    dbtype=PostgreSQL
    ;;
*)
    echo "usage: $0 [ gmysql | gpgsql ]"
    exit 1
    ;;
esac

while [ ".$db" = . ]; do
echo "Please enter the name of the database to be created:"
read db
done

while [ ".$root" = . ]; do
echo "Please enter the name of the database administrator account:"
read root
done

while [ ".$pdnsadm" = . ]; do
echo "Please enter the name of the DNS administrator account:"
read pdnsadm
done

while [ ".$pdns" = . ]; do
echo "Please enter the name of the DNS user account:"
read pdns
done

echo ""
echo "The $dbtype database '$db' will be created by '$root'."
echo "Access is granted to the DNS administrator '$pdnsadm'"
echo "and the DNS user '$pdns'."
echo ""

case "$1" in
gmysql)
    echo "Please log in as the $dbtype database administrator ($root)"
    mysql -u$root -p mysql <<EOFEOF
    DROP DATABASE $db;
    CREATE DATABASE $db;
    GRANT ALL ON $db TO $pdnsadm WITH GRANT OPTION
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been created"
    echo ""
    echo "Please log in as the $dbtype DNS administrator ($pdnsadm)"
    mysql -u$pdnsadm -p $db <<EOFEOF
    CREATE TABLE domains (
     id      INT auto_increment,
     name        VARCHAR(255) NOT NULL,
     master      VARCHAR(20) DEFAULT NULL,
     last_check  INT DEFAULT NULL,
     type        VARCHAR(6) NOT NULL,
     notified_serial INT DEFAULT NULL,
     account         VARCHAR(40) DEFAULT NULL,
     primary key (id)
    )type=InnoDB;

    CREATE UNIQUE INDEX name_index ON domains(name);

    CREATE TABLE records (
     id              INT auto_increment,
     domain_id       INT DEFAULT NULL,
     name            VARCHAR(255) DEFAULT NULL,
     type            VARCHAR(6) DEFAULT NULL,
     content         VARCHAR(255) DEFAULT NULL,
     ttl             INT DEFAULT NULL,
     prio            INT DEFAULT NULL,
     change_date     INT DEFAULT NULL,
     primary key(id)
    )type=InnoDB;

    CREATE INDEX rec_name_index ON records(name);
    CREATE INDEX nametype_index ON records(name,type);
    CREATE INDEX domain_id ON records(domain_id);

    CREATE TABLE supermasters (
      ip VARCHAR(25) NOT NULL,
      nameserver VARCHAR(255) NOT NULL,
      account VARCHAR(40) DEFAULT NULL
    );

    GRANT SELECT ON supermasters TO $pdns;
    GRANT ALL ON domains TO $pdns;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been populated"
    echo ""
    ;;
gpgsql)
    echo "Please log in as the $dbtype database administrator ($root)"
    psql -U $root $db <<EOFEOF
    DROP DATABASE $db;
    CREATE DATABASE $db;
    GRANT ALL ON $db TO $pdnsadm WITH GRANT OPTION;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been created"
    echo ""
    echo "Please log in as the $dbtype DNS administrator ($pdnsadm)"
    psql -U $pdnsadm $db <<EOFEOF
    CREATE TABLE domains (
     id      SERIAL PRIMARY KEY,
     name        VARCHAR(255) NOT NULL,
     master      VARCHAR(20) DEFAULT NULL,
     last_check  INT DEFAULT NULL,
     type        VARCHAR(6) NOT NULL,
     notified_serial INT DEFAULT NULL,
     account         VARCHAR(40) DEFAULT NULL
    );
    CREATE UNIQUE INDEX name_index ON domains(name);

    CREATE TABLE records (
     id              SERIAL PRIMARY KEY,
     domain_id       INT DEFAULT NULL,
     name            VARCHAR(255) DEFAULT NULL,
     type            VARCHAR(6) DEFAULT NULL,
     content         VARCHAR(255) DEFAULT NULL,
     ttl             INT DEFAULT NULL,
     prio            INT DEFAULT NULL,
     change_date     INT DEFAULT NULL,
     CONSTRAINT domain_exists
     FOREIGN KEY(domain_id) REFERENCES domains(id)
     ON DELETE CASCADE
    );

    CREATE INDEX rec_name_index ON records(name);
    CREATE INDEX nametype_index ON records(name,type);
    CREATE INDEX domain_id ON records(domain_id);

    CREATE TABLE supermasters (
     ip VARCHAR(25) NOT NULL,
     nameserver VARCHAR(255) NOT NULL,
     account VARCHAR(40) DEFAULT NULL
    );

    GRANT SELECT ON supermasters TO $pdns;
    GRANT ALL ON domains TO $pdns;
    GRANT ALL ON domains_id_seq TO $pdns;
    GRANT ALL ON records TO $pdns;
    GRANT ALL ON records_id_seq TO $pdns;
EOFEOF
    if [ $? -gt 0 ]; then exit 1; fi
    echo "The database has been populated"
    echo ""
    ;;
esac
@


