So I think I’ve finished migrating my blog to the new server. It’s on Ubuntu 16.04 now, instead of 12, and running on PHP7 instead of PHP5, and on mariadb instead of mysql, and on Nginx instead of Apache.
Lots of little problems came up.
For one thing, the old database was configured so that the character set was latin1 instead of utf8. But wordpress was putting utf8 bytes into it. Which worked fine until I went to migrate the data. Because now-a-days mysqldump delivers data in utf8 encoding by default, so in order to get the bytes out unmolested, I had to specify to dump as latin1. Then, it’s necessary to edit the dumped .sql file and change the latin1 in there to utf8. Quite a headscratcher. If you see accented characters showing up as TWO weird characters, this is probably what happened to you.
ssh email@example.com 'echo XXXXXpasswordXXXXX | mysqldump --default-character-set=latin1 -u root -p database' > data.sql
Next, a shout out to Lets Encrypt which is providing the SSL certificates for my domains. Configuration was incredibly easy.
I’m still running on Linode, which is working reliably — as it has done for the past many years! They no longer let me create an instance of the size I used to use, so my new instance is slightly smaller… when all is said and done I might save a little money!
I’m also trying an experiment where I track changes to my Linux configuration in `/etc` using GIT. Unfortunately, lots of files change in `/etc` for reasons that aren’t meaningful configuration changes… so it will probably be of dubious value.
Now on to the rest of my domains…