How do I set up iFolder 3.8 on Opensuse 11.1?

(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….

Preparation

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 /etc/hosts:
290.32.2.14 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)
cd /etc/apache2/vhosts.d/
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")
rcSuSEfirewall2 restart

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
wget http://downloads.sourceforge.net/project/ifolder/iFolder%20Server%20Plugins/3.8.0/11.1/novell-ifolder-enterprise-plugins-3.8.0.9328.1-3.1.i586.rpm?use_mirror=voxel
wget http://downloads.sourceforge.net/project/ifolder/iFolder%20Server/3.8.0/11.1/ifolder3-enterprise-3.8.0.9328.1-3.1.i586.rpm?use_mirror=voxel
rpm -Uvh ifolder3-enterprise-3.8.0.9328.1-3.1.i586.rpm
rpm -Uvh novell-ifolder-enterprise-plugins-3.8.0.9328.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!).

/usr/bin/simias-server-setup
(click here to see example simias-server-setup_output)

ifolder-admin-setup
(click here to see example ifolder-admin-setup_output)

ifolder-web-setup
(click here to see example ifolder-web-setup_output)

Now, all that’s left is to restart Apache2 to actuate the changes:
rcapache2 restart

Conclusion

Now you are done.  Go to the admin site at:
https://<servername>/admin
…and the general ifolder web site at:
https://<servername>/ifolder

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.

8)

24 Comments

  1. Eric

    Thanks alot! 🙂

  2. Stan Chelchowski

    Thank you, Jeremy

    I hope to give it a go this Sunday

    Season’s Best Wishes!

    Rgds.

  3. Ravi

    A lot of them are struck with setting up Apache SSL . You might want those steps too. This is a very good doc to start off.

  4. Jeremy Pavlov

    @Ravi

    Thanks for that. I actually did include all the commands you need to get SSL up and going (with Apache *and* iFolder) above, but I’ve since changed the wording a tad to make it more understandable. Also, I’ve included links to one of my earlier explanations on setting up SSL on Apache, and to the iFolder community doc which offers the Yast-based method.

    Somewhere in all that, I hope we have it covered!

    8)

  5. Louis

    Hi I followed the guide and got most of it configured. I am now sitting with a situation that no matter what I make the admin username and password the https://ifolder/admin page won’t accept the credentials. Anyone come across this before?

  6. Jeremy Pavlov

    @Louis

    I’ve seen that before in the Novell forums, and even had it happen to me once. It can be caused by a couple things, like perhaps SSL isn’t setup correctly, of the name resolution (short or long) don’t match between what you named the server and what you configured iFolder with. The time it happened to me, it was because I ran the admin setup and forced SSL, but my SSL wasn’t working 100%. I suggest re-running the admin setup with non-SSL, and see if that gets you logged in at least… then you know what’s at fault. If not that, then go back and make sure the naming is consistent all the way through…

    8)

    – Jeremy

  7. Christian

    Jeremy,

    Thank you for the detailed hwoto.
    Unfortunately, in my setup it did not work. I followed every step and I was not able to log in as an admin.
    As you pointed out above, I thought my issue had something to do with SSL so I set up simias, web, and admin without using SSL at all and I still can not log in as admin.
    cat /iFolder/simias/log/Simias.log shows:

    2009-12-10 17:05:00,936 [-79013616] INFO Simias.Storage.Provider.Provider – Created new store /iFolder/simias.
    2009-12-10 17:05:01,658 [-79013616] ERROR Novell.Journaling.JournalService – Exception in Journal processEvent Object reference not set to an instance of an object at Simias.Storage.Identity.get_Credential () [0x00000]
    at Simias.Storage.Identity.get_PublicKey () [0x00000]
    at Simias.Storage.Store..ctor () [0x00000]

    This error repeats all the time.

    Any idea where to go from here?

    Regards,

    Christian
    Dearborn, MI

  8. Jeremy Pavlov

    @ Christian

    Thanks! Hmm… that’s a toughie…. If I had to guess, I’d have to say you got stuck with mono 2.0.x stuff instead of 2.4.x…. Do this and see what you get:
    rpm -qa |grep -i mono

    When I run it, I get these:
    mono-data-sqlite-2.4.2.3-1.1
    apache2-mod_mono-2.4.2-8.3
    mono-data-2.4.2.3-1.1
    mono-winforms-2.4.2.3-1.1
    mono-core-2.4.2.3-1.1
    mono-web-2.4.2.3-1.1

    If you have the 2.0.x stuff, you probably got it because you didn’t use Yast (where you could see the versions) and you just dumped them in with zypper. How do I know? Because that’s how I did it the first time… 😉 Then I just had to force remove all the 2.0.x stuff, and replace it with the 2.4.x stuff… with Yast… Hence my caveat and warnings above…
    😀

  9. Christian

    Jeremy,
    Thank you very much for the prompt answer !!!
    All the mono packages are 2.4.2

    Some forums talk about permission issues. One of the is that wwwrun:www can not access /var/lib/wwwrun. That did not help me as well as changing the permissions on /etc/apache2
    Do you think there is another folder that needs the proper permissions?

    Would you recommend trying to install 11.1 and then iFolder? I am currently working on an up to date install of 11.2 without gnome or kde.

    I will keep trying and I will let you know what I find.
    Thank you again for your help and let me know if you have any suggestions.

    Regards,

  10. Christian

    Jeremy,

    It works just fine in opensuse 11.1 after I followed the same steps that I followed with 11.2.
    There must be something different between the 2 releases of opensuse that interferes with iFolder.

    I will try to compare them tomorrow (both VM are running now)

    Thank you for your help

  11. Jeremy Pavlov

    @Christian

    Thanks for the follow-up! Glad to hear you got that solved.

    Yes, it’s true… Opensuse 11.1 is the only version of the OS on the server side that is currently supported at the time of this writing, at least according to the compatibility matrix provided by the iFolder 3.8 team.

    🙂

  12. Christian

    oops,

    I didn’t know that only opensuse 11.1 is compatible with iFolder 3.8. That explains a lot of things.

    Well, I will stick to the 11.1 version for now.

    Thank you very much for your help !!!

  13. Roger

    Hi,Jeremy:

    Follow your steps to setup iFolder3.8,it works fine.
    thanks your perfect post!!

  14. Christian

    Jeremy,

    Happy New Year !!!

    I tried it today on a fresh install of OpenSUSE 11.1 64 bit. The Mono repo in the instructions installs Mono 2.6 and later in the procedure I got and this error:

    /usr/lib/apache2/mod_mono.so: wrong ELF Class ELFCLASS32 (when trying to config the admin server)

    I went back and modified the repo to point to:

    http://download.opensuse.org/repositories/Mono:/2.4/openSUSE_11.1/

    And I installed Mono 2.4. With Mono 2.4, it works perfectly.

    Thank you for the HowTo.

    Regards,

    Christian

  15. Jeremy Pavlov

    @Christian

    Whoa! Thank you for that. The 2.6 stuff wasn’t there when I originally did this, but I guess it is now.

    Actually, after looking into it, it looks like all the 2.4 stuff is gone from both the URL I posted *and* the one you posted…? I’l have to look in to this… more to follow…

    🙂

  16. maximof

    Hi Guys greate walkthrough but cant find mono 2.4 please help thanks.

  17. Jeremy Pavlov

    @maximof

    Yep, it appears that the 2.4 stuff has recently dis-appeared (see the comment from Christian right above yours).

    I’ll have to look in to it and report back. If anyone has a link to the 2.4 stuff (I should have saved it!)… or, if any of you have tried it with 2.6, let me know….

    Thanks!

  18. Christian

    Jeremy,

    yes, it seems a little messy there. I guess that it worked for me because I am using the x86_64 folder that still has mono 2.4 rpms:

    http://download.opensuse.org/repositories/Mono:/2.4/openSUSE_11.1/x86_64/

    The noarch and i586 folders have new stuff in them.

    Do you know a way to tell them (repo admins) that the repos are mixed up?

    Thank you for you great help !!!

  19. Christian

    PS: mono 2.6 did not work for me using opensuse 11.1 x86_64.

  20. Jeremy Pavlov

    @Christian

    I see now that you were looking in the “Mono:” repo, while I was looking in “Mono” (no colon).

    Either way, maybe this will be a better place to get the 2.4.x line:

    http://ftp.novell.com/pub/mono/archive/2.4.3/download/openSUSE_11.1/

    As you can see, that’s the 2.4.3 version, but if you walk up the URL you’ll find the archive store of the previous versions….

    Anyway, I believe I now have the correct locations of the correct Mono versions, etc., etc…. And, I just did a build to test it all.

    Thanks again for the heads-up, and I hope it all works better for everyone.

    🙂

  21. Kenneth Voort

    I can confirm that 11.2 will not work. I followed the instructions exactly, with both 11.2, and then 11.1, and only the latter worked.

    Thanks for the awesome howto!

  22. Stephen W

    From start to finish and step by step instructions, this is the howto to follow. Thank you very much. Now I wish there was an easy way to update iFolder 3.7.2 to iFolder 3.8.

  23. Sontaya

    I used openSUSE11.2 Installed already But can’t login.

    https://hostname.domain/admin

    https://hostname.domain/ifolder

  24. Sontaya

    It worked. I have solution

    I will bee post on http://www.susethailand.com/suseforum/ as soon.

Leave a Comment

Your email address will not be published.