Posts Tagged ‘ Dropbox

Dropbox + eXtplorer: A better web interface

Ok, so I found myself online at a workstation without admin access the other day and needed desperately to edit a file on my Dropbox account, it was just a plain text file and the edit was only small, so I set about finding a way of doing it, and came up with this as a temporary solution until Dropbox have a fully functional, released API…

preview image

P.S. The error was actually caused by a non-standard character in the filename (+). I’ll be filing a bug with eXtplorer for that :)

Documentation (Wiki) can also be found here.

NOTE: Replace [user] with the username under which the Dropbox folder is located.
NOTE: Replace [FQDN] with either your IP address or the hostname (or FQDN) which you’ll be using to access the interface.

NOTE: This HOWTO assumes that you will be running apache as the user ‘apache’ and that you have already set up your Dropbox account syncing to your /home/[user]/Dropbox folder

To get Dropbox running with apache and extplorer you need to get the following packages:

yum install php httpd

Make the VirtualHost director and get permissions / groups correct:

mkdir /var/www/dropbox
chown apache:apache /var/www/dropbox
usermod -aG [user] apache
usermod -aG apache [user]

Now create and populate an apache virtualhost config file:

vim /etc/httpd/conf.d/dropbox.conf

Populate it with the following text:

NameVirtualHost *:80
    <VirtualHost *:80>
        DocumentRoot "/var/www/dropbox"
        ServerName [FQDN]
        <Directory "/var/www/dropbox">
            allow from all
            Options +Indexes
            AuthType Basic
            AuthName "Dropbox"
            AuthUserFile /var/www/passwd
            Require valid-user
        </Directory>
    </VirtualHost>

Now add a username / password to access your interface via HTTP auth:

htpasswd -cm /var/www/passwd yourusername
chown apache.apache /var/www/passwd

Make sure that apache has full group access to your Dropbox folder.

chmod g+x /home/[user]
chmod g+rw /home/[user]/Dropbox
find /home/[user]/Dropbox -type d -exec chmod g+x {} ;

Download the latest version of eXtplorer from http://extplorer.sourceforge.net/

cd /var/www/dropbox
wget http://heanet.dl.sourceforge.net/sourceforge/extplorer/eXtplorer_2.0.1.zip
unzip eXtplorer*.zip

Check we haven’t made any mistakes and set the services up:

service httpd configtest
service httpd restart
chkconfig httpd on

You can now log into http://[FQDN] using a browser and the default credentials (admin/admin) and set up your user, pointing the user’s “Home directory:” at /home/[user]Dropbox. Once you have set up your user you have the choice to remove the HTTP authentication which we included in the VirtualHost configuration above. Simply comment out (or delete) the following lines from your /etc/httpd/conf.d/dropbox.conf file:

AuthType Basic
AuthName "Dropbox"
AuthUserFile /var/www/passwd
Require valid-user

That’s it, you’re done!

Dropbox and Jing…

Ok, so a few days ago I blogged about Dropbox and all of it’s awesomeness, but today I have to tell you about how Jing and Dropbox work together to double that awesomeness to a point of disbelief….

preview image

Ok, so if you watch the above video I’m sure you’re going to get the jist of what I’m trying to portray. With Jing you can record whatever’s on your screen, so you can provide instructions to someone or show someone what’s happening on your screen without having to set up remote access etc. Then you can save your Jing screen cast file in your Dropbox folder which will then automatically upload the video to your online storage. If you save the screencast file in your Dropbox public folder you can then just navigate to your Dropbox folder, right click on the file, grab the public URL and send it to whoever you want to see it.

The above video is hosted live in my Dropbox, if it’s broken then it’s probably because I deleted it from my Dropbox folder :/

Incidentally, on yesterday I became one of Dropbox’s first paying customers, as they’re trialling their payment system and I was invited to be amongst the first to test it out. To be honest 50GB is quite a large amount of space, especially for file sync’ing. It’s still nice peace of mind for off-site backup though!

Dropbox and CentOS 5

Well, since my last post I’ve been attempting to get Dropbox working on CentOS (since this is my server platform). I have so many potential uses for having dropbox running on my server that I’d probably bore anyone reading this if I listed them. Needless to say, it’d be very useful for me if Dropbox would work.

Rather than run the installation on my live server(s), I decided to do a test install on a Virtual Machine. I fired up VMWare and created a minimal installation of CentOS (and I mean minimal) and after installing VMware tools I installed the GNOME desktop along with the X11 Window Manager. I normally use KDE, but unfortunately Dropbox only currently supports Nautilus and not Konqueror :( .

yum --exclude=nautilus-sendto groupinstall 'X Window System' 'GNOME Desktop Environment'

Now, officially CentOS is not supported by Dropbox, there are no packages for CentOS provided by Dropbox so I thought I’d get the source and see what I could do with it. The package requirements are higher than the CentOS package versions available through traditional channels. I thought I’d have a pop anyway and document how far I got here. The two key problems are that Dropbox require glib2 version to be at least 2.14.0 and libnotify needs to be at least 0.4.4. CentOS 5.2 (current release at time of writing) only has packages for glib2 at 2.12.3-2 and libnotify at 0.4.2-6. I wasn’t about to let that stop my potential enjoyment of Dropbox though, so I installed the other dependencies using yum:

yum install bzip2 wget make gtk+-devel libnotify-devel nautilus-extensions.i386 nautilus-devel.i386 gnome-vfs2-devel compat-glibc-headers.i386 compat-glibc.i386 gnome-desktop-devel.i386

Then I got the latest source from the DropBox download page and untarred it:

wget http://dl.getdropbox.com/u/5143/nautilus-dropbox-packages/0.4.1/nautilus-dropbox-0.4.1.tar.bz2
tar jxf nautilus-dropbox-0.4.1.tar.bz2

Next, I had to alter the configure script to accept our versions of glib2 and libnotify which was just a matter of finding and replacing

GLIB_REQUIRED=2.14.0
LIBNOTIFY_REQUIRED=0.4.4

with

GLIB_REQUIRED=2.12.0
LIBNOTIFY_REQUIRED=0.4.2

Then I ran the

./configure
make
make install

Everything seemed to compile ok. Time to fire up the desktop… GNOME launched ok, but nautilus refuses to load. The problem is revealed when trying to start nautilus from the command line:

[rob@localhost ~]$ nautilus /home/rob
Initializing nautilus-dropbox 0.4.1
nautilus: symbol lookup error: /usr/lib/nautilus/extensions-1.0/libnautilus-dropbox.so: undefined symbol: g_timeout_add_seconds

It looks like Dropbox really does require the specified versions of those packages which is a real shame. So in short, unless anyone comes up with a workaround, or Dropbox release a more compatible version it looks like there’s no awesomeness to be had with Dropbox and CentOS / RHEL :(

Never-the-less the awesomeness still reigns on the Windows platform!