/probind-1

ProBIND v3 - Professional DNS Management

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

ProBIND - Professional DNS management made easy

Testing with MySQL codecov License Laravel Version GitHub release

probind: short presentation

Presentation

ProBIND is a web application designed for managing the DNS zones for one or more servers running the ISC BIND DNS server software. It works best for companies that need to manage a medium-sized pool of domains across a set of servers.

The application has been written using Laravel framework. It stores its data in a MySQL, Postgres database (see Laravel Database Backend) and generates configuration files for BIND on-demand.

What ProBIND Is

ProBIND is meant to be a time-saving tool for busy administrators, aiding in managing the configuration of DNS zones across multiple servers. It is intended for use by those already familiar with the components of a DNS zone file and who understand DNS concepts and methods.

This software acts as a configuration repository to help keep zones well-maintained and has several helping tools to ensure that common DNS issues are minimized.

What ProBIND Is Not

Although ProBIND uses a database to store zone data, it is not a replacement backend for ISC BIND. ProBIND merely creates the proper zone files for use with the default configuration method of BIND. If you are looking for a live SQL backend for ISC BIND, this is not one.

ProBIND is not a tool for those unfamiliar with DNS concepts. It assumes you know the differences between a CNAME and an A record. It also assumes you know about SOA records, what a lame server is, and what glue is.

ProBIND is not the ultimate solution to DNS management. It fits the needs of those who develop it, and it is hoped that others will also find it useful.

Changelog

See our CHANGELOG file in order to know what changes are implemented in every version.

Requirements

How to test ProBIND

This will create several Docker containers to implement all ProBIND needs. An application server, a web server, a database server.

Prior to this installation, you need to have installed this software:

  1. Clone the repository locally

    $ git clone https://github.com/pacoorozco/probind.git probind
    $ cd probind
  2. Copy .env.example to .env.

    NOTE: You don't need to touch anything from this file. It works with default settings.

  3. Start all containers with Docker Compose

    NOTE: You must export the DOCKER_PROBIND_UID variable if your user ID is different from 1000. This will allow the docker to get permissions over your files.

    $ export DOCKER_PROBIND_UID="$(id -u)"
    $ docker-compose build
    $ docker-compose up -d
  4. Install dependencies with:

    $ docker-compose exec app composer install
  5. Seed database in order to play with some data

    NOTE: Remove --seed if you don't want to seed sample data.

    $ docker-compose exec app php artisan key:generate 
    $ docker-compose exec app php artisan migrate:fresh --seed
  6. Go to http://localhost/install and finish ProBIND installation. Enjoy!

    NOTE: Default credentials are admin/secret.

Reporting issues

If you have issues with ProBIND, you can report them with the GitHub issues module.

Contributing

Please see CONTRIBUTING for details.

License

ProBIND is released as free software under GPLv3

Authors

ProBIND was originally developed by Flemming S. Johansen as part of his duties as resident DNS manager at Proventum Solutions. Later, a fork of ProBIND called ProBIND2 was developed by Alexei P. Roudnev, a senior network/software engineer, at Exigen Group LTD.

With both projects lying dormant for a number of years, Michael Johnson, Systems Administrator at PhD Computing, attempted to revive the ProBIND project. The enhancements made in ProBIND2 were merged in and development were once again resumed.

Later, in 2016, Paco Orozco recoded all this application using Laravel Framework to bring a new version of this software. It was named ProBIND v3.

See AUTHORS for a complete list of contributors.