Redundant DNS with Linode API (plugin)

Discussion in 'Plugins/Modules/Addons' started by croemmich, May 22, 2012.

  1. croemmich

    croemmich New Member

    I just finished writing a plugin for ISPConfig 3 that manages Linode slave DNS entries when SOAs are created, updated, or deleted. I thought it might be useful for someone out there, so here it is!

    Who is it for?
    Anyone with a Linode account. Likely more specifically, anyone with a single ISPConfig server running on a Linode VPS.

    What's it do?
    In a normal single server ISPConfig setup there is a single point of failure for DNS services. To solve this problem, the plugin creates slave zones on Linode's DNS servers using the Linode DNS API. The slave zones replicate the ISPConfig server's zone and respond to requests if the master is down.

    You can grab the plugin here:
    https://github.com/croemmich/ispconfig-extras
     
  2. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    How about some installation guide or deployment via a repository?
     
  3. croemmich

    croemmich New Member

    Installation info is contained in the plugin file. I'll maybe set up a repo at some point. Not that useful for me really, as I only have one server, but I'll think about it.
     
    Last edited: May 23, 2012
  4. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    I could host your files in my repo or you send the finished install field to Till for the official repo
     
  5. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    Hey Chris,

    lets get the repo package going.
    Please correct according to your exprience.

    1.
    # Install dependencies
    pear install Net_URL2-0.3.1
    pear install HTTP_Request2-0.5.2
    pear channel-discover pear.keremdurmus.com
    pear install krmdrms/Services_Linode

    2.
    # copy plugin to ispconfig
    cp linode_dns_plugin.inc.php to /usr/local/ispconfig/server/plugins-available/

    3.
    # maybe https://www.linode.com/api/utility/user.getapikey could be used to automatically generate a key?
    # create config.inc.local.php
    touch config.inc.local.php

    # add API keys
    <?php
    $conf['linode_api_key'] = ' "API_KEY":"aNW3ydF53LpVftU9s50e0reFEwy0piwGhwaLKAj4okRZ" ';
    $conf['linode_dns'] = true;
    ?>

    4.
    #
    ln -s /usr/local/ispconfig/server/plugins-available/linode_dns_plugin.inc.php /usr/local/ispconfig/server/plugins-enabled/linode_dns_plugin.inc.php
     
  6. aneeshnl

    aneeshnl New Member

    ISPconfig sends an alert email when updating DNS that the domain already exists.
     
  7. concept21

    concept21 Active Member HowtoForge Supporter

    Hello Friends,
    Does it still work on ISPConfig 3.1.2 and php 7.0? :rolleyes:
     

Share This Page