additional server in an existing multi server installation

Discussion in 'Installation/Configuration' started by, May 16, 2012.

  1. New Member

    Hi all,

    apologies if this info exists elsewhere - I tried searching around but all I could find was tutorials on how to "setup" NEW multi server environments.

    I allready have a large farm running ISPConfig (5 web, 3 email, 2 dns & 2 db servers) with some running stand alone items and others in a mirror. This setup works really really well. This has been running for a few months now and I've started production setup of some domains.

    What I now want is to bring on a 4th email server and have it mirror the 3rd email server for redundancy.

    I can install mail server #4 and join it to the farm and then set it to mirror mail server #3 no probs, however it will only get config for new mail domains that are created "after" the mirror was setup.

    i.e. any mail domains that were created before the mirror only exist on mail server #3.

    Can anyone provide some guidence on how I can "push" the existing config from mail server #3 to mail server #4 so that they are a "true mirror" including the original config data?

    This information is also relavent as I was wondering - if I have a server crash, and have to bring online a new replacement server - how to get the existing config pushed to the new server.


  2. New Member

    Solution Working!!!!

    Hi everyone,

    With some great advise from Till and some minor tweaking I have this working.

    Step 1) Update the control panel to ISPConfig as this has a 'resync' option in 'Tools > Sync Tools > Resync' which allows for resyncing of items.

    Unfortunately there is a minor bug in the resyncing of mail.
    • Doesn't sync mail domains - only mailboxes
    • mailbox sql statement has an error

    Step 2) edit the resync.php file (on my Centos 6.2 machine it's located in /usr/local/ispconfig/interface/web/tools)

    Add the following "BEFORE" the //* Resyncing Mailboxes section

    //* Resyncing Mailbox Domains
    if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) {
    $db_table 'mail_domain';
    $index_field 'domain_id';
    $sql "SELECT * FROM ".$db_table." WHERE active = 'y'";
    $records $app->db->queryAllRecords($sql);
    is_array($records)) {
    $records as $rec) {
    $app->db->datalogUpdate($db_table$rec$index_field$rec[$index_field], true);
    $msg .= "Resynced Mail Domain: ".$rec['domain'].'<br />';
    Under the //* Resyncing Mailboxes section change:

    $sql "SELECT * FROM ".$db_table." WHERE active = 'y'";

    $sql "SELECT * FROM ".$db_table."";
    Step 3) Run the resync tool and you should see the tasks appear in the jobqueue.



Share This Page