Commit 60e02e7fdbff76d2245c2c89ef35367ce72e5369

Authored by Péter Szládovics
1 parent 1b1aea14

Add INSTALL instructions

Showing 1 changed file with 60 additions and 0 deletions
INSTALL.md 0 → 100644
  1 +# SMBind-ng Installation Guide
  2 +## Requirements
  3 + * Any kind of webserver with php usage abilities (tested on apache2, lighttpd,
  4 + nginx)
  5 + * php interpreter (5.3 or greater - tested on 5.3)
  6 + * php modules
  7 + * mdb2
  8 + * mdb2 sql drivers (tested on mysql)
  9 + * cgi
  10 + * smarty (version 2 or newer - tested on v2 and v3)
  11 + * bind (9.3 or newer for dnssec abilities)
  12 + * dnssec-tools (optional for securing dns zones)
  13 + * acl (optional for securing dns zones)
  14 + * SQL server (tested on MySQL)
  15 +
  16 +## Installation
  17 +
  18 +### Bind
  19 +Set up your bind, and configure it to access other masters and enable zone
  20 +transfer for its slaves.
  21 +
  22 +### SMBind-ng PHP code
  23 +Unpack contents to somewhere on your server (eg. /var/www/html/smbind-ng) and
  24 +setup your virtual server to access by default the index.php.
  25 +
  26 +### Configuration directories and files
  27 +1. Create a subdirectory with full permission to user of your webserver for keeping
  28 +your zones. You need to make it readable for bind.
  29 +Recommended solution: owner of dyrectory let the root user and bind group,
  30 +webserver user let the member of the bind group, and the directory let writable
  31 +by owned group.
  32 +2. Create two file with same permissions in this directory for saving zone
  33 +definitions; one for the masters, one for the slaves (eg. master.conf and
  34 +slave.conf) - eg. touch master.conf.
  35 +3. Create a subdirectory for keeping zone files (for both of masters and
  36 +slaves) with same permissions at the step 1.
  37 +### Modify bind configuration
  38 +On your bind options set this folder to use with 'directory' option and
  39 +'managed-keys' option (folder created at the step 3 above).
  40 +Include the master and slave configuration files into your bind config - what
  41 +created at the step 2.
  42 +### Database
  43 +Create a database user with full permission to access a non existing database
  44 +with any name.
  45 +Log in your database server with that user, and create an empty database.
  46 +Take the initial database dump, and load it to this schema with this newly
  47 +created user.
  48 +### Setup the PHP app
  49 +See configuration parameters below
  50 +### DNSSEC related options
  51 +#### Bind options
  52 +
  53 +#### Roller daemon
  54 +Create a directory for keeping file of roller daemon, and add write permissions
  55 +for the webserver user group. eg.
  56 + setfacl -b /etc/rollrecdir
  57 + setfacl -m 'www-data:rwx' /etc/rollrecdir
  58 +Set up this directory for roller daemon to use this directory for rolling zones
  59 + eg. in this /etc/default/rollerd file use similar option:
  60 + DAEMON_OPTS="-rrfile /etc/smbind/rollrec/zones.rollrec"
... ...