source: trunk/INSTALL@ 460

Last change on this file since 460 was 262, checked in by Kris Deugau, 13 years ago

/trunk

GPL-tag and normalize headers on scripts and module.
Clean up/correct SVN properties for consistency

  • Property svn:keywords set to Date Rev Author Id
File size: 3.2 KB
RevLine 
[218]1$Id: INSTALL 262 2012-03-04 22:53:54Z kdeugau $
[217]2
3Requirements
4============
5
6- Any CGI-capable web server that can execute arbitrary files or
7 files with administrator-defineable extensions
[218]8- PostgreSQL >= 7.4. It should be possible to trivially convert to
9 other DBMSes, however I recommend against any that don't fully
10 support transactions on all changes.
[217]11- Perl >= 5.6
12 - Standard modules:
13 These should be included in any base Perl install
14 - CGI::Carp
15 - POSIX
16 - Text::Wrap - for WHOIS response linewrapping
17 - Extra modules:
18 - CGI::Simple
19 - HTML::Template
20 - CGI::Session
21 - Crypt::PasswdMD5 (primary password encryption)
22 - Digest::MD5 (for imported VegaDNS passwords)
23 - Net::Whois::Raw
24 - Net::DNS
25 - DBI
26 - DBD::Pg
27 - NetAddr::IP >= 4.x. 3.x may work, however 4.x has been out for
28 more than 4 years.
[219]29 - Frontier::Responder (only required if using dns-rpc.cgi)
[218]30- tinydns - support for other DNS server software is planned
[217]31
32Installing DeepNet DNS Administrator
33====================================
34
351) Untar in a convenient location. You should be able to simply use the
36unpacked tarball as-is, or you can run "make install" to install files
[218]37in /usr/local/share/dnsadmin-#VERSION#, with configuration in
38/usr/local/etc/dnsdb.
[217]39
[218]40The Makefile supports substitution on most standard GNU/FHS-ish paths,
41so you could also run:
[217]42
43 make install prefix=/opt
44
45to install it under /opt.
46
47The Makefile also supports DESTDIR for packaging, so you can use:
48
49 make install datadir=/usr/share sysconfdir=/etc DESTDIR=/tmp/dnsdbpkgroot
50
51to install for packaging under /tmp/dnsdbpkgroot with the core scripts
52and HTML packaged under /usr/share/dnsdb-#VERSION#, and the configuration
[218]53packaged under /etc/dnsdb.
[217]54
[218]552) Configuration: By default DNS Administrator looks for configuration in
56/etc/dnsdb/dnsdb.conf. Edit this file with the database name, user, and
57password, and the database host if necessary.
[217]58
[218]59Setting the options under the "mail" heading is also recommended.
[217]60
[218]613) As a Postgres superuser, create a database user and the database (replace
62the database name, user and password as appropriate):
63
[217]64shell> psql template1
[218]65pg# create user dnsdb with password "dnsdbpwd";
66pg# create database dnsdb owner dnsdb;
[217]67
[218]68Create the inital tables using dns.sql:
[217]69
[218]70shell> psql -U dnsdb dnsdb <dns.sql
[217]71
[218]724) Configure your webserver to call the DNS Administrator scripts
[219]73at an appropriate web path. A webroot pointing to the unpacked tarball
74directory or the default install location /usr/local/lib/dnsadmin-#VERSION#
75should work fine; a directory alias under an existing virtual host should
76work as well.
[217]77
78The directory containing the HTML and scripts must have at least the
79following Apache directives (or other server equivalent) set:
80
81 Options ExecCGI IncludesNoEXEC
82
[218]835) A default user "admin", password "admin" is created when you create
84the initial tables in step 3. You should at least change the password
85on this account, or create another superuser account and remove this
86one.
[217]87
88---
89
[218]90Basic installation should now be complete! Log in and start adding
91your domains and domain records.
[217]92
[218]93A minimal export script is included (export.pl). This should be modified
94to create the tinydns data file where appropriate for your installation,
95and set to be called from cron on a regular basis.
Note: See TracBrowser for help on using the repository browser.