(This article was updated for technical accuracy, and tested, 20100109. I’ve been chasing packages, across URLs, across the ‘Net… Ugh… )
My previous iFolder-related cheat-sheets here on this blog have been reasonably popular (see the ifolder3 category for reference). I get quite a few comments and requests for various configuration alterations and such, but I cannot handle them all. In fact, since I wrote most of my previous articles on iFolder 3.6, I have had a small handful of readers asking me for iFolder 3.7 articles on various server platforms, but I just ran out of time in getting it together for posting the articles before iFolder 3.8 came out. Sorry.
So here we are. And now I didn’t want to delay. Since iFolder 3.8 came out in the last week of November (about a week ago at this writing), I’m eager to get to it without much ado. So let’s jump right in….
For this quick-setup cheat-sheet, we’re going to install and configure iFolder 3.8.0 (32-bit) with a local user database (meaning no ldap, sorry) on an OpenSuse 11.1 server (32-bit) running Apache2 with SSL. Just to repeat, all the examples in this article are on a 32-bit install; it shouldn’t be that hard for you to guess at the 64-bit URLs and such if you need to.
So let’s start with a clean, patched Opensuse 11.1 box (at the time of this writing, iFolder 3.8 server is only supported on Opensuse 11.1). Name resolution is paramount with iFolder, so make sure to edit and validate the hosts file, and be sure that the server’s short and long name (the one you intend to use to reach the iFolder service) are both there with the permanent static address. Here’s a fictitious example of a line in my
2184.108.40.206 test.yourLinuxGuy.com test
Section 1: Install and configure worker-mode apache2 with SSL
If this is a fresh install, make sure you install the worker-mode Apache2 (the docs recommend worker instead of pre-fork). If you already had Apache2 pre-fork, you may or may not want to remove it before continuing, it’s up to you. To install, do this:
zypper in apache2-worker (agree to the packages it requires)
By default, openssl should already be on the machine; so let’s move right on to getting SSL configured. For a full explanation, you can either follow my earlier Apache2/SSL post at: http://yourlinuxguy.com/?p=55, or see the iFolder project SSL support doc “ifolder_ssl.odt“, available from the community site.
Here, for the sake of brevity, I’ll spare you all that; and give you just the cut-and-dried example commands you need to get SSL up and running, without any real explanation (of course, change my certificate example values to suit you). If you follow these, you’ll have a working Apache2 with SSL before we move on to the iFolder part:
/usr/bin/gensslcert -c US -s MI -l "Southfield" -o "Your Linux Guy Test" -e jpavlov@yourLinuxGuy.com -d -n test.yourLinuxGuy.com
vi /etc/sysconfig/apache2(Add SSL to the APACHE_SERVER_FLAGS section)
cp vhost-ssl.template vhost-ssl.conf
vi vhost-ssl.conf(un-comment and change “
ServerName” to match name in
/etc/hosts, and optionally “
ServerAdmin” to your email address)
rcapache2 stop rcapache2 start
vi /etc/sysconfig/SuSEfirewall2(to open ports 80 and 443, set FW_SERVICES_EXT_TCP="80 443")
Section 2: Get and install other support software
(This section was re-vamped after the 2.4 mono stuff got moved all around in the places on which I was relying. In the previous version, I had you configuring a repository for Mono, but now we’re just going to install it all manually.)
The iFolder software needs a supporting cast, since Mono 2.4.x and Simias really do much of the behind-the-scenes work. So, let’s get all that installed. Here is one insanely long rpm command that will get all you need in one shot (except for log4net, which is below that) as long as the packages are still out there at the site. Please let me know if they aren’t…
rpm -Uvh http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/apache2-mod_mono-2.4.3-22.61.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/mono-core-2.4.3-26.7.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/mono-data-2.4.3-26.7.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/mono-data-sqlite-2.4.3-26.7.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/mono-web-2.4.3-26.7.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/i586/mono-winforms-2.4.3-26.7.i586.rpm http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/noarch/xsp-2.4.3-22.27.noarch.rpm zypper in log4net
Section 3: Get and install iFolder 3.8 server
Now it’s time to get the iFolder software installed, which is what we’re here for in the first place (please note that I fixed these URLs too, on 20100109):
mkdir /tmp/ifolder3.8 cd /tmp/ifolder3.8 wgethttp://downloads.sourceforge.net/project/ifolder/iFolder%20Server%20Plugins/3.8.0/11.1/novell-ifolder-enterprise-plugins-220.127.116.1128.1-3.1.i586.rpm?use_mirror=voxel
rpm -Uvh ifolder3-enterprise-18.104.22.16828.1-3.1.i586.rpm rpm -Uvh novell-ifolder-enterprise-plugins-22.214.171.12428.1-3.1.i586.rpm
Section 4: Configure iFolder 3.8
At this point, everything is installed, but nothing really works. You’re almost there, but you need to configure everything. So, I’ve just posted the remaining configuration commands below, but linked the output in linked files to try to keep the clutter down in this post (too late!).
(click here to see example simias-server-setup_output)
(click here to see example ifolder-admin-setup_output)
(click here to see example ifolder-web-setup_output)
Now, all that’s left is to restart Apache2 to actuate the changes:
Now you are done. Go to the admin site at:
…and the general ifolder web site at:
I’ll leave it to you download the client and configure it. I hear it’s cosmetically pretty, but I haven’t seen it yet. Why haven’t I seen it yet? Because of this bonus tidbit: The iFolder 3.7.2 client seems to work with iFolder 3.8 server (at least it does so far!), so I haven’t fully migrated yet. I’m sure there’ll be more on that later. However, the documentation seems to suggest that the opposite will not be the case.
Whew! That was alot. I hope it helps. As always, drop me a line if you find anything wrong in here, or have something to contribute yourself.