I’ve moved this blog from directnic.com to my own VPS. This blog is using Serendipity, which consists of a bunch of files for the webserver and a MySQL database. (I during the move I noticed that the new version supports SQLite backend, which would have made this whole process a lot easier.)

What I did:

  • Copy all files from the old server to the new server, using ncftp’s recursive mget.

  • Dump the MySQL database using mysqldump

  • In MySQL client: create a new database using CREATE DATABASE xxx, select it using use xxx and execute the exported SQL script using source dumpfile

  • Configure an Apache virtual server for the lunesu.com domain. Note to self: must check Include all addresses in Webmin’s Networking and Addresses Apache configuration tab.

  • Apply the new Apache configuration.

  • Add lunesu.com to my local hosts file, to be able to test the new site without having to change the DNS settings.

  • Oops: ncftp did not get the serendipity_config_local.inc.php because it was readable by user httpd only! The only way I was able to copy this file was by uploading a dummy PHP script with the following contents: <? header(‘Content-Type: text/plain’ ); readfile(“serendipity_config_local.inc.php”);

  • UPDATE serendipityConfig SET value=”/var/bla/path” where name=”serendipityPath”;

  • I also had to change some folder permissions: chmod 1777 . archives upload plugins templates_c

The serendipity Weather sidebar plugin failed to work. I read that it needs the PEAR:Services-and-Weather module for PHP so I installed that using sudo apt-get install php-services-weather. Unfortunately, that completely borked my site. I was able to track this down to a function in Serendipity called get_plugin_title. Apparently, even with that module installed, the weather plugin still wouldn’t work. Fix: disable the weather plugin.