Solved

*** HELM DDNS & BEST CONFIG

Posted on 2004-10-23
959 Views
Last Modified: 2013-12-16
Using this great control panel now and would really like to know how best to configure it with:

Apache
ColdFusion MX
PHP
MySQL
Merak Mail Server
Serv-U FTP Corporate

and all the usual ones, with DDNS



also I can only create Administrators (no resllers or users) but I suppose this will get sorted when it's configured?
0
Question by:Serotonin_X_Infinite
    11 Comments
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    Should've gone to a thread in which I've posted in the official WHA forums (makers of Helm) where my question is explained further.
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite


    WebHost Automation Ltd Forum Index
          
    FAQ | Search | Memberlist | Usergroups
    Profile | You have no new messages | Log out [ Serotonin ]  
             WHAL Home - Support Centre
    Single Server license and 2 DNS servers?

     
    Post new topic   Reply to topic          WebHost Automation Ltd Forum Index -> Support Queries
    View previous topic :: View next topic  
    Author       Message
    paarlberg



    Joined: 19 Oct 2003
    Posts: 10

          
    PostPosted: Mon Oct 20, 2003 7:16 pm    Post subject: Single Server license and 2 DNS servers?       Reply with quote
    If you have a single server license, can you create zones on 2 DNS servers? 1 will reside on the licensed box and the other will be on a second box.

    Just wondered because a single DNS server would not be a very good idea for any domain... Otherwise you would have to do a zone dump after the file was created and the run a script to add it to the DNS server..

    Thanks
    Back to top       
    View user's profile Send private message              
    changeip



    Joined: 05 Oct 2003
    Posts: 30

          
    PostPosted: Mon Oct 20, 2003 9:13 pm    Post subject:       Reply with quote
    I believe the license states that everything is on a single server - no secondary interaction.

    I have written a script that takes the active domains within the control box and creates a BIND named.conf include file. We use this to replicate Helm's domains to our 5 other DDNS servers around the US. I am still getting into production with it, but it fits into our existing process very well. The script is VBS and we just schedule it to run every 30 mins. I also have it taking it one step further and using SSH/SCP to copy the include file over to the bsd box and reload the zones.

    If many people want this let me know and I will post it.

    Thx,
    Sam
    Back to top       
    View user's profile Send private message Visit poster's website Yahoo Messenger              
    paarlberg



    Joined: 19 Oct 2003
    Posts: 10

          
    PostPosted: Mon Oct 20, 2003 9:26 pm    Post subject:       Reply with quote
    thanks.. I may have to do a BSD box for the dns or find a way to dump Win2k DNS info and import it into the secondaries.. copy the zone files and then import registry settings..

    Have to script it to change the zone "type" to a 2 in the registry..
    Back to top       
    View user's profile Send private message              
    changeip



    Joined: 05 Oct 2003
    Posts: 30

          
    PostPosted: Mon Oct 20, 2003 9:55 pm    Post subject:       Reply with quote
    This script used to do both a windows 'boot' file as well as a bind 'named.conf'. I stopped using Win dns about a year about when we passed 50,000 zones. It couldn't keep up very well. Besides, its not very easy to automate because the 'boot' file doesn't contain all settings for a domain... like BIND does. Anyhow, it can be done, just a pia.

    I'll post the file here shortly.

    Sam
    Back to top       
    View user's profile Send private message Visit poster's website Yahoo Messenger              
    paarlberg



    Joined: 19 Oct 2003
    Posts: 10

          
    PostPosted: Mon Oct 20, 2003 10:06 pm    Post subject:       Reply with quote
    You da man...

    Thank you...
    Back to top       
    View user's profile Send private message              
    changeip



    Joined: 05 Oct 2003
    Posts: 30

          
    PostPosted: Mon Oct 20, 2003 11:10 pm    Post subject:       Reply with quote
    As per your requests here is a script that we use to create a BIND include file with all Helm domains that are active. This allows you to setup Helm with the primary DNS records and then use your BIND 8/9 servers to pull zone transfers from it.

    Here is a URL for the script:

    http://helm.ChangeIP.com/extra/WriteHelmIncludes.zip

    Can someone download and test this on your system? I have been running this script on my system for a while now but need someone else to validate it on their setup.

    This script is a VBS script (zipped for download) that you can edit and modify to your liking. Here is a copy of the script below so you can see:

    Code:

    Option Explicit
    '
    ' WriteHelmIncludes.vbs - Copyright ChangeIP.com, Sam Norris 2003
    '
    ' Description:
    '  This VBS will connect to the SQL database that Helm is using and generate a BIND named.conf include file.
    '  Using this include file you can create secondary DNS servers from the Helm primary.

    ' Usage:
    '  This script should be run periodically to generate the include file for the current listing of domains.
    '  For example, using Task Scheduler a task can be setup to run this every 30 mins.
    '  Setup the variables below for proper operation.
    '
    ' Support:
    '  For support questions, comments, or anything else feel free to contact me at Sam@MrNorris.com.
    '
    ' Release Notes:
    '  10/18/03 - Put into production on helm machine.
    '  10/20/03 - Cleaned up for posting on Helm forums.

    Const ForAppending = 8
    Const ForWriting = 2

    Const AlertFromEmail = "HelmAdmin@ChangeIP.com"
    Const AlertToEmail = "Support@127.0.0.1"
    Const AlertSMTPServer = "smtp.ChangeIP.com"
    Const UseJmail = 1

    Const SQLDataSource = "fqdn.example.com,1433"         'Include fqdn and port number.
    Const SQLUsername = "helm_ro"               'A read-only user is recommended.
    Const SQLPassword = "password"            'The sql users password.
    Const SQLDatabase = "helmdb"               'The initial catalog / db name.

    Const DNSMasterIP = "66.185.165.76"            'Your Primary DNS server in Helm
    Const OutputPath = "d:\bind\etc\"            'Where to send the text file.
    Const OutputFilename = "named.conf.helm.inc"         'What filename to use.
    Const SCPTargetPath = "/usr/local/chroot/usr/local/etc/"   'Path you want to SCP to.
    Const RNDCPath = "d:\bind\rndc\"            'RNDc can be ran if needed.

    Const UseSSH = 0                  'Set this to 1 to enable auto-transfer.
    Const UseRNDC = 0                  'Set this to 1 to perform RNDC RELOAD after done. (TBC)
    Const PSCPPath = "c:\winnt\system32\pscp.exe"         'Your path to PSCP / Putty utilities.

    dim BINDServers
    BINDServers = array(    "127.0.0.1;zonetransfer;password", _
             "127.0.0.2;zonetransfer;password", _
             "127.0.0.2;zonetransfer;password")   ' This array contains your SSH targets, users and passwords for them.

    '--------------------------------------------------------------------------------------
    ' Functions below.
    '--------------------------------------------------------------------------------------
    function JMail(pSubject,pBodyText)

       if UseJmail = 1 then
          dim objSMTP, tmp
          set objSMTP = CreateOBject("JMail.Message")
          objSMTP.silent = true
          objSMTP.Logging = true
          objSMTP.ISOEncodeHeaders = false
          objSMTP.ContentTransferEncoding = "7bit"
          objSMTP.Charset = "US-ASCII"
          objSMTP.SimpleLayout = true

          objSMTP.From = AlertFromEmail
          objSMTP.FromName = AlertFromEmail
          objSMTP.AddRecipient AlertToEmail
          objSMTP.Subject = pSubject
          objSMTP.Body = pBodyText
          ' To capture any errors which might occur, we wrap the call in an IF statement
          if not objSMTP.Send(AlertSMTPServer) then
             tmp = objSMTP.log
          end if
          Set objSMTP = Nothing
          jmail = tmp
       end if
    end function

    '--------------------------------------------------------------------------------------
    ' BEGIN MAIN SCRIPT HERE!
    '--------------------------------------------------------------------------------------
    dim bootDirMS, zf, objConn, rs, tsPriBoot, tsSecBoot, tsPrimaryBind, ts
    dim fldDomainName, fldSerialNumber, fldUserID, fldDomainExpiration, fill
    dim strProvider, startTime, endTime, dnCount
    Dim OutputType, WSHShell, return, sql

    startTime = timer()

    strProvider = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & SQLUsername & ";Initial Catalog=" & SQLDatabase & ";Data Source=" & SQLDataSource & ";password=" & SQLPassword & ";"

    Set objConn = CreateObject("ADODB.Connection")
    objConn.Open strProvider
    Set zf = CreateObject("Scripting.FileSystemObject")
    Set rs = CreateObject("ADODB.Recordset")
    set WSHShell = wScript.CreateObject("WScript.Shell")

    'Open up a rs for all domains that need to be in the dns boot file.
    rs.Open "SELECT HostDomain.DomainId AS Domain_Seq, HostDomain.DomainName AS Domain_Name, Package.AccountNumber AS Domain_User " & _
          " FROM HostDomain INNER JOIN Package ON HostDomain.PackageId = Package.PackageId INNER JOIN " & _
          " Account ON Package.AccountNumber = Account.AccountNumber " & _
          " WHERE (HostDomain.SubDomainId = 0) AND (HostDomain.DomainStatus = 0) AND (Account.AccountStatus = 0) " & _
          " ORDER BY HostDomain.DomainId", objConn, 0, 1

    if rs.EOF then
       Set rs = Nothing
       objConn.Close
       Set objConn = Nothing
       WScript.Quit
    end if

    'Open BIND Sec named.conf file.
    if zf.FileExists(OutputPath & OutputFilename) then
       set ts = zf.OpenTextFile(OutputPath & OutputFilename, ForWriting)
      else
       If not zf.FolderExists(OutputPath) Then

       WScript.Echo "You must create the Output folder below before running this script."
       WScript.Echo OutputPath
       WScript.Echo ""
       WSCript.Echo "Create this path and try again, or change the location in the script."
       WScript.Quit  

       end if
       set ts = zf.CreateTextFile(OutputPath & OutputFilename)
    end if

    ts.Writeline "/*"
    ts.Writeline "BIND9.x Secondaries for Helm Web Hosting - Auto Generated Include File: " & now()
    ts.Writeline "Generated using ChangeIP.com script."
    ts.Writeline "*/"
    ts.Writeline ""

    dnCount = 0
    Do While Not rs.EOF
       dnCount = dnCount + 1
       fldDomainName = lcase(rs("Domain_Name"))
       fldUserID = rs("Domain_User")
       'fldDomainExpiration = rs("Domain_Expiration")

       ts.Writeline "zone """ & fldDomainName & """ IN {" & _
                "type slave; " & _
                "file """ & fldDomainName & ".helm.db""; " & _
                "masters { " & DNSMasterIP & "; }; " & _
                "notify no; };"

       WScript.Echo "zone """ & fldDomainName & """ IN {" & _
                "type slave; " & _
                "file """ & fldDomainName & ".helm.db""; " & _
                "masters { " & DNSMasterIP & "; }; " & _
                "notify no; };"

       rs.MoveNext
    Loop
    rs.Close

    ts.Writeline ""  'Add some blank lines to the end of the secondary boot file.
    ts.Writeline ""
    ts.Writeline ""

    ts.Close
    Set ts = Nothing
    Set zf = Nothing


    '--------------------------------------------------------------------------------------
    ' Start the SCP process over to the server.
    '--------------------------------------------------------------------------------------

    if UseSSH = 1 then
       dim sServers, sServer
       dim sHost, sUser, sPass

       For each sServers in BINDServers

          sServer = Split(sServers, ";", -1, 1)
          if isArray(sServer) then
             sHost = sServer(0)
             sUser = sServer(1)
             sPass = SServer(2)

             return = WSHShell.Run (PSCPPath & " -batch -l " & sUser & " -pw " & sPass & " -v -C " & OutputPath & OutputFilename & " " & sHost & ":" & SCPTargetPath & OutputFilename,7,True)
             if return <> 0 then
                call JMail("Helm Include) PSCP Failure during " & sHost & " Transfer!",return)
                WScript.Echo "SCP Failure: (" & sHost & "): " & return
             end if
          else

          end if

       Next
    end if


    '--------------------------------------------------------------------------------------
    ' Write out the timer to the DB for later reference.  Auditing!
    '--------------------------------------------------------------------------------------
    endTime = timer()-startTime

    ' commented out as generic users do not need.
    'sql = "INSERT INTO F_Audit (Audit_Stamp, Audit_User, Audit_Data, Audit_IP, Audit_Source, Audit_Level,Audit_Timer) "
    'sql = sql & "VALUES ('" & now() & "', 'sa', 'dn=" & dnCount & "', '', 'WriteBootHelm', 9, '" & endTime & "')"
    'rs.Open sql, objConn, 0, 1

    'Clean up open connections, etc.
    objConn.Close
    Set rs = Nothing
    Set zf = Nothing
    Set objConn = Nothing
    Set WSHShell = NOTHING

    wScript.Echo "Completed in " & endTime & " seconds."
    Back to top       
    View user's profile Send private message Visit poster's website Yahoo Messenger              
    ptaylor
    Helm Advisor
    Helm Advisor


    Joined: 25 Jul 2002
    Posts: 1077

          
    PostPosted: Wed Oct 22, 2003 3:14 am    Post subject:       Reply with quote
    The SimpleDNS Master/Slave function will let you have a secondary automatically pull zone updates also...

    Of course, that requires 2 licenses for SimpleDNS.

    Paul Taylor
    HelmGuru.com
    Back to top       
    View user's profile Send private message              
    eseasholtz



    Joined: 19 Aug 2003
    Posts: 215
    Location: My wife says it's the doghouse...
          
    PostPosted: Thu Oct 23, 2003 5:17 am    Post subject:       Reply with quote
    Thanks changeip!

    This looks like a great script. I can really use this! Thanks for sharing it! I'm off to try it out right now...

    This would be a good post to copy over to the How To forum on here so it doesn't get scrolled off into never never land as time goes on. I would imagine this would be a very usefull start for a lot of people on this forum!

    Thanks again for sharing it with!

    Eddie


    changeip wrote:
    As per your requests here is a script that we use to create a BIND include file with all Helm domains that are active. This allows you to setup Helm with the primary DNS records and then use your BIND 8/9 servers to pull zone transfers from it.

    Here is a URL for the script:

    http://helm.ChangeIP.com/extra/WriteHelmIncludes.zip

    Can someone download and test this on your system? I have been running this script on my system for a while now but need someone else to validate it on their setup.

    This script is a VBS script (zipped for download) that you can edit and modify to your liking. Here is a copy of the script below so you can see:

    _________________
    Eddie Seasholtz, MCSE, MCNE, RHCE, CCNA
    netFusion Computer and Network Solutions
    www.netFusionKC.com

    Cool Anything I say or do is my own opinion and may make absolutely no sense to anyone but me... Cool
    Back to top       
    View user's profile Send private message Visit poster's website              
    Serotonin



    Joined: 20 Oct 2004
    Posts: 10
    Location: Ditchling, West Sussex, United Kingdom
          
    PostPosted: Fri Oct 22, 2004 4:34 am    Post subject:       Reply with quote Edit/Delete this post
    Hi,

    I have a several allocated dynamic ip's from our ISP.

    How exactly do I use this script to have a working server with Helm and my DDNS solutions provider SiteLutions?
    SiteLutions uses an ID, username and password for each DDNS domain. You can also choose to perform updates using secure protocol when adding/editing them in DirectUpdate with it's SiteLutions template.


    An easy guide to getting the ip's/domains working in Helm would be seriously appreciated.

    Regards,
    _________________
    XTCISP
    Back to top       
    View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger             
    snake



    Joined: 23 May 2003
    Posts: 1739
    Location: UK
          
    PostPosted: Fri Oct 22, 2004 6:19 am    Post subject:       Reply with quote
    If anyone is interested I have done a coldfusion script that will extract ALL domains from your SimpleDNS server and create a BIND include file and will then FTP it over to your addiitonal secondary name servers.
    It doesn't bother with HELM or need to connect to the DB, it just copies ALL the simpleDNS primary zone files.
    _________________
    Russ Michaels
    Macromedia/Allaire Certified ColdFusion Developer
    CFMX Hosting - Coldfusion specialists
    Back to top       
    View user's profile Send private message Visit poster's website              
    ICQ Number
    Serotonin



    Joined: 20 Oct 2004
    Posts: 10
    Location: Ditchling, West Sussex, United Kingdom
          
    PostPosted: Sat Oct 23, 2004 2:57 am    Post subject:       Reply with quote Edit/Delete this post Delete this post
    Downloaded and installed Simple DNS Plus & downloaded ColdFusion MX.

    Can you list all requisites needed to make your script work.

    Will it sort the mail aspect out also?

    I love CFMX and would really like to get it working with Apache2 and Helm.


    Currently installed apps that may apply:

    Helm
    Serv-U FTP Corporate
    Merak Mail Server + Pro Power Pack (anyone noticed the latest version on their site is currupted?)


    How/where should CFMX be installed, how should your script be used and how does Helm need to be setup?

    Thanks,

    Serotonin
    _________________
    XTCISP
    0
     
    LVL 10

    Expert Comment

    by:frugle
    What is your actual question?

    If the webhost technical team can't sort out your enquiry, should you be paying them?

    Mike
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    I want to setup Helm with Simple DNS Plus.

    I want to have my own nameserver(s)

    e.g. ns1.xtcisp.com
           ns2.xtcisp.com


    Most of my domains are at GoDaddy.

    When I choose the setup/edit hosts option what do I put here?

    I have multiple dynamic ip addresses allocated by my ISP.


    I need this all configured best + want to use ColdFusion MX, Apache, PHP etc.


    I currently can't delete/edit servers I add to Helm or add users or resellers - what needs to be done?

    Thanks
    0
     
    LVL 29

    Expert Comment

    by:coreybryant
    Helm works on Windows - not Apache.  http://www.webhostautomation.com/products/helm/requirements.aspx

    Now if you want to set up your name servers - create an A record (ns1 and ns2 to point to the correct IP address for your DNS) for xtcisp.com.  Once this is done, you will need to sign into godaddy to add the name servers to that database.

    What happens when you try to edit / delete servers?  You have a log on your server (are you the owner of helm) to review error messages.  

    -Corey
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    This is what I currently have in Simple DNS Plus:

    ftp.xtcisp.com        A            3.3.3.3
    mail.xtcisp.com     A            2.2.2.2
    ns1.xtcisp.com      A            81.155.129.171
    ns2.xtcisp.com      A            81.155.129.165
    www.xtcisp.com    CNAME    xtcisp.com
    xtcisp.com            SOA        ns1.xtcisp.com [2004102501]
    xtcisp.com            NS           ns1.xtcisp.com
    xtcisp.com            A            81.155.129.171
    xtcisp.com            MX          mail.xtcisp.com [10]
    xtcisp.com            NS           ns2.xtcisp.com


    I've set the TTL from 1 hour to 0 on most - is that right?

    In Godaddy I've set the  the hosts as:

    ns1.xtcisp.com 81.155.129.171
    ns2.xtcisp.com 81.155.129.165

    and nameservers as:

    ns1.xtcisp.com
    ns2.xtcisp.com


    The 2 dynamic ip's I know:

    81.155.129.171
    81.155.129.165
    I've put as above.


    For the SOA it asks about accepting dynamic update requests - should I be adding the dynamic ip's there?




    I can't get it to work - please can you show me exactly what to do.







    When I try to edit/delete servers in Helm I get messages like 'Unable to Remove Server. Please see error logs for more details.'
    I am the owner of Helm.
    Here's the latest error log for that attempt:


    #Software: HELM Control System
    #Version: 3.1 Build 19
    #Date: 2004-10-25
    #Fields: date time source error
    2004-10-25 06:22:44 HELM:CServer::RemoveServerEx Permission denied
    2004-10-25 06:23:15 HELM:CServer::RemoveServerEx Permission denied
    2004-10-25 08:37:51 HELM:CServer::RemoveServerEx Permission denied










    Somewhere in the Helm help files it said the Administrator should only be a member of the Administrator group, if it's member of users also remove 'users' from 'member of'. So I did but now can only add Administrators. This could also be because Helm isn't setup correctly (Packages etc).

    HELP.
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    www.xtcisp.com seems to work but not xtcisp.com?
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    both work now. problems now are from simple dns stopping.
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    Results from a self diagnoses test in helm:


    EUPHORIC-CL45E1(81.155.129.171)
     Test             Result       Notes
     Registry Access       Passed            
     File System Access       Failed             Helm was unable to connect to the file system of 'EUPHORIC-CL45E1'. Please ensure that File and Printer Sharing is enabled on your server's network interface and that the communication IP for this server (81.155.129.171) is correct.
     Helm Admin Access       Passed            
     Service Availability       Failed             Currently no services have been defined for the server 'EUPHORIC-CL45E1'.
    0
     
    LVL 29

    Accepted Solution

    by:
    > For the SOA it asks about accepting dynamic update requests - should I be adding the dynamic ip's there? - do you want the server to maintain DNS or Helm?  Helm will not talk to apache so I am not certain what OS you are using on your secondary DNS server.

    > www.xtcisp.com seems to work but not xtcisp.com - try adding * as an A record to go to your WWW server as well.

    >Somewhere in the Helm help files it said the Administrator should only be a member of the Administrator group, if it's member of users also remove 'users' from 'member of'. So I did but now can only add Administrators. This could also be because Helm isn't setup correctly (Packages etc). - this would be a computer issue -- not Helm actually.  You are signed on to Windows via TS.  

    Do you have File & Printer Sharing enabled?  

    The Helm Support forums are a lot better at support.  Do you have a monthly license or did oyu buy your license outright?  

    -Corey
    0
     
    LVL 1

    Author Comment

    by:Serotonin_X_Infinite
    Monthly.

    Thanks for your help.

    I'm not using Helm now coz it hardly worked and official support was minimal.
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone. Privacy Policy Terms of Use

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Suggested Solutions

    Objective of This Article In 1990’s, when I was a budding software professional, I had a lot of confusion about which stream or technology, I had to choose to build my career. In those days, I had lot of confusion like whether to choose System so…
    Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
    The purpose of this video is to demonstrate how to Import and export files in WordPress. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Click on Too…
    The viewer will learn how to count occurrences of each item in an array.

    877 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now