Linux
Apache
MySQL
PHP

CSS
XHTML1.1
XML/RSS

Creative Commons

2012-07-11 14:04:49

Roll Your Own Cloud With Tonido

Have you ever been away from home and thought to yourself, "Crap! I wish I could get some files on my computer at home." If you're anything like me, you constantly need access to your files from non-home places but don't want to carry around USB sticks, CDs, or any other kind of portable storage. We have the Internet, shouldn't we use it?

For a while I was able to do this by installing Apache on my Fedora box, pointing the virtual directory to the directory where all of my files are saved, configured password protection, and editing the config to allow directory listings. Then I simply made a DNS record on my personal website domain to point to my computer at home and voila! Pretty simply, right? If you're a website admin, maybe. But recently I found a better way.

While watching the first episode of Know How (http://twit.tv/show/know-how/1) on the TWiT network, which looks strikingly like The Screen Savers, I was introduced to two products that let you roll your own cloud. We've all heard of iCloud for Apple products and Amazon's S3; both are services that let you store your files on the Internet and access them anywhere. But the two products in the episode were for making your own cloud, or letting your files on your personal computer be accessed from anywhere.

PogoPlug and TonidoPlug are the two devices. They are actual hardware devices to which you can connect removable storage, plug into your network, and your files are instantly on the Internet for you to access. TonidoPlug is open source software and based on Linux, so you can probably guess which one I wanted to use. The cool thing is that you can download the Tonido software for free and not need to purchase the hardware device. Tonido offers their software for Windows, Mac, and Linux. Being that I run Linux at home, I downloaded the Linux version.

I am not writing this article to try and convince anyone to use Tonido, rather because I had major problems getting it to work and want to document for myself and others what I had to do. Though Tonido has a Linux version of their software, they only support Debian-based systems (that includes, *cringe*, Ubuntu). Instead of being nice and offering a tarball that could be compiled and run on any Linux machine, they only release a DEB file that can only be used on Debian machines. Jerks!

Lucky for those of us who don't use Kindergarten Linux, we can convert the file to a Fedora/Redhat compatible format (RPM) and get it to work.

First, you're going need to get Alien, a package converter. It can be downloaded from http://packages.debian.org/unstable/source/alien. You'll also need to make sure you have its dependencies, such as Perl, gcc, make, and the Redhat Package Manager. Those can be downloaded via yum.

Next you have to unpack and install Alien. To make things easier, become root before doing anything.
Ok, now you need to get the Tonido DEB file from http://www.tonido.com/application_download.html. Make sure to get the version labelled Tonido Desktop Software for Ubuntu/Xubuntu/Kubuntu. Now we need to convert it to an RPM.
Simple, right? Now comes the tricky part. Because this file was originally a Debian package the dependencies are checked based on the naming conventions of Debian systems. What does that mean for us Fedora users? Well, when we try to install Tonido it's going to tell us that we're missing all of the dependencies:

# rpm -Uvh tonido-2.51.0.18312-2.i386.rpm error: Failed dependencies: libbz2.so.1.0 is needed by tonido-2.51.0.18312-2.i386 libcrypto.so.0.9.8(OPENSSL_0.9.8) is needed by tonido-2.51.0.18312-2.i386 libldap_r-2.4.so.2(OPENLDAP_2.4_2) is needed by tonido-2.51.0.18312-2.i386 libnotify.so.1 is needed by tonido-2.51.0.18312-2.i386 libpcre.so.3 is needed by tonido-2.51.0.18312-2.i386 libssl.so.0.9.8(OPENSSL_0.9.8) is needed by tonido-2.51.0.18312-2.i386

Some of those we already have, some of them we don't, but we need to check them all and make sure they're updated anyway. Now we can install Tonido. If we just run the same command as before it's still going to tell us we're missing everything (remember, Debian and Fedora packages are named differently so it thinks we don't have them). To get around this we'll just slightly modify the command to tell it to skip dependency checking. Since we have no idea what files it put where, let's do a quick listing of what we just installed.

# rpm -ql tonido / /usr /usr/local /usr/local/tonido /usr/local/tonido/clientca.pem <<>> /usr/local/tonido/tonido.sh /usr/local/tonido/tonidoconsole /usr/local/tonido/tonidogtk /usr/local/tonido/tonidostart.sh /usr/local/tonido/translations.zip /usr/share /usr/share/applications /usr/share/applications/tonido.desktop /usr/share/menu /usr/share/menu/tonido /usr/share/pixmaps /usr/share/pixmaps/tonido.png

There is the file we need, tonidostart.sh. All we need to do is run that command (as a non-root user) and Tonido will be ready to go. There we go! It should pop a browser with your local Tonido page. Create your account and your entire filesystem will automatically be available anywhere that has an Internet connection. There are many options, such as limiting the directories you share, creating guest users, etc. I'll let you figure those out. But one thing I will say is that there are mobile apps for Tonido as well so you can access your files from your iPhone, Android phone, etc. All you need to remember is your custom URL (https://username.tonidoid.com) and you're golden!

Back


Post a comment!

Name:
Comment: