Commit 60e02e7fdbff76d2245c2c89ef35367ce72e5369
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" |