With the advancement of cloud computing, Dropbox has become a cornerstone of mobile computing. The ability to manipulate files on one device, have them stored “in the cloud”, and then reflect these changes on all of one’s devices has provided a great deal of flexibility for consumers. I wanted to extend this functionality to a shared web hosting environment (in my case, BlueHost).
First, you’ll need SSH access to your box. For security reasons, all Dropbox files will be kept outside of the public_html folder.
1.) Login via SSH to your box.
2.) mkdir ~/dropbox-exec
3.) cd ~/dropbox-exec
4.) wget -O dropbox.tar.gz "https://www.dropbox.com/download/?plat=lnx.x86"
We created a directory, navigated to it, and downloaded the latest 64-bit compliant Linux source for Dropbox.
5.) tar -xvzf dropbox.tar.gz
6.) rm dropbox.tar.gz
7.) ~/.dropbox-dist/dropboxd
Now we unzipped the tarball, removed the original compressed file, and executed the main Dropbox script.
8.) You’ll get a message like:
This client is not linked to any account… Please visit to link this machine.
9.) Copy and paste that link into a browser and navigate there. This essentially “links” your shared host to your Dropbox repository.
10.) BlueHost periodically terminates the Dropbox process, so I added a cronjob (under CPanel) to keep the process running every 5 minutes. The cron command will simply be the path to your dropboxd script. For example: /home/fill-in-your-username/dropbox-exec/.dropbox-dist/dropboxd
You’ll notice that under your root directory (/home/username) you now have a “Dropbox” folder with all the contents of your repository. Now you can throw things into the cloud whenever you want. For example, I have a simple PHP script which backs ups and optimizes my WordPress SQL databases every day, eliminating the need for a resource-hogging plugin and giving me the piece of mind that my database is stored in more than one place.
Let me know if this guide helps and/or if you have any questions! 🙂
The x86 version is 64-bit?
Shouldn’t “~/.dropbox-dist/dropboxd” be “./.dropbox-dist/dropboxd”?
I’m with you until dropboxd gets blocked by lack of zlib. I’ve tried enabling it in php.ini but that doesn’t seem to work either…
I had to stop using Dropbox on BH a long time ago because it was a recurrent process that used too much memory. BH paused my account until I removed the Dropbox files.
So will the storage limits of Dropbox still remain or does this bypass this?
The limits will be retained.
Great post, thanks! By the way, what do you use to copy the files from your dropbox directory to the public_html automatically? I was thinking of using Bluehost’s “cron-job” function to run a copy command? Have you developed anything more sophisticated to “synch-up” the two folders?
Thanks again!
Jason
I’m fine with the Dropbox folder on my Bluehost account being outside the public_html path (for security reasons). If you want to create a mirrored directory inside public_html, I would look into rsync. 🙂
Hi great info do you have more detailed instructions for this process I also have a bluehost shared hosting and would like to connect to dropbox. the ssh is enabled on the bluehost side? or dropbox? Any aditional info you might have would be great.
You need SSH access to your BlueHost server – contact tech support and provide the representative with some form of identification so they can authenticate your request.