Link to home
Start Free TrialLog in
Avatar of Serotonin_X_Infinite
Serotonin_X_Infinite

asked on

*** HELM DDNS & BEST CONFIG

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?
Avatar of Serotonin_X_Infinite
Serotonin_X_Infinite

ASKER

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.


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
What is your actual question?

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

Mike
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
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
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.
www.xtcisp.com seems to work but not xtcisp.com?
both work now. problems now are from simple dns stopping.
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'.
ASKER CERTIFIED SOLUTION
Avatar of coreybryant
coreybryant
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Monthly.

Thanks for your help.

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