Comment 50 for bug 87122

Revision history for this message
ikus060 (ikus060-renamed) wrote :

Hi Jean Roberto Souza,

If you look for something with similar feature (multi-user, versionning, web interface, auto-sync, backup, cross-platform, userfriendly, etc.), there is some alternative, but most of those are not free or open source...

Because we don't have the budget to invest in such solution, we deploy some tool to satisfy our needs. It's provide something very similar to iFolder, but with higher maintenance effort. So I don't suggest you to do the same if you have a big user group.

Here the solution :

I deploy Unison on a dedicated server.
- For more security, user synchronize files using ssh protocol only.
- Authentication to the server are done by openssh-server.
- The username and password are verify by Pam using LDAP (we already have a LDAP server, so it's easier to reuse this server. If you don't you can manage your user using the default user-group management system of Ubuntu).
- The user's home location are determined using the username (e.g. /data/unison/%username/)
- Each user are locked into it's own directory

I provide a WebAccess to the file.
- On the same dedicated server, I install apache2.
- To avoid any development, I reuse the module 'autoindex' to display a list of file.
- Authentication to the HTTP server are done by appache
- Username and password are verify using LDAP
- Each user are locked into it's own directory

- I was looking for a way to upload file to the server using a .cgi or .pl script but it's didn't have enought time to investigate.
- For better look-and-feel, I configure autoindex to use a costomized CSS and icons.

To provide a versionning (I didn't deploy it):
- It's possible to use a backup too that run every night .. The best would be to provide a solution with a product like SNV or bazaard. It's need some investigation.

To provide autosync
- I run in a cronjob the execution of Unison in a batch mode. In some case (advance user), I disable the job.

So far, the complain I have come from the fact that Unison is not user friendly and I agree with this users. Unison really need a revamp. I try my self to do it, but the programing langage is ocaml. I don't have any experience with it and a binding with python or Java seams impossible.