Post install, DNS issues, Where are the instructions?

Discussion in 'Installation/Configuration' started by Don Gould YourNet, Aug 13, 2019.

  1. Don Gould YourNet

    Don Gould YourNet New Member

    "First time caller", I'm looking at migrating from DTC to manage shared hosting, I've set up 3 VM's under XEN, they're all on public IPs. My main controller shows that I've set up the kids ok and they're showing as registered.
    I want to use this array to control it's own dns, so I've already set up my domain and the glue to the correct public IPs but I've come unstuck.

    1. I don't understand the configuration theory. In DTC there is a 1 to 1 relationship and you can only have one domain name as the TLD, but in this software it looks to me like it's not so constrained and all I have to do is set up a dns entry that just points to the hosts. Is this correct?
    2. I'm getting DNS creation errors. I can see the .err file that bind is making and I don't know why. I read that it just uses the bind9 test/check command and rejects failed configs, but I don't know what I did wrong. I don't know this because I don't actually know what a working system is meant to look like.
    3. Where is the start up help for someone like me? ie, I'm already a hoster, so I don't need "this is a dns entry" type help, but I do need a bit of conceptual assistance. I see there's a massive amount of documents, a massive amount of threads, so I thought I'd just reach out. :)

    TIA
    Don
     
  2. Taleman

    Taleman Well-Known Member HowtoForge Supporter

  3. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Hello Don,

    Welcome to the community, this is where I landed after moving away from DTC as well. You'll absolutely love that the cron job to update things runs every minute rather than every 10. :)

    I'm not sure I follow the question in #1 either, but dns config is certainly more flexible than in DTC. I use "domain control" (System > Main Config > Domains) so a typical workflow would be (either as the server admin or as a reseller) to add a client, then add their domain(s) assigned to them, then the client (eg. switch user to client, or login as them) adds the domain under DNS tab using the appropriate template, and adds or changes whatever records are needed beyond that (if any).

    As @Taleman mentioned, named-checkzone can check for errors (common ones are forgetting a period at the end of a server or domain name, and leaving out either the NS records or the A records for the nameservers themselves if they belong to that same zone).

    As for documentation, there's an official manual to be had for not much money that also supports the main developers which should cover concepts and examples.
     
    Don Gould YourNet and till like this.
  4. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Further pointers specific to DTC migration, the ISPConfig migration tool does not support DTC servers, so you'll do it all manually. I have had only dozens of domains to move, not thousands, so I have always setup the client and domains manually in the gui, but if you that is not feasible, after getting familiar with the basics, start looking at the remote api.

    As part of the basics, be sure to get familiar with the admin/reseller/client setup, and in particular note that usually anything that can be setup as a client should be, so the permissions are right. Eg. when adding a website, switch user to the client first, then add the website as that client. If you add the website as the server admin, the client will be unable to change any settings pertaining to that site (eg. php version and similar); and same for email domains/mailboxes/dns/etc. Note there are some clients where that's what I want - ie. if they had permission to change things, they would likely break them, but in general we try to push clients to learn and maintain all their own email accounts/dns/databases/etc.

    Along that line, if you use reseller accounts for most of your clients it's a bit of a nuisance, as you as the server admin first have to switch user to the reseller, then add the client and domain, then logout (back to admin user), then switch user to the client and add the website/email/dns/etc. If (when) you forget and want to fix permissions, you have to update various db tables (there's an rfe to add gui support to fix the permissions, but for now...). If you don't need resellers it's a little simpler, you only have the admin and clients to keep in mind.

    I recently needed to move some domains with enough email addresses that I figured writing a migration script would take less time than manually recreating the accounts, so you now have this tool available: https://www.howtoforge.com/community/threads/import-email-accounts-from-csv.82524/ Note this will create a "mailbox" for all the "Mailboxes" you have in DTC, but it does not handle mail forwards or aliases. Most user settings (spam filtering preferences setup right on the Mailbox, roundcube preferences, etc.) are not copied, just the basic fields (including vacation message).

    I wrote a small script to sync websites and another to sync email accounts I'll add here. I did not automate the migration of databases (unfortunately, as it's the most time consuming part of moving data, but not too bad), so for databases I either just copy the last nightly backup (from automysqlbackup) into the web root for convenience prior to syncing the website over (and remove afterwards!), or I make a fresh db dump for sites that update frequently (and put that in the website root to be sync'd over).

    So after adding (possibly as a reseller, else as a server admin) the client and their domains, switch user to that client and add the website (and database if needed), and email domain. Run the 'copy-dtc-site' script on your ISPConfig web server (which needs root ssh access to your DTC server) to sync the site .. then import the database dump(s) if needed, and fix up db credentials in the website files itself (wp-config.php or whatever). For email you can create the email accounts by exporting them to csv file and using the above linked import script or just do it manually if it's quicker, then run the 'copy-dtc-mail' script from your ISPConfig mail server (which may also be the web server, or you might have them separate in a multi server setup) and it'll sync the actual mail over. You can re-run either script with --delete option and it will sync the ISPConfig side with what's on the DTC side, so eg. sync your mail once to move the bulk of it, then re-run once or twice to sync recent changes made, and change your DNS once you're cutting over to the migrated server(s).

    Hope that helps...
     

    Attached Files:

    Don Gould YourNet and till like this.
  5. Don Gould YourNet

    Don Gould YourNet New Member

    Hey Jesse! :)

    Yip, I already paid the money for the billing system and thought I'd get the manual as well if someone suggested such... you did, so I will.
     
    till likes this.
  6. Don Gould YourNet

    Don Gould YourNet New Member

    Ok progressing... fixed the err issue on control but ns1 and ns2 are still showing .err files in /etc/bind

    It looks like control isn't pushing updates to the other servers.
    I fixed the first problem just using the check tool and realised you don't put ns1.tld you just put ns1 in the field, opps.

    So close I can just feel this! :)
     
  7. Don Gould YourNet

    Don Gould YourNet New Member

    Update: I also deleted the err zone files on ns1/2, then changed the zone on control and waited to see if it would push updates out... it didn't. So I've gone off to buy the book (just waiting for the email) but would love some more pointers if anyone has a clue. I'm sure I just haven't read something properly (not a very good reader sadly).
     
  8. till

    till Super Moderator Staff Member ISPConfig Developer

    Post a screenshot of the DNS records you created, both tabs. The most likely reason for getting a .err record is this: when you create a dns zone and the NS records of that zone are subdomains of the zone itself, then you must add these also as A-Records. If the NS records are no subdomains of the zone itself, then no such A records are needed. That's not ispconfig specific though, it's the case for alls DNS servers.

    And please do not delete any config files, no matter if they have a .err ending or not. ISPConfig manages them automatically and removing parts of the config manually might cause your server to fail.

    If you want to know what ISPConfig is doing behind the scenes, use the debug mode: https://www.faqforge.com/linux/debugging-ispconfig-3-server-actions-in-case-of-a-failure/
     
  9. Don Gould YourNet

    Don Gould YourNet New Member

    to late... I already deleted the err of the slaves.
    The file has created just fine on the primary (/etc/bind) but it just hasn't replicated to the slaves.
    It looks to me like it will do zone creations but not zone updates.
     
  10. till

    till Super Moderator Staff Member ISPConfig Developer

    ISPConfig replicates all changes for all services when you configured mirroring as described in the ISPConfig multiserver tutorials. You can use the debug mode to find out more. If changes are not copied over anymore, then you probably disconnected the slave form master e.g. by closing the mysql port on the master or by disallowing sql connections from slave to master in another way.
     
    Don Gould YourNet likes this.
  11. Don Gould YourNet

    Don Gould YourNet New Member

    telnet ns1.monkeydoo.nz 3306
    Trying 182.54.234.99...
    Connected to ns1.monkeydoo.nz.
    Escape character is '^]'.
    OHost 'control.monkeydoo.nz' is not allowed to connect to this MariaDB serverConnection closed by foreign host.

    Yip... ok that would be the cause, now why would that be blocked when I specifically told the clients that they were slave servers of a multi server set up?
     
  12. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    The hosts in a ISPConfig multiserver setup must have database accounts. And have entries in /etc/hosts file on all hosts. Check with ISPConfig manual you have created the database accounts.
     

Share This Page