Chroots 0.2 – First Public release

Chroots is a collection of bash scripts to create, maintain, manage and use several chroot environments on debian based systems. It sports such features as privilege drop, multiple chroot maintenance and caching.

This is the first public release, under GPLv3. The software is now in a state where I can use it every day to maintain chroots. To download the source code, use the link below. There is also a git repository available for cloning. Chroots is developed under Ubuntu, and can build debian and Ubuntu chroots through deboostrap.

December 10, 2008

Web Development Workflow

Lately I’ve been working on some web projects, nothing major, one of which is the template for this blog. One thing that always bugs me is the workflow for web development. What is the best workflow for such projects, that require server side testing ?

How to develop a Wordpress theme without major hassle ? Or a php website for that matter ?

Option 1

Deploy a local http server, and test it as you code it on your local machine.

Downsides

  • Requires deployment of local http server and mysql server and wordpress/custom stuff.

Upsides

  • Fast code/test/fix cycle.
  • If you screw up, just reinstall or star over.
  • Does not bother visitor on production sites.

Option 2

Code directly on the server. Through ssh.

Downsides

  • Remote work is usually slugish.
  • Requires exporting the X windows for minimal usefulness.
  • Too much work to get into a usable state.
  • Direct work on the database/project/software.

Upsides

  • Direct work on the database/project/software.
  • Already deployed server/php/mysql/wordpress whatever software.

But I recently found a third option that seems viable.

Option 3

Mount the remote working directory through sshfs.

Downsides

  • Remote work can be slugish.
  • Direct work on the database/project/software.

Upsides

  • Direct work on the database/project/software.
  • Simple deployment. Just mount the damn thing and be on your way.
  • Take advantage of your desktop/development environment.

This is the latest and greatest solution so far. But this still doesn’t sound like perfect, because if I want to code a wordpress theme/template I have to enable it and work on my production website, which hinders both development and visitors.

Has anyone got a great solution for this ? A great workflow ? Or am I just being lazy and should install everything locally ?

April 21, 2008