For many, cloud computing means being able to access your data and software from anywhere you happen to be through the Internet. I’ve written several times in this column that cloud computing is great… but only as long as it happens in your cloud, that is in (Free!) software environments that you control and that you can move wherever you want. I already explained, in a previous post, how to put in such a personal cloud your bookmarks. This time, I’ll show you one of the simplest possible ways to manage your own files (and those of your friends, family or coworkers!) in the cloud.

eXtplorer is a Free Software application that works inside any graphical browser as a simple file manager on any website where you decide to run it. It’s not really full featured nor terribly fast, but it has all the basics and will run pretty much everywhere: its only requirements are a folder on a Web hosting account that supports PHP (at least version 4.3!) and any browser with JavaScript enabled.

As you can see in Figure A, EXtplorer provides a very clean interface (the screenshots here are from version 2.1.0) in which you can:

  • create folders
  • move files and folders by drag and drop
  • run searches with regular expressions
  • sort files by any column shown in the main pane
  • download many files as one compressed archive
  • upload archives and expand them on the server

Figure A

Click to enlarge.

The installation procedure is very simple. It’s just not documented completely, but don’t worry! I’ll show you exactly how to do it, after telling you what I like the most in eXtplorer.

To begin with, there are several classes of users or, more exactly, permissions. Administrators configure eXtplorer and can create other users. Should you need to add many accounts at once, you may do it automatically with a script.

Each user can have a different “home” directory, completely invisible, if you so wish, to all other ordinary users. Figure B shows that the “root” folder for the “friends” user in Konqueror is different from the “root” of the eXtplorer administrator in the Firefox window.

Figure B

You may even control which files each user sees through regular expressions (see Figure C).

Figure C

In general you can let a user view files and folders, but not create or modify them, and forbid him to change his own password. One problem with all these “permissions” is that they have meaning only inside eXtplorer, which at the file system level has the same permissions of the account running the Web Server (let’s call that account “www”).

This may confuse users who already have an FTP account on the same computer. What if John usually puts his files via FTP in a folder like /home/john, that only the system user “john” can access? In such a case, John won’t see his files when he logs in as “john” on the eXtplorer page: the operating system will refuse that request, because it comes from “www”, not the only “john” it knows about. Luckily, eXtplorer can handle these situations by switching to an FTP mode (top right corner of Figure A) in which users can work with their actual FTP accounts.

The other thing that I like in eXtplorer are bookmarks. When you click on the little star in the top central part of the window, eXtplorer will ask you an alias for the current directory and then jump to it whenever you select that alias from the bookmark drop-down menu.

How to install and configure eXtplorer

The installation of eXtplorer is very simple. Download the latest zip archive, unpack it in a dedicated subfolder (that we’ll call $eXtplorer for simplicity) of your Web space and point your browser to$eXtplorer to configure the program. That’s where problems start (if you haven’t read this post, of course!)

The very first thing you should do is change the default administrator password which is, you guessed it, “admin”. The documentation clearly says that, before doing so, you should make sure that the file $eXtplorer/config/.htusers.php is writeable by the Web server account.

Well, I did just that, and all I got when I clicked on Save was a lousy blank screen. Eventually, I found the reason in the error log of my Web server (edited for clarity):

PHP Warning: include(): Failed opening '$eXtplorer/scripts/functions.js.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in $eXtplorer/include/init.php on line 171

Indeed, there was no “scripts” subfolder in $eXtplorer! There was, however, a zipped tar archive called scripts.tar.gz. I unpacked it and lo!, everything worked! Well, everything but one other thing, equally quick to fix. In order to save bookmarks, eXtplorer needs write access to the file $eXtplorer/config/bookmarks_extplorer_admin.php. If that file doesn’t exist, you must make writable the folder $eXtplorer/config/ instead.
There are two more things to take into account, to make eXtplorer work just like you and your users need. One is placing the several “home” directories outside the Web server document root. Otherwise (unless that’s what you actually wanted, of course), people may be able to browse those folders anyway, bypassing eXtplorer altogether. In fact, as far as eXtplorer itself is concerned, John’s “home” may very well be the folder $eXtplorer/john. However, that folder may also be visible, unless you fiddle with the Web server configuration, to everybody pointing her browser at$eXtplorer/john! The way to avoid this is to place the eXtplorer “homes” in a folder that the Web server cannot access directly, like /home/eXtplorer_users.

The last but not least thing to consider is security. If you can, don’t let your users access eXtplorer over plain, that is unencrypted, HTTP connections. Force those connections to happen over secure HTTP, instead, by changing the configuration of the Web server as explained, for example, here.