Fun with the Asus EEE PC Part 4 - A Server In Your Handbag
Admittedly, I didn't actually try to put the EEE into a handbag, but a couple of people very enthusiastically mentioned that such a feat would be possible. Now of course as I'm sure you know there are few subjects more serious than servers, this is the impression I have got over the years from sysadmins suspicious of developers! So we ought to see if some serious technology works on the machine, could we really use it as a web server? Or a database server? Maybe even for Drupal?
Now of course you wouldn't really want use one of these machines as a server, but being able to run web technology on it would mean that you could deploy solutions onto the device using pre-existing web skills, there would be no need to learn a whole new platform and SDK like with so many other mobile devices. You could share common code between your servers and your EEE. Maybe even use Drupal to build applications for use in the field quickly. This would increase options while cutting costs. Well the good news is that all of this stuff works - with the odd bit of tweaking here and there.
When I picked up the machine from the chaps in KMi they had already installed the LAMP stack (i.e. on top of the Linux operating system, they had already installed Apache, MySQL and PHP by apt-getting the packages from an added Debian repository as part of their work on the unit. So yes, the entire LAMP stack works, you can run normal web applications entirely on the EEE and use them. As a test I installed Drupal onto the unit, this was pretty much a normal installation procedure, you can even enable mod_rewrite to get clean URLs (use the command sudo a2enmod rewrite). There was one small bit of configuration that had to be done though, when any web page was run that features graphics, only the text would be served and the alternate text shown instead. This is enough to fix (thanks to a solution posted about a similar problem here). You need to add this line to the end of /etc/apache2/apache2.conf:
If you install Drupal under /var/www you should also edit the entry for the default site in /etc/apache2/sites-available/default to change AllowOverrides None to AllowOverrides all. This will allow the Drupal system directories to be protected. After these simple changes, Drupal works perfectly and responds speedily to requests. So it looks like it would be perfectly feasible to use it for mobile solutions, even where no network is available - a new use for the platform.
The last few tasks were to see what it would connect to. You get a built in terminal that can connect via SSH to other computers, I didn't get chance to enable an SSH server but did test the client which worked very well. You can use Krfb to easily share desktops through a VNC connection. It was also easy to drop documents onto a remote NFS share, this didn't require any extra software to be installed, and it looks like it would be able to write to Windows shares as well using Samba, but sadly I didn't get round to testing that.
This all adds an interesting dimension to the EEE. It would come in handy for supporting sites on remote servers and being able to use PHP on the machine means that a very large number of developers can target it.
Well after all that testing I had to give the unit back, but it was a very interesting experience and next time I'll share with you my conclusions on the EEE.
*** UPDATE ***
I've documented how I set up a LAMP server on the EEE more fully here:
Instructions are also available here: