The purpose of these instructions is to aid in the migration of a Post.Office configuration from one server to another. These instructions assume that each of these servers have their own IP address and DNS name. Although it is helpful to have basic OS X and command-line knowledge, this document requires no prerequisite knowledge. Please use these instructions as a roadmap and don't hesitate to contact Tenon for further assistance.
It is recommended that the new server be a clean Mac OS X installation with the latest version of Post.Office installed. In order to make sure that the transition happens smoothly and with a minimum of downtime, make sure that you have ready access to DNS configuration.
It is important that you become familiar with the DNS time-to-live (TTL) for the affected zones. It is recommended to set the TTL to a short time interval such as an hour to minimize downtime. A common TTL for a DNS server is one week. If the TTL is set for one week and you then change the setting to one hour in preparation for the mail server transition, keep in mind that it will take a week for the new one hour setting to take effect. The importance of planning ahead cannot be overemphasized.
In order to keep mail destined for your domain from being bounced while your server is down during the transition, you will likely want to set up a backup mail server for your domain. This can be done by setting up an MX record in the DNS and having a secondary mail server that is not involved in the transition available to queue mail until your live mail server is properly configured.
Another important step to facilitate file transfers from the old server to the new server is to enable the "root" account on the new server. This can be done by executing the following command on the new server to set the root password. Enter the following command in the terminal on the command line.
sudo passwd root
Sudo will prompt you for your password. Then, it will prompt you to set the root password.
Post.Office will accept and deliver mail addressed to any account for which the e-mail address matches. Short of deleting or modifying accounts on the mail server, it is not possible to change this behavior. The disadvantage is that, although downtime of the mail service itself can be minimized, users who log in with POP or IMAP to check their accounts will not be able to do so until the DNS change propagates.
From this point forward, the current Post.Office server will be referred to as the "old" server, and the new Post.Office server will be referred to as the "new" server.1. Backing up the old Post.Office Configuration
In order to begin, first stop the Post.Office service on the old server. This can be done by executing the following command on the command line in the terminal.
sudo /usr/local/post.office/post.office shutdown
The sudo command will prompt you for your password.
In order to back up your Post.Office configuration, execute the following commands (update the date in the filename to the current date).
sudo tar czvf Post.Office-backup-11.6.2002.tar.gz /var/spoo l/post.office
The tar command is used in this case to back up (and compress) your existing Post.Office configuration.2. Transfering the Configuration to the New Server
The next step is to transfer this file to the new server. For this example, we will assume that the hostname for the new server is "newserver", and the hostname for the old server is "oldserver". Replace the actual hostnames with your server hostnames before executing the following command to transfer the files.
scp Post.Office-backup-11.6.2002.tar.gz root@newserver:/
Once this file is copied, the rest of the work will be carried out from the new server.3. Setting up the New Server
On the new server, make sure that Post.Office is not running by executing the following command.
sudo /usr/local/post.office/post.office shutdown
Then, install the new Post.Office configuration after moving the default configuration out of the way.
sudo mv post.office post.office-
sudo tar zxvf Post.Office-backup-11.6.2002.tar.gz
Post.Office is now installed on the new server. You will want to start Post.Office with the following command.
sudo /usr/local/post.office/post.office &4. Final Steps
You may want to do some basic tests to make sure that Post.Office is running without errors.
The next step is to update the DNS to point to your new Post.Office mail server. Once DNS is updated, your new server should be live and operational.
Keep in mind that your mail server will be down from the time you stop Post.Office on the old server until you copy the file to the new server and start Post.Office there. If you want to reduce this time period, you can do so by removing or disabling every account on the old server and configuring the old Post.Office as a backup mail server by adding your relevant domains to "Local Host Names" in the Post.Office configuration. Relaying has to be enabled for the domains in question as well. This extra step will allow mail to be relayed by the old server to the new server during the transition. When the new server becomes operational, the queued mail stored on the old server will be automatically sent to the new server. Depending on the uptime that your installation demands, this additional step may or may not be worth the time and effort.