xref: /minix3/external/bsd/bind/dist/contrib/sdb/sqlite/README.sdb_sqlite (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek			SQLite BIND SDB driver
2*00b67f09SDavid van Moolenbroek
3*00b67f09SDavid van MoolenbroekThe SQLite BIND SDB "driver" is intended as an alternative both to the
4*00b67f09SDavid van Moolenbroekpgsqldb and dirdb drivers, for situations that would like the management
5*00b67f09SDavid van Moolenbroeksimplicity and convenience of single filesystem files, with the additional
6*00b67f09SDavid van Moolenbroekcapability of SQL databases.  It is also intended as an alternative to
7*00b67f09SDavid van Moolenbroekthe standard dynamic DNS update capability in bind, which effectively
8*00b67f09SDavid van Moolenbroekrequires use of DNSSEC keys for authorization and is limited to 'nsupdate'
9*00b67f09SDavid van Moolenbroekfor updates.  An sqlite database, by contrast, uses and requires only
10*00b67f09SDavid van Moolenbroeknormal filesystem permissions, and may be updated however a typical SQLite
11*00b67f09SDavid van Moolenbroekdatabase might be updated, e.g., via a web service with an SQLite backend.
12*00b67f09SDavid van Moolenbroek
13*00b67f09SDavid van MoolenbroekThis driver is not considered suitable for very high volume public
14*00b67f09SDavid van Moolenbroeknameserver use, while likely useful for smaller private nameserver
15*00b67f09SDavid van Moolenbroekapplications, whether or not in a production environment.  It should
16*00b67f09SDavid van Moolenbroekgenerally be suitable wherever SQLite is preferable over larger database
17*00b67f09SDavid van Moolenbroekengines, and not suitable where SQLite is not preferable.
18*00b67f09SDavid van Moolenbroek
19*00b67f09SDavid van MoolenbroekUsage:
20*00b67f09SDavid van Moolenbroek
21*00b67f09SDavid van Moolenbroeko Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named )
22*00b67f09SDavid van Moolenbroek
23*00b67f09SDavid van Moolenbroeko Edit your named.conf to contain a database zone, eg.:
24*00b67f09SDavid van Moolenbroek
25*00b67f09SDavid van Moolenbroekzone "mydomain.net." IN {
26*00b67f09SDavid van Moolenbroek        type master;
27*00b67f09SDavid van Moolenbroek        database "sqlite /etc/named.d/mydomain.db mydomain";
28*00b67f09SDavid van Moolenbroek        #                ^- DB file               ^-Table
29*00b67f09SDavid van Moolenbroek};
30*00b67f09SDavid van Moolenbroek
31*00b67f09SDavid van Moolenbroeko Create the database zone table
32*00b67f09SDavid van Moolenbroek  The table must contain the columns "name", "rdtype", and "rdata", and
33*00b67f09SDavid van Moolenbroek  is expected to contain a properly constructed zone.  The program
34*00b67f09SDavid van Moolenbroek  "zone2sqlite" creates such a table.
35*00b67f09SDavid van Moolenbroek
36*00b67f09SDavid van Moolenbroek  zone2sqlite usage:
37*00b67f09SDavid van Moolenbroek
38*00b67f09SDavid van Moolenbroek    zone2sqlite origin zonefile dbfile dbtable
39*00b67f09SDavid van Moolenbroek
40*00b67f09SDavid van Moolenbroek    where
41*00b67f09SDavid van Moolenbroek	origin   : zone origin, eg "mydomain.net."
42*00b67f09SDavid van Moolenbroek	zonefile : master zone database file, eg. mydomain.net.zone
43*00b67f09SDavid van Moolenbroek	dbfile   : name of SQLite database file
44*00b67f09SDavid van Moolenbroek        dbtable  : name of table in database
45*00b67f09SDavid van Moolenbroek
46*00b67f09SDavid van Moolenbroek---
47*00b67f09SDavid van Moolenbroek# mydomain.net.zone:
48*00b67f09SDavid van Moolenbroek$TTL 1H
49*00b67f09SDavid van Moolenbroek@       SOA     localhost.      root.localhost. (       1
50*00b67f09SDavid van Moolenbroek                                                3H
51*00b67f09SDavid van Moolenbroek                                                1H
52*00b67f09SDavid van Moolenbroek                                                1W
53*00b67f09SDavid van Moolenbroek                                                1H )
54*00b67f09SDavid van Moolenbroek        NS      localhost.
55*00b67f09SDavid van Moolenbroekhost1   A       192.168.2.1
56*00b67f09SDavid van Moolenbroekhost2   A       192.168.2.2
57*00b67f09SDavid van Moolenbroekhost3   A       192.168.2.3
58*00b67f09SDavid van Moolenbroekhost4   A       192.168.2.4
59*00b67f09SDavid van Moolenbroekhost5   A       192.168.2.5
60*00b67f09SDavid van Moolenbroekhost6   A       192.168.2.6
61*00b67f09SDavid van Moolenbroekhost7   A       192.168.2.7
62*00b67f09SDavid van Moolenbroek---
63*00b67f09SDavid van Moolenbroek
64*00b67f09SDavid van Moolenbroek# zone2sqlite mydomain.net. mydomain.net.zone mydomain.net.db mydomain
65*00b67f09SDavid van Moolenbroek
66*00b67f09SDavid van Moolenbroekwill create/update the 'mydomain' table in database file 'mydomain.net.db'.
67*00b67f09SDavid van Moolenbroek
68