A Moving Experience
by Frank McPherson Wednesday, July 13, 2016

I've successfully moved this 1999.io site from a server running Debian with 512 mb of RAM and 10 GB of storage to a server running Ubuntu with 1 GB of RAM and 20 GB of storage. I did this after doing a dist-upgrade on the Debian server that might have fixed the memory leak problem it was experiencing.

For the most part I followed the server migration instructions provided on the 1999 server Google group, although my installation has a few tweaks that required a few more steps with the migration. 

Since I retained the URL for the site and pointed it to the new server, I didn't have to do any URL manipulation in my chatLog.json file. After installing the 1999 server software and testing with a simple hello world post, I copied over the chatLog.json and config.json files from the original server.

I use a callback script to publish a copy of this site to its "public" location at writing.frankmcpherson.org, which is hosted on AWS. For the callback script to work, I needed to create an ~/.aws directory and copy the credential file into it. I also needed to copy the callback script to ~/nodestorage/callbacks/publish. 

After copying these files I did a re-publish and the site was re-published both on the new server and on S3. The next issue I had to resolve is that the site on the new server did not have the menubar from the original site. ~/nodestorage/publicFiles/users/frankm did not have a misc directory, which I created and then copied menubar.html, menubar.opml, and template.opml from the original server to the directory. 

I did a quick update to my hello world post and the original menubar appeared along with the remainder of the content.

Next, I discovered that the archive pages were not generated when I republished the site, although they did exist on the S3 copy of the site. While Dave has a script to recreate the archive pages, I decided it would be simpler to copy the previously generated page, which is index.html,  in ~/nodestorage/publicFiles/users/frankm/2016/05 (for May) and ~/nodestorage/publicFiles/users/frankm/2016/06 (for June). 

Final step was to install forever and start up storage.js using it.