This blog has just been migrated to a newer and (much) faster host node running Proxmox 5 with ZFS.
Therefore, I was looking for the best method to migrate a WordPress blog to another server (and/or database and/or directory and/or URL).
Do you remember the times when migrating a WordPress blog was rather tedious, involving many manual steps, despite (other) handy tools like WP-CLI? Apparently, this is no longer needed, as all you need is the following plugin:
All-in-One WP Migration
This plugin’s export and import functionality takes care of all the required configuration and path adjustments, allowing you to easily migrate a blog with up to 512 MB data. The steps are thus:
- Install the All-in-One WP Migration plugin on your current WordPress site
- Use the plugin to export all your data, plugins, themes, configuration etc., e.g. as a downloadable file.
Note: In particularly tricky cases you can also manually replace certain strings in the db or exclude specific data and files.
- Setup a new vanilla WordPress installation at another location (server, directory). You’ll need a database and the WP installation files for this.
- Install the All-in-One WP Migration plugin on your new WordPress site
- Use the plugin on your new site to import the previously exported data from your old site
It’s hard to believe, but that’s really it!
Here’s a quick overview how to migrate a ZCS mail server (based on Ubuntu) to a new IP address:
0) Not covered here: Adjusting DNS entries. Make sure you lower the TTLs of the relevant DNS entries a couple of days in advance in order to minimize downtime for clients (e.g. set a TTL of 300 for a 5 minute downtime).
1) Set the new IP address in:
* The relevant DNS entries
* If ZCS runs in a container/VM, don’t forget to adjust its IP address too.
2) If the new IP address is part of a new subnet, make sure to add this new subnet to ZCS’s trusted_networks, otherwise, sending (relaying) messages through ZCS from Zimbra Desktop (or any other mail client) won’t work. This can be set using ZCS’s web admin interface (i.e. https://mail.myserver.com:7071/zimbraAdmin/):
Navigate to “Server settings”, then open the “MTA” tab and set something analogous to the following in “MTA Trusted Networks”:
3) Restart networking and the ZCS services (it’s important, as this adjusts the trusted_network setting in ZCS’s amavisd too):
# /etc/init.d/zimbra stop
# /etc/init.d/networking restart
# /etc/init.d/zimbra start
Alternatively, just reboot the server, particularly if it runs in a VM.
Note: The need for the adjustments in step 2) might come as a surprise. Authenticated messages to be relayed through ZCS apparently seem to originate from the external IP address, not localhost/127.0.0.1.
 A typical postfix error message might look like:
Delivery Failure Notification: Invalid address: somebody . com.zimbra.cs.mailbox.MailSender$SafeSendFailedException: MESSAGE_NOT_DELIVERED; chained exception is: com.zimbra.cs.mailclient.smtp.InvalidRecipientException: RCPT failed: Invalid recipient firstname.lastname@example.org: 554 5.7.1 : Relay access denied