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.
- tar xzf alien_8.87.tar.gz
- cd alien
- perl Makefile.PL
- make
- make install
- alien -r TonidoSetup_i686.deb
# 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.
- yum install bzip2-libs openssl openldap libnotify pcre
- rpm -Uvh tonido-2.51.0.18312-2.i386.rpm --nodeps
# 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.
- /usr/local/tonido/tonidostart.sh &
Back