Intro
Have you heard about the amazing tool of Dropbox? Well if you haven’t you are missing a lot!!! For those of you that haven’t heard about this tool – “Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share them easily. Dropbox was founded in 2007 by Drew Houston and Arash Ferdowsi, two MIT students tired of emailing files to themselves to work from more than one computer.” (Dropbox 2012) . Now if that sounds cool/good to you, the only thing bad about Dropbox is that doesn’t allow you to do the awesomeness that it does with your own hosted server. Well, there is this new tool called SparkleShare that will allow you to have Dropbox awesomeness into your own hosted server without too much hassling.
Before you start with the tutorial, please keep in mind that everything that was configured was setup base on program installation defaults. So if you have customized the path of installation, then this tutorial may vary base on your configurations. Also this is base on a local network setup, if you want to access your files remotely you would need to have your firewall/router setup to allow port 22 for SSH connections.
Identification
Server
Host = svrmain
User = yoda
Client
Host = cltworkstation
User = skywalker
Server
The following tutorial will show you the process of installing and configuring git and openssh-server in order to have SparkleShare working properly.
Install Git
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
Install Openssh-server
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server
Configure SparkleShare
Login to your server and perform the following commands or equivalent depending on your system:
adduser –disabled-password yoda
mkdir /home/yoda/projfiles
sudo git init –bare /home/yoda/projfiles
sudo mkdir /home/yoda/.ssh
sudo touch /home/yoda/.ssh/authorized_keys
Please note that SparkleShare doesn’t accept any folder names with periods (“.”) in them.
Finally:
sudo chmod 700 /home/yoda/.ssh
sudo chmod 600 /home/yoda/.ssh/authorized_keys
sudo chown -R yoda:yoda /home/yoda
Client
- Start SparkleShare and enter your name and email address.
- Click Continue.
- SparkleShare has now created a special key file. Replace the username skywalker with the actual username from your client PC.
Linux /home/skywalker/SparkleShare
Mac OS /Users/skywalker/SparkleShare - Leave the window open and go to your terminal. Copy the key RSA to the server authorized keys file created with the following command. Please note that the username and host name is given as part of the console.
skywalker@cltworkstation:~> cat .ssh/id_rsa.pub | ssh yoda@svrmain ‘cat >> .ssh/authorized_keys’
yoda@svrmain password:
- Go back to SparkleShare and enter the server address. In this case the server will be = yoda@svrmain
- On Folder name – specify the whole path where the Git folder got configured. For example in my case is /home/yoda/projfiles
- Click “Sync” and you should be done!!!
Now you should be able to enjoy sharing and synching your files with others.
Adding more than one client to the same server
Also in the future if you would like add more clients to the same server
- Go and do Client section and do all steps.
The only difference will be the username from the client computer.
This gives the client access to the git repository. If you want to give more people access to your project, just paste their keys on a new line at the end of this file.
Source:
https://help.ubuntu.com/community/Git
http://linuxproblem.org/art_9.html
http://sparkleshare.org/set-up-a-host/
https://help.ubuntu.com/10.04/serverguide/openssh-server.html
https://www.dropbox.com/about