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.
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.
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.
See our CHANGELOG file in order to know what changes are implemented in every version.
- PHP 7.1+
- A supported relational database and corresponding PHP extension.
- Composer.
There are two methods in order to test ProBIND:
- Method 1: Using Docker containers. This is the quickest way
- Method 2: Using Vagrant box. This is a preferred way to developers
This will create several Docker containers to implement all ProBIND needs. An application server, a web server, a database server.
Prior this installation, you need to have installed this software:
-
Clone the repository locally
$ git clone https://github.com/pacoorozco/probind.git probind $ cd probind
-
Install PHP dependencies with:
NOTE: You don't need to install neither PHP nor Composer, we are going to use a Composer image instead.
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ composer install
-
Copy
.env.example
to.env
.NOTE: You don't need to touch anything from this file. It works with default settings.
-
Start all containers with Docker Compose
$ docker-compose build $ docker-compose up -d
-
Seed database in order to play with some data
$ docker-compose exec app php artisan key:generate $ docker-compose exec app php artisan migrate --seed
-
Go to
http://localhost/install
and finish ProBIND installation. Enjoy!NOTE: Default credentials are
admin/secret
.
This will create a VM box (a Vagrant one) where all needed software will be installed and configured. It's the best way to develop and test ProBIND.
Prior this installation, you need to have installed this software:
- Vagrant 2.1+
- Composer
- PHP extensions/modules installed:
php-mbstring php-xml
-
Clone the repository locally
$ git clone https://github.com/pacoorozco/probind.git probind
-
Install dependencies with:
$ cd probind $ composer install
-
Copy
.env.example
to.env
. By default this configuration will work with Homestead Vagrant Box. -
Prepare Homestead envionment and Vagrant box
$ php vendor/bin/homestead make $ vagrant box add laravel/homestead $ vagrant up
-
Create a new application key and seed some values.
$ vagrant ssh $ cd code $ php artisan key:generate $ php artisan migrate --seed $ exit
-
Go to
http://192.168.10.10/install
and finish ProBIND installation. Enjoy!NOTE: Default credentials are
admin/secret
.
If you have issues with ProBIND, you can report them with the GitHub issues module.
Please see CONTRIBUTING for details.
ProBIND is released as free software under GPLv3
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.