Skip to main content

Migrating WordPress 4.4.2 Installation from Ubuntu Linux (Rackspace) to Windows (Azure)

In an unanticipated request I have to move a WordPress installation running on a LAMP stack to an Azure instance running WIMP (Windows, IIS, MySQL PHP). In the Azure settings, MySQL is running as a cloud-based database service.

BackupBuddy has been a reliable tool for single site migration and its beta has support for multi-site migration which is sufficiently reliable. But moving from Linux to Windows is another story.

The alternative is the free Duplicator - which I only come to know of having contacting WPML.org technical support for another reason.

The key steps:

1) Change permalink back to default
2) Deactivate / Delete any unused plug-ins
3) Backup using Duplicator
4) Download the installer.php and the .zip archive
5) Upload installer.php and the unzipped files to Windows server

This pre-unzip is necessary so that the php script does not have to tackle the unzip which resulted in a timeout in our scenario. And I have no access to Windows RDS to change the php.ini configs, allowing longer php timeout value.

6) Launch the installer (domain.com/installer.php)
7) Choose to restore only the database
8) Check the database update parameters (essentially change file paths etc.)
9) Check the installer-log.txt and see any major issues. I have 2 "Deployment errors" that do not seem to create any real issue.
10) Change the permalink back to original
11) Test the site
12) Remove unused files generated by Duplicator.

If you forget to upload the unzipped files and launch installer.php and choose to restore only the database, Duplicator is smart enough to remind you - nice design.

Site is running in less than 20 minutes. Much much more time is researching and studying other manual approaches that involves tweaking servers and reinstalling from scratch. Highly recommend Duplicator in this scenario. https://wordpress.org/plugins/duplicator/


Comments

Popular posts from this blog

ISPConfig / Pure-FTP / SSL (TLS) setup

ISPConfig comes with LetsEncrypt integrated in its panel for web domains. However, it does not automatically use the SSL cert for FTP service (PureFTP). This post describes the steps to enable the support. 1. We need an FQDN so that Lets Encrypt (LE) will be able to generate SSL under ISPConfig panel. 2. PureFTP TLS support requires a cert in .pem format which can be generated by leveraging the LE cert generated: cat /etc/letsencrypt/live/mydomain.com/privkey.pem /etc/letsencrypt/live/mydomain.com/fullchain.pem > /etc/ssl/private/pure-ftpd.pem 3. Restart PureFTP so that it will not use the new certificate 4. LE certificates need to be renewed regularly so it is necessary to create a cron job to keep the .pem file updated. Setup a crontab 0 6 * * * /etc/letsencrypt/certbot-auto -n renew --quiet --no-self-upgrade && cat /etc/letsencrypt/live/mydomain.com/privkey.pem /etc/letsencrypt/live/mydomain.com/fullchain.pem > /etc/ssl/private/pure-ftpd.pem && se

ISPConfig 3 / Mail / Custom mail filter recipe

Recently trying to setup a mail re-direct (or a cc) to an external e-mail address. It is important to first determine if you are running courier or dovecot because the syntax is different. Under dovecot, it should be in sieve syntax. Therefore, under ISPConfig3 -> Email -> Email Mailbox -> Custom Rules, enter: redirect "mail@example.com"; Ensure it is double straight quotes and semi-colon at the end. Wait until the update is done (usually a few minutes) via the cron jobs of ISPConfig3 updating the /var/vmail/domain/username/.sieve

Ubuntu 16.04 and ISPConfig 3.1 - stopping ClamAV

ClamAV requires quite a bit of resources to run in the background and this usually slows down the mail delivery. In the ISPConfig 3 (Under Perfect Server setup), clamAV is run within Amavis. Therefore, typical removal of clamAV commands will not remove it. When RAM is really low, Linux kills amavis and this will cause mail not being delivered. Therefore, if we run amavis to manage anti-virus and spam, consider a minimum of 2G or 4G RAM VM/Cloud servers. The steps to disable clamav and amavisd are: (1) edit postfix conf - note amavis uses a special port 10024 and 10026. Therefore, if you are not using these ports, consider closing them in your firewall settings. nano /etc/postfix/main.cf # content_filter = amavis:[127.0.0.1]:10024 # receive_override_options = no_address_mappings (2) Under ISPConfig 3.1, comment additional 2 lines nano /etc/postfix/tag_as_foreign.re # /^/ FILTER amavis:[127.0.0.1]:10024 nano /etc/postfix/tag_as_originating.re # /^/ FILTER amavi