source: trunk/INSTALL@ 828

Last change on this file since 828 was 537, checked in by Kris Deugau, 11 years ago

/trunk

Revise UPGRADE and INSTALL for NetAddr::IP requirement

  • Property svn:keywords set to Date Rev Author Id
File size: 3.3 KB
RevLine 
[218]1$Id: INSTALL 537 2013-12-03 23:02:32Z 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
[530]25 - Net::SMTP
[217]26 - DBI
27 - DBD::Pg
[537]28 - NetAddr::IP >= 4.0.27
[219]29 - Frontier::Responder (only required if using dns-rpc.cgi)
[530]30 - FCGI (only required if you want to run the RPC script as FastCGI)
[218]31- tinydns - support for other DNS server software is planned
[217]32
[530]33
[217]34Installing DeepNet DNS Administrator
35====================================
36
371) Untar in a convenient location. You should be able to simply use the
38unpacked tarball as-is, or you can run "make install" to install files
[218]39in /usr/local/share/dnsadmin-#VERSION#, with configuration in
40/usr/local/etc/dnsdb.
[217]41
[218]42The Makefile supports substitution on most standard GNU/FHS-ish paths,
43so you could also run:
[217]44
45 make install prefix=/opt
46
47to install it under /opt.
48
49The Makefile also supports DESTDIR for packaging, so you can use:
50
51 make install datadir=/usr/share sysconfdir=/etc DESTDIR=/tmp/dnsdbpkgroot
52
53to install for packaging under /tmp/dnsdbpkgroot with the core scripts
54and HTML packaged under /usr/share/dnsdb-#VERSION#, and the configuration
[218]55packaged under /etc/dnsdb.
[217]56
[218]572) Configuration: By default DNS Administrator looks for configuration in
58/etc/dnsdb/dnsdb.conf. Edit this file with the database name, user, and
59password, and the database host if necessary.
[217]60
[218]61Setting the options under the "mail" heading is also recommended.
[217]62
[218]633) As a Postgres superuser, create a database user and the database (replace
64the database name, user and password as appropriate):
65
[217]66shell> psql template1
[218]67pg# create user dnsdb with password "dnsdbpwd";
68pg# create database dnsdb owner dnsdb;
[217]69
[218]70Create the inital tables using dns.sql:
[217]71
[218]72shell> psql -U dnsdb dnsdb <dns.sql
[217]73
[218]744) Configure your webserver to call the DNS Administrator scripts
[219]75at an appropriate web path. A webroot pointing to the unpacked tarball
76directory or the default install location /usr/local/lib/dnsadmin-#VERSION#
77should work fine; a directory alias under an existing virtual host should
78work as well.
[217]79
80The directory containing the HTML and scripts must have at least the
81following Apache directives (or other server equivalent) set:
82
83 Options ExecCGI IncludesNoEXEC
84
[218]855) A default user "admin", password "admin" is created when you create
86the initial tables in step 3. You should at least change the password
87on this account, or create another superuser account and remove this
88one.
[217]89
90---
91
[218]92Basic installation should now be complete! Log in and start adding
[530]93your domains and reverse zones and their records.
[217]94
[218]95A minimal export script is included (export.pl). This should be modified
96to create the tinydns data file where appropriate for your installation,
97and set to be called from cron on a regular basis.
Note: See TracBrowser for help on using the repository browser.