WebGUI for DNS administration(repost) (1509752)

Cancelado Publicado Oct 1, 2010 Pagado a la entrega
Cancelado Pagado a la entrega

WebGUI in PHP against BIND9 on Centos Linux (with help of Perl, Python or Shell scripts as backend if needed) on a clean Centos 5.3 x64-bit server with install-script for yum commands and you custom code.

## Deliverables

WebGUI in PHP against BIND9 on Centos Linux (with help of Perl or Python as backend if needed)

**Platform**

- Bind 9

- MySQL (zone files, [login to view URL] are built/written based on the content in MySQL)

- 2 Servers with Centos Linux 5.4 64-bit

- PHP GUI (but can have Perl/Python scripts that does the backend communication with BIND)

- Smarty Template System (for easy template changes)

**WANTED RESULT**

I want to have more control over my own DNS and also let customers themself have control over zones from a webpage.

FUNCTIONALITY POSSIBLE through WEB-GUI:

Some of these things below can be done simply by giving commands to BIND, others will demand custom scripting in Perl, Python, SHELL.

- Add/edit/delete domain name

- Add/edit/delete subdomain

- Add/edit/delete admin/resellers/users

- Add/edit/delete most common dns-zones (MX, A, cNAME, TTL and a few more)

- Park/unpark domain

- Start/restart/stop bind, mysql, apache

- Reload one dns zone or all

- Synconize dns zones between all server in cluster (automatically and manually) and sync serial numbers

- Statistics on DNS, WEB traffic (mrtg) graphics

- Easy install through yum and shell script.

- Add/Remove Secondary nameservers (from 1 to 3 additional) to a cluster in sync.

- System checks (verify bind and check for zone errors)

- Mass changes of an IP or host name through a search-replace feature (search in MX, A, CNAME)

- Premade DNZ zone templates with the most common dns zone info (MX, A, CNAME).

- During adding a dns record, the IP-address should be given during creation and put into a choosen template.

- Only Admin should have access to statistics and typically admin tasks like restart bind and so on.

- Backup script

+ Other features needed to administer BIND (may result in bonus for adding non thougth of features)

**BONUS TASK

**Not needed, but added advantage during competition and may result in bonus!

- Method to distribute changes in zones in DirectAdmin control panel automatically into this system.

- Method to distribute changes in zones in cPanel control panel automatically into this system.

- The above can be done with some script running in Linux that calls this server (if Ip is AllowedRemoteHost) and gives info.

SOME FEATURES EXPLAINED IN MORE DETAIL:

**USER GROUPS**

There should be three user groups: 1. Admin, 2. Reseller and 3. Users.

1. Admin: Get access to all domains in system

2. Reseller: Get access to all domains, filtered on the Resellers owned domain and resold domains

3. User: Only list the users own domains in same way.

**DOMAIN LIST (in all views)**

Domain-name | Expire-date | To be renewed | Parked | Owner

+ Domain-name | Expire-date | To be renewed | Parked | Owner

- Domain-name | Expire-date | To be renewed | Parked | Owner

Sub-domain #1 Sub-domain #2 Sub-domain #3 Add Subdomain

Listings should be very user friendly and use several pages if over 20 on a page.

**DOMAIN EDITOR** (all users get same view, just filtered on based on user level 1, 2 or 3)

A click on domain name (domain or sub-domain) gives user-friendly DNS-editor and all dns-fields should be editable with help context for fields users want to change (MX-record, A-record, CNAME, TTL and a few more).

**USER LISTING**

Both Admin and Resellers can add/edit Users: Admin can create Resellers/Users, Resellers can create Users only.

Should be possible to email users directly from interface after creation of account, so that they can login and master their dns/domains.

**ADMINISTRATOR ONLY**

From first page in admin area (only admin), admin should see bandwith usage (possible mrtg), load on serves, bind-status and have many actions:

Reload bind, syncronize sones to another server, restart bind, do mass search-replace of IP-adddresses, see logs with latest logins and latest actions performed. Also a rebuild files method that can be used on new server (build all zonefiles/[login to view URL]) from MySQL.

**THE MOST IMPORTANT PART

**Every change must be verified before a dns-zone/named config is written/updated: If a zone field contains any error, it should not be written at all and give warning. This must be 100% secure and all input must be verified. Even a check after a mass-write to verify that files have been written.

This software should be on at least two servers. Zone information must be syncronized on update in the interface and follow traditional rules with serial updated for each change on both servers. Changes in zone does not restart/update bind every time a user changes his domain dns, it can be postponed for 10 minutes to avoid to mutch reload.

**SETUP**

Install of both Master nameserver and Secondaries should be made as easy as possible. Basically, this should be the routine for master nameserver:

./[login to view URL]

This will do the following things behind the scene (only example):

yum install Apache

yum install PHP

yum install Python

yum install MySQL

yum install BIND

modify IP tables to only allow DNS/WEB traffic

unzip yourprogram

import structure into mysql

set all other settings, permissions and so on

Now, it should be possible to login to the system from the public ip address. The secondary do not need to have MySQL.

I can provide VPS servers for testing the program. A lot of this project would be to make the backend system safe.

## Platform

Linux, Centos 64-bit

Amazon Web Services Ingeniería Linux Perl PHP Gestión de proyectos Python Arquitectura de software Verificación de software Web Hosting Gestión de páginas web Verificación de páginas web

Nº del proyecto: #3765574

Sobre el proyecto

4 propuestas Proyecto remoto Activo Oct 16, 2010

4 freelancers están ofertando un promedio de $425 por este trabajo

drupalexpertvw

See private message.

$425 USD en 25 días
(44 comentarios)
5.4
sneka

See private message.

$425 USD en 25 días
(3 comentarios)
3.9
studglenn

See private message.

$425 USD en 25 días
(0 comentarios)
0.0
softtechent

See private message.

$425 USD en 25 días
(1 comentario)
3.6