Bound is a web-based frontend for managing DNS zones. It sits on top of an existing BIND installation and exports appropriately formatted zone files and handles configuration reloads when needed.
- Ruby 2.5.9 (I use
rbenv
) - Bundler (
gem install bundler
) - mysql2 with user/password and db of
bound
- bind9
Create database with:
CREATE DATABASE bound;
GRANT ALL PRIVILEGES ON bound.* TO 'boundUser'@'localhost';
FLUSH PRIVILEGES;
git clone https://github.com/francisschmaltz/bound
cp config/bound.example.yml config/bound.yml
- Make appropriate changes to config file
bundle
bundle exec rake db:schema:load assets:precompile
rake db:migrate
bundle exec foreman start
- Stop the running server
git pull origin master
bundle
bundle exec rake assets:precompile db:migrate
- Start the server
This app supports using omniauth with GitHub oAuth
- macOS Mojave needs to run
gem install mysql2 -v '0.4.10' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
to install mysql2 - Ubuneu 20 needs to run
sudo apt-get install libmysqlclient-dev
to install mysql2 gem - For testing, use
reload: echo "reloaded"
in bind command to skip reloading or enabling bind