Setting up a portable server

In Assignment, Assignment Preparation, Expression Engine on January 31, 2010 at 12:59 pm

So it hasn’t taken long for me to realise the dangers involved in using a localhost server environment set up on the C: drive. Your development is tied to that computer and you either carry your computer around with you, everywhere you go; or you deploy the server environment onto a portable USB hard drive. Which is what I have mostly been doing this weekend!

Advantages of a portable server

  • Your development is not tied to any one particular computer
  • You gain a greater understanding of the dynamic web environment by overcoming the problems needed to set it up

Disadvantages of a portable server

  • In order for Apache to run, it needs a port to listen to. When you set up a localhost environment on a computer, you only have to configure this once.
  • When using a portable server, there is no telling what the host computer will already have as a service listening to the port that Apache has been set up to listen to.
  • When there is a port conflict, Apache will not start and you will not be able to use your server environment

What I’ve done

  1. I bought a 250GB USB powered Transcend portable hard drive
  2. Spent ages reading about how to install a variety of server software onto a USB drive
  3. Installed XAMP on to the drive and it worked fine on the laptop in the kitchen
  4. It didn’t work however, when I plugged the drive into my main computer in my room. Apache would not start because I had IIS (windows – Internet Information Services) installed and that was causing a port conflict when I tried to start Apache.
  5. Spent ages reading up about getting Apache to start.
  6. Came across Server2Go which claimed to be a complete WAMP (Windows – Apache – MySQL – PHP) stack environment designed to work from a CD-ROM.
  7. So I installed Server2Go and it worked just fine. In fact, I’m completely impressed with it because it means that you can deploy dynamic web applications on CD. However, although I was able to install and run my Expression Engine development project – it caused massive headaches because the Server2Go works using a direct IP address ( and I concluded that this was not a suitable environment to be able to develop projects.
  8. So I read some more about getting XAMP to work and reading through the forum posts I discovered that it was mainly Skype that caused a problem. However in my case it was because I had IIS installed on my computer.
  9. So I unistalled IIS and would you believe it, Apache started and I was able to view my project. Everything worked fine apart from the inline Flash player does not seem to be able to play the tracks. I think this might be a security issue within Flash that I will need to address.

All in all, quite a productive weekend! What has left the biggest impression is the Server2Go software which has all sorts of implications. All of these technologies are increasingly allowing a M-V-C (Model – View – Controller) deployment:

  • Model – A defined framework in which the project resides
  • View – Renders the model into a suitable format for viewing (eg. XHTML and CSS)
  • Controller – Is the link between the model and the view and so initiates action within the model, based upon the interaction of the user (eg. user clicks a link, controller decides what to do)

All of this may sound a bit abstract, but basically by developing a project using Expression Engine, it means that the MVC framework is already in place, and flexible enough to allow for bespoke deployments; and coupled with the Server2Go software, you can implement a MVC project on CDs, USB drives etc. Though this post has not mentioned anything about design, it is because I think that a successful MVC project requires very careful thought about the nature of the content and its relationships and granulation, before any mention of how it may look can be addressed. Although inevitably, the two will need to meet!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: