iFolder server on Fedora Core 5 howto

(a german translation of the howto-part can be found here)

Today I saw that the mono project has quitly update the mod_mono and xsp packages. This is quite important for people (or distributions) using apache 2.2 since the old xsp and mod_mono packages had a bug which made them not compile with apache 2.2. This was true for Fedora Core 5, for example. But now the ifolder server can be installed quite easy on Fedora Core 5:

First step: install the ifolder server yum repository

Fortunately the main files you need are already provided as an yum repository, so all you have to do is to add the repository file to /etc/yum.repos.d/*.

Second step: the missing mono packages

There are two ways now:

  • The first one is the “just testing” way: just install the xsp-rpm and the mod_mono-rpm. The disadvantage is now that you have to take care of the date of the files by yourself – so if there is a cirtical bug which gets fixed with the newest version, you have to take care of this by yourself.
  • The second way is to add a mono repository to your system. If you do so your system will be kept up2date by yum automatically, but unfortunately there are some standard mono files of Fedora Core which are replaced by the mono files of the mono-project. To install the repository, download the repository file to /etc/yum.repos.d/*. But don’t blame any Fedora Core guy when you get stuck with these new packages!

Third step: Install

Since we are talking about yum it gets pretty boring here: enter yum -y install ifolder3-server and you’re done.

Fourth step: Checking setup

  • You should change the default admin login and password, located at /etc/simias/bill/Simias.config.
  • You should make sure that the directory /var/www/.config exists and is owned by user and group apache. If not, create it with
    mkdir /var/www/.config
    chown -R apache:apache /var/www/.config
  • Check if mono is still running somewhere – kill it if it’s necessary! This running mono can be a problem whenever you are restarting apache, this is a mono bug in mono version 1.1.13 shipped with Fedora Core 5.

Fifth step: Start and use

(Re)Start your httpd: service httpd restart. You can login as admin and create new users with the admin interface which can be accessed through your preferred web browser: http://localhost/admin
The user interface can be accessed by http://localhost/ifolder
The user web interface was reworked and is very smooth now – have a look at the screenshot-section in the ifolder.com wiki.
The users can also now work with the normal ifolder client, although this one has to have version 3.4 or above.

Sixth step: Troubleshooting

If something goes wrong, first shut down the apache, check that all mono processes are killed, and restart the server. If the problem persists, check the iFolder project wiki section “Troubleshooting”.

Have fun!

10 thoughts on “iFolder server on Fedora Core 5 howto”

  1. This is a strange behaviour from the Novell-people. Once in a while they brake the repo file, and it works again several days later. It happened several times already, and I filled a bug report against it. Unfortunately nothing has changed so far…

  2. Yes, you’re right – I just forgot to write about it after I noticed it because I’m very busy at the moment.
    Additionally it looks like my wlan card is broken, which limits my ability to access the internet to write nice blog entries:/

  3. don’t worry – I just wrote about it!

    still no closer to fixing my broken ifolder server.

    here’s what I did to break it:

    installed mono from latest novell mono.repo
    installed ifolder3-server from the latest build available (end of june-ish)

    -good! working ifolder server.

    updated fc5 (brought in all updates since march)

    – this reverted mono to an earlier version.
    – which broke ifolder-server.

    installed mono from latest novell mono.repo, followed troubleshooting steps on novell wiki, restarted apache

    – still broken ifolder.

    Tried removing all of the above and starting from scratch. end result is still a broken ifolder-server. Cannot log in on the admin side (error: Your session has been closed. Please log in) ; on the user side, exception raised (pasted below)

    Any readers of this blog got a clue ?

    Exception Message: Content is not ‘text/xml’ but ‘text/html; charset=us-ascii’
    Response error message:

    Error 500Server error in ‘/simias10’ application

    Description: Error processing request.

    Error Message: HTTP 500.

    Stack Trace:

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for Simias.Web.Global ---> Simias.SimiasException: Cannot locate configuration file: /var/lib/simias/Simias.config
    at Simias.Configuration..ctor (System.String storePath, Boolean isServer) [0x00000]
    at Simias.Storage.Store.Initialize (System.String simiasStorePath, Boolean isServer, Int32 port) [0x00000]
    at Simias.Web.Global..cctor () [0x00000] --- End of inner exception stack trace ---

    at <0x00000> <unknown method>
    at ASP.Global_asax..ctor () [0x00000]
    at <0x00000> <unknown method>
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[])
    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] --- End of inner exception stack trace ---

    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000]
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000]
    at System.Web.HttpApplicationFactory.FireOnAppStart (System.Web.HttpContext context) [0x00000]
    at System.Web.HttpApplicationFactory.GetApplication (System.Web.HttpContext context) [0x00000]
    at System.Web.HttpRuntime.RealProcessRequest (System.Object o) [0x00000]

    Exception Type: System.InvalidOperationException
    Exception Site: Void InvalidOperation(System.String, System.Net.WebResponse, System.Text.Encoding)
    Exception Source: System.Web.Services

    Exception Stack:

    System.InvalidOperationException: Content is not ‘text/xml’ but ‘text/html; charset=us-ascii’
    Response error message:

    Error 500Server error in ‘/simias10’ application

    Description: Error processing request.

    Error Message: HTTP 500.

    Stack Trace:

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for Simias.Web.Global ---> Simias.SimiasException: Cannot locate configuration file: /var/lib/simias/Simias.config
    at Simias.Configuration..ctor (System.String storePath, Boolean isServer) [0x00000]
    at Simias.Storage.Store.Initialize (System.String simiasStorePath, Boolean isServer, Int32 port) [0x00000]
    at Simias.Web.Global..cctor () [0x00000] --- End of inner exception stack trace ---

    at <0x00000> <unknown method>
    at ASP.Global_asax..ctor () [0x00000]
    at <0x00000> <unknown method>
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[])
    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] --- End of inner exception stack trace ---

    at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
    at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000]
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000]
    at System.Web.HttpApplicationFactory.FireOnAppStart (System.Web.HttpContext context) [0x00000]
    at System.Web.HttpApplicationFactory.GetApplication (System.Web.HttpContext context) [0x00000]
    at System.Web.HttpRuntime.RealProcessRequest (System.Object o) [0x00000]

    at System.Web.Services.Protocols.WebServiceHelper.InvalidOperation (System.String message, System.Net.WebResponse response, System.Text.Encoding enc) [0x00000]
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiveResponse (System.Net.WebResponse response, System.Web.Services.Protocols.SoapClientMessage message, System.Web.Services.Protocols.SoapExtension[] extensions) [0x00000]
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000]
    at iFolderWeb.GetAuthenticatedUser () [0x00000]
    at (wrapper remoting-invoke-with-check) iFolderWeb:GetAuthenticatedUser ()
    at Novell.iFolderApp.Web.Login.DoLogin (System.String username, System.String password, Boolean check) [0x00000]

  4. Well … upon investigation all the flaim stuff in /var/lib/simias wasn’t restored. To fix it, I removed the flaim packages and ifolder3-server, removed the empty directories left behind and yum install’ed the lot again. That fixed it but I don’t suppose it’s ideal in production; good job I was only testing the software before that and didn’t have any data loss.

  5. Unfortunately the ifolder-repo does not work any longer for fedora. The “current” directory on the server does only contain files for Novell’s own distros…

Comments are closed.