Sponsors / Advertising
iFolder walkthrough by daniellench is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at www.daniellench.com
We all love Dropbox, it’s an awesome service that allows you to have all files synchronized. There is are not many self-hosted alternatives for this, maybe Unison File Synchronizer or Lsyncd come close, but the first is not stable, does not use a server and the latter is not available on Windows.
Therefore only 1 solution remains: iFolder is great, it aims for Enterprise customers and has a lot of features for businesses. It allows for synchronization like Dropbox, but with more configuration options and you can run your own back-up system on the server. It has a nice admin area where you can set permissions, rights, etc. and you could even offer your parents, friends a synchronized folder and easily add a folder to their iFolder account.
The following howto will explain you how to host a self-hosted Dropbox, I recommend using a separate virtual machine for this so you can restart the howto and reinstall the virtual machine, recover a snapshot, when you found out that skipping steps won’t work. 256MB memory should be sufficient. I recommend making snapshots during the process. Following this entire howto takes about 30 minutes.
Contents
Warnings
- You will want to use OpenSUSE 10.3, OpenSUSE 10.4 will not work well.
- You should download both the latest version of iFolder server and client. This is 3.8.0.4 and not 3.8.0.0.
- Use the 3.8.0.3/4 clients from Sourceforge!!! 3.8.0.0 will not work!
Lets begin!
Introduction
After running an iFolder server on ubuntu for a year, the machine died. A new version of iFolder was available and I have been liking openSuSE so much better than ubuntu lately. For an iFolder server it seems like a no brainer since Novell is a major sponsor of openSuSE and iFolder so they play together nicely and you have these great things called “one-click install”. YAST is awesome and the general look and feel is a bit more thought out and user friendly than ubuntu.In this guide there are some things are done in YAST and others in the terminal. I like YAST for installing software because I can see the version and the repo, and you can cancel if you like. The terminal is a must for other things but the entire install could be done in the terminal if you know how.I own a Mac, have administered windows machines since 2000 and have been using linux since 2004. That being said I still consider myself a linux newb however I’m learning quickly. I take no responsibility for any damage to data or property, back it up!This guide assumes that you have a general working knowledge of computers and have at least played around with linux namely openSuSE which is available from http://www.opensuse.org.System requirements will depend on how many users access the iFolder server, the speed of your network and how often items are changing. I am a home user running openSuSE 11.3 64bit on a Xen virtual machine with one 2.4GHz processor, 512mb ram, 1TB storage on a raid5 LVM allocated to it and no desktop, just the shell minimal server install. The host is running OpenSuSE 11.3 64bit on a Core 2 Quad Q6600 Kentsfield 2.4GHz 2 x 4MB L2 Cache, Cooler Master Silent Pro M 600W PSU, Asus P5QL-CM motherboard, 4GB PC6400 DDR2. It has 2@250gb hard drives in a raid1 array for the OS and 3@2TB WD Green drives (6TB) in a raid5 array (4TB) and a LVM on top of that for the VMs and additional storage, GNOME desktop (with all visual effects) accessing HULU and the rest of the internet as well as being the media server for the house and an FTP/Samba server for personal use. It sits in a cabinet under the TV hidden away in a black Silverstone LC13-e case. I use SSH and FreeNX to remotely administer the machine. It has bluetooth and a Logitech PlayStation 3 Cordless MediaBoard Pro. Two users are syncing around 350GB between 5 machines and it is an active DVR and everything is fine.
Your FQDN may or may not include the ‘www’ prefix and your installation needs to reflect this. If you browse to your domain name with ‘www’ and it stays there then use it. If it does not then don’t use it. If both work, pick one and stick with it. I prefer not to use the ‘www’ prefix for all my sites. Your SSL cert should reflect the correct FQDN.
File or folder move operations are handled as if the file was deleted and then uploaded again. Renaming is handled just as a rename function. Basically if you move something expect a high bandwith cost for the operation.
Windows users watch out for long filenames. Files cannot exceed a path and filename exceeding 256 characters or you will get errors in syncing. (needs verifying)
Prerequisites
I know this is linux, if I say reboot please reboot. It is just easier in the long run. If you know what you are doing then thank you.Download and install openSUSE 11.3 here: http://software.opensuse.org/113/en with GNOME (or KDE) as Desktop Environment (DE) (a DE is not required, but easy when needing to manage the system.). As iFolder utilizes Mono, GNOME seems a natural choice.During partitioning you may want to edit the default configuration and NOT create a separate home partition.
Turn off the firewall either during the setup or in Yast. Security and Users after the install.
After install, open terminal. As root (that’s what this ‘#’ means) ensure ssh starts at boot (only if you need ssh).
# chkconfig sshd on
Yast configuration
Network Settings > Global Options
- Disable IPv6 if not used
- Network Settings > Overview
- Edit your interface so it has a static ip
- Network Settings > Hostname/DNS
- Edit to match your configuration
Software Management
Remove the following
- beagle
Add the following
- kernel-source
- gcc
- gcc-c++
- apache2-prefork
- apache2-utils
- apache2-mod_mono
- mono-core
- mono-data
- mono-data-sqlite
- mono-web
- mono-winforms
- libapr-util1
- libapr1
- libflaim
- log4net
- xsp
- yast2-http-server
- nano (optional)
Close Yast
REBOOT
Configure Apache
Open terminal and check that your hostname is correct (it’s in the prompt) and check for updates.# zypper ref# zypper up
In the terminal, generate an ssl cert (5 year) using the FQDN of the iFolder Server.
# gensslcert -Y 1825 -n FQDN -e EMAIL@EXAMPLE.COM
Open Yast > HTTP Server module that was added (yast2-http-server). Using the defaults is fine here. Click Finish.
In the terminal, enable the apache2 modules that are needed.
# a2enmod ssl
# a2enmod mono
# a2enmod rewrite
In the terminal, ensure apache2 starts at boot then start it.
# chkconfig apache2 on
# rcapache2 start
In the terminal, set up the apache2 vhost-ssl.conf.
# cp /etc/apache2/vhosts.d/vhost-ssl.template /etc/apache2/vhosts.d/vhost-ssl.conf
Edit the /etc/apache2/vhosts.d/vhost-ssl.conf file and ensure the FQDN of the iFolder server is present as the ServerName in the file.
ServerName FQDN:443
Edit the /etc/hosts file and ensure the FQDN and the HOSTNAME of the iFolder server is present in the file. PUT BOTH!
127.0.0.1 localhost HOSTNAME
127.0.0.1 FQDN HOSTNAME
Edit the /etc/sysconfig/apache2 file and ensure APACHE_SERVER_FLAGS=”SSL” is present in the file.
iFolder Server Install
Go to: http://software.opensuse.org/search.
Change your release version to OpenSuSE 11.3 before you search. Search for and ’1-Click Install’ the following two items.
- ifolder3-enterprise (29MAR2011 using snapshot_snapshot)
- novell-ifolder-enterprise-plugins (29MAR2011 using server_snapshot)
- ifolder3-enterprise – http://software.opensuse.org/search?q=ifolder3-enterprise&baseproject=openSUSE%3A11.3&lang=en&exclude_debug=true
- novell-ifolder-enterprise-plugins (use the server snapshot with the same version of the ifolder3-enterprise eg. 3.8.4) – http://software.opensuse.org/search?q=novell-ifolder-enterprise-plugins&baseproject=openSUSE%3A11.3&lang=en&exclude_debug=true
You can also run a oneclick from terminal by running the following. Include the quotes.
# su -c “OCICLI url of the file.ymp”
Currently these are (but please verify at http://software.opensuse.org/ before using):
# su -c "OCICLI http://software.opensuse.org/ymp/network:ifolder:server_snapshot/openSUSE_11.3/ifolder3-enterprise.ymp"
# su -c "OCICLI http://software.opensuse.org/ymp/network:ifolder:server_snapshot/openSUSE_11.3/novell-ifolder-enterprise-plugins.ymp"
REBOOT
iFolder Server Setup
# rcapache2 restart- The default data path is ‘/var/simias/data’. You may want to store the iFolder data in another location. You can change the default path or you can modify the mount point on another partition, drive or LV.
- The FQDN of the iFolder server for BOTH public and private addresses: ‘https://FQDN/simias10′
- System name & description can be modified to suite your needs
- If you have an LDAP(v3) source for provisioning users, go ahead select Y (yes) for LDAP, otherwise choose N (no) to set up a local user store. If you don’t know what LDAP is, choose N (no)
- Configure apache – YES!
- Other settings are default values
Run the Simias Server Setup
# simias-server-setup
Check the owner and group of the Simias data store
# chown -R wwwrun:www /var/simias/ (or the path you entered)
Restart apache and check for errors
# rcapache2 restart
Run the iFolder web interface setups and restart apache
# ifolder-admin-setup
# ifolder-web-setup
# rcapache2 restart
Have lots of fun!
iFolder User Setup
Go to ‘https://FQDN/admin’ or ‘https://localhost/admin’ and:
- login with the admin credentials
- create a new user
- set the user’s home server
- click save
- look around
iFolder System Testing
Go to ‘https://FQDN/ifolder’ or https://localhost/ifolder’ and:
- login with the new user
- create a new ifolder
- look around
iFolder Client Install
Get your client from http://sourceforge.net/projects/ifolder/files/. Install it and enter the address for the server as well as your credentials. I do not choose to create my default iFolder because I want to pick the folders already existing on my computer.
If you are syncing different platforms and or multiple machines, you can setup an iFolder client and do an initial sync on one machine (preferably local to the server if applicable) then copy the physical files with an external drive or other way to the additional machine, using the SAME FOLDER NAME, and tell the client on the new machine to ‘Merge’ the folder. This will not do a complete upload/download of the files but will compare the files saving you bandwidth and time. You may see files with ‘Conflicts’ that need to be resolved when doing this. Use the ‘Resolve’ button in the iFolder client to manually compare the file name, size and date. Usually they are the same. You can choose to sync to the ‘Local’ or ‘Server’ version of the file. If I do a merge like stated above, I will use the ‘Server’ version.
iFolder Troubleshooting
First of all ask yourself this. Is this iFolder server in production or is it a preproduction /test server. For production machines in use be careful to protect the simias data folder!!!
For preproduction/test servers that are having troubles with the initial setup and configuration try to delete the simias directory on the server.
# rm -r /var/simias/
The below items are found in the “Configure Apache” section above
- Recheck your /etc/hosts file for proper configuration
- Recheck your /etc/apache2/vhosts.d/vhost-ssl.conf for proper configuration
- Recheck your /etc/sysconfig/apache2 file for proper configuration
- Restart apache
The below items are found in the “iFolder Server Setup” section above
- Run simias-server setup
- Check your simias folder owner and group
- Run ifolder-admin-setup
- Run ifolder-web-setup
Important: Use the 3.8.0.3 clients from Sourceforge!!! 3.8.0.0 will not work!
You can check the exact version of the client in Windows C:\Program Files\iFolder. Right-click on iFolderApp.exe > properties > details tab. Make sure its 3.8.0.3 or higher If its 3.8.0.0 you need to uninstall it, delete the simias directory in %appdata% in winxp or %localappdata% in vista/7 and install the correct version
Appendix
You can check the exact version of the client in Windows “C:\Program Files\iFolder”. Right-click on iFolderApp.exe > properties > details tab. Make sure its 3.8.0.3 or higher. If its 3.8.0.0 you need to uninstall it, delete the simias directory in %appdata% in winxp or %localappdata% in vista/7 and install the correct version on the iFolder Server.
WARNING – This will delete all simias server data as well as all local users and their files! If you run the simias-server-setup and type something incorrectly, remove the local simias data store before rerunning (command is for the default location)
#rm -r /var/simias/
OpenSuSE
# rm -r /home/user/.local/share/simias/
OS X
# rm -r /Users/user/.local/share/simias/
Windows Vista-7
delete %localappdata%\simias
Windows XP
delete %appdata%\simias
Resources
iFolder files - http://sourceforge.net/projects/ifolder/files/
iFolder Administrator Guide – http://ifolder.com/docs/ifolder38_admin.pdf
iFolder Community – http://community.kablink.org/
iFolder client files – http://sourceforge.net/projects/ifolder/files/
irc – irc.freenode.net #ifolder
ifolder3-enterprise – http://software.opensuse.org/search?q=ifolder3-enterprise&baseproject=openSUSE%3A11.3&lang=en&exclude_debug=true
Hi, I have tryed this but have som configuration errors, on my website due to following your site.
I can not have several websites on the same server and the client program will not work anymore.
KingLear:
Can you show me more information? Errors, what is not work? Can you post logs on pastebins?