Since my first post on this new website, I tried to migrate the MySQL database from my old Drupal 6.x website. It was a mixed experience that taught me many things…
Regarding databases I learnt, that SQLite fits me just perfectly. It's very lightweight on the resources and needs no daemon, which makes it ideal for such a small low power ARM as my server 1. Since SQLite stores databases as files, backing it up means just copying the .db file, so writing a backup system in FCron should be easy peasy. It also impressed me how nimble and powerful it is for such a small thing!
As for the migration itself I found a Drupal import plug-in for Habari. After fidling with it for some time and lots of help from kind people on Kiberpipa and Habari IRC channels, I managed to connect to my database and import most of it. Surprisingly that 3 year old code worked just fine, but doesn't fit my usecase. Namely you can only import one entry type and one taxonomy list at a time, which resulted in lots of missing comments and tags. I hope I'll manage with my superior lack of coding skill, which I compensate with my boyish charms social engineering skills to hack the importer to my liking – to import it all in one go. Also, probably checkboxes instead of pull-down menues would be better choice in the UI.
In case you were (un)lucky enough to see all the 3/4-migrated stuff here a few days ago, I hope this explains it. I restored from a backup today and hope to get it right soon. I'm optimistic :]
Some small observations I made during this experiment:
- SSH tunnelling is very useful – e.g. if your provider only allows local access to your database and you have ssh access, you can access the database remotely via an ssh tunnel;
-
creating SSH tunnels is dead easy once someone explains it to you: e.g.
- log into the box you want to use the tunnelled service (e.g. MySQL) from;
-
ssh to the remote server with 2:
ssh -L 3007:localhost:3306 user@example.com
-
now if you connect to port 3307 on your localhost (the box in step 1.) you will be accessing port 3306 on example.org and this inside a secure and encrypted connection.
-
Distcc as a client is very easy to set up, amazing when it works, but counterproductive when the nodes are not accessible, as it takes a even longer and under a bigger load 3. So I guess distcc is great as long as you have stable nodes to count on.
- Sqliteman is a very intuitive tool to edit SQLite databases.
I really love Habari's admin UI! I know that as with any software there will be days when I'll just want to strangle it, but right now, I adore it :3 Oh, did I mention how awesome it is to be able to navigate the menu with keyboard? Everything is just 1 or 2 keypresses away! Brilliant!
In conclusion: I’m not rueing the day I got my PlugComputer – I learned that just by using a bit more streamlined and lightweight code, you can squeeze a hell lot out of a small ARM.
hook out → right, back to my books
-
I have a small DreamPlug plug computer. I wrote an FAQ about it, if you’re interested in the details. ↩
-
Of course, change the user, example.com and ports accordingly. ↩
-
As an example, emerging PHP on this box with -j1 takes 1h30', with a working distcc node in Amazon EC2 and -j8 it takes 40', but if that one’s down it takes 2h. ↩