Skip to content
abh edited this page Apr 15, 2012 · 6 revisions

PowerDNS::API installation

Requirements

  • MySQL
  • Perl 5.10.1 or newer
  • Various modules from CPAN
  • PowerDNS 2.8.x (master branch) or 3.1+ (mojolicious branch)

Setup the database

Install and start the MySQL server somewhere.

The login credentials can be configured in environments/development.yml. The default development setup is just to use the root user and pdns database.

Load the schema into your database with mysql -uroot pdns < docs/full-schema.sql.

If you are upgrading an existing PowerDNS database, use the docs/schema.sql file instead.

Install Perl modules

install cpanm and local::lib as root or with sudo:

curl -sL http://xrl.us/cpanm | perl - --sudo App::cpanminus
cpanm --sudo local::lib

Then with your regular account setup local::lib:

perl -Mlocal::lib >> ~/.bash_profile

Logout and login again and then you can run the following to install the various dependencies; they will be installed into ~/perl5/ in your home directory.

echo '
Crypt::SaltedHash
Data::Dump
DateTime::Format::MySQL
DBD::mysql
DBIx::Class
DBIx::Class::Helper::Row::ToJSON
DBIx::Class::InflateColumn::Serializer
ExtUtils::MakeMaker
JSON
local::lib
Mojolicious
Mojolicious::Plugin::BasicAuth
Moose
namespace::clean
Test::More
' | cpanm

Start the server

For development:

morbo -v script/power_dnsapi

For production:

hypnotoad -f script/power_dnsapi

Remove -f to run as a daemon in the background.

Setup a user

./bin/pdnsapi_manage can setup a new user account.

Clone this wiki locally