Novell Home

AppNote: Multiple instances of iFolder on NetWare Configuration Report

Novell Cool Solutions: AppNote
By Hans-Robert Vermeulen

Digg This - Slashdot This

Posted: 19 Nov 2003
 

Hans-Robert Vermeulen
Consultant
Novell, Inc.
Hvermeulen@Novell.com

Contents

Introduction

This AppNote will go into detail on how run multiple instances of iFolder on the same NetWare server. People running Novell Cluster Services (NCS) and people with large deployments of iFolder will benefit from this configuration.

With the default iFolder configuration, only one instance is allowed to run on any given server. This aproach makes it difficult to find the right balance between the maximum volume size and the amount of hardware (servers) needed to deploy iFolder in medium to large or clustered configurations.

With iFolder 2.1 the configuration has changed so that it now uses the main apache configuration to load iFolder. This means that only one iFolder instance can run at any given time.

Why do we need multiple instances?

iFolder itself is not an extremely resource intensive product. Therefore, companies are more likely to hit the boundaries on their maximum volume size than to run into performance issues with the iFolder server itself. An iFolder server is limited to a single volume for file storage. The maximum size of a volume is an important factor in disaster planning. Having a big volume (>300Gb) is not a problem for NetWare or iFolder, but the amount of time needed to restore such a volume migth not meet Service Level Agreements. The default option would be to buy additional servers to function as separate iFolder servers, just to keep the volume size within limits.

In a cluster even smaller iFolder deployments can be a challenge. If a company have a two-node cluster, they will be limited to one single iFolder server / instance. With the default configuration, iFolder is unable to fail over to the other server if another iFolder instance is already running there.

Configuration

First we have to determine the version of iFolder which will be installed . In this appnote, we will work with iFolder 1.01 and iFolder 2.1. The differences in configuration are minor. Where applicable, we will refer to the iFolder version.

Main configuration differences between iFolder 1.01 and iFolder 2.1

iFolder 1.01 uses the following configuration files:

  • SYS:\APACHE\IFOLDER\SERVER \StartiFolder.ncf
  • SYS:\APACHE\IFOLDER\SERVER \StopiFolder.ncf
  • SYS:\APACHE\IFOLDER\SERVER \HTTPD_ifolder_nw.conf

iFolder 2.1 uses the following configuration files:

  • SYS:\SYSTEM\StartiFolder.ncf
  • SYS:\SYSTEM\StopiFolder.ncf
  • SYS:\APACHE\CONF\ADMINSERV.conf
  • SYS:\APACHE\IFOLDER\SERVER \HTTPD_ifolder_nw.conf

iFolder 1.01 is install per default with NetWare 6. After the installation, startifolder.ncf contains the following line:

LOAD ADDRESS SPACE = IFOLDER APACHE -f SYS:APACHE\IFOLDER\SERVER\HTTPD.CONF

By default, iFolder 1.01 loads iFolder in it's own address space. It also loads an instance of Apache with a iFolder specfic configuration file.

iFolder 2.1 is a separate product. After installation, the startifolder.ncf contains the following lines:

############################################################################
# Example Load Commands
#
# this is an example of how to load iFolder in the iFolder Address Space
##LOAD ADDRESS SPACE = IFOLDER APACHE -f SYS:APACHE\IFOLDER\SERVER\HTTPD.CONF
#
# this is an example of how to load iFolder in without other modules
##LOAD APACHE -f SYS:APACHE\IFOLDER\SERVER\HTTPD.CONF
#
# this is the default load command which load iFolder in the OS Address Space
#  and loads other configured modules in ADMINSERV.CONF. Note that this is 
#  the same as running NVXADMUP on NetWare 6.0
##LOAD APACHE -f SYS:APACHE\CONF\ADMINSERV.CONF
LOAD APACHE -f SYS:APACHE\CONF\ADMINSERV.CONF

The main difference between the two product versions is the address space iFolder is loaded in and the configuration files used.

How to create Separate instances of iFolder

For this two iFolder instances / servers named iFolderA and iFolderB will be used.

Creating the Volumes

The first step will be to create the corresponding volumes for the iFolder user data. After this, we will move the SYS:\APACHE\IFOLDER directory to the newly created volume. From that point on we can change the configuration.

  • Make sure iFolder is installed and running correctly. Verify that iFolder is loaded by typing "Modules ifolder" or "M ifolder" at the server console. You will see if iFolder is loaded and in what address space it is loaded, as shown in the figures below


  • Create an iFolderA and iFolderB volume.

Copying the iFolder data and server files

  • Create an Apache folder on the iFolderA and iFolderB volumes.
  • Copy the SYS:\APACHE\IFOLDER directory to the Apache folder on the iFolderA and iFolderB volume.
  • Note: All Apache modules will remain on the SYS volume. However, I do like to keep the Apache in the path of the iFolder server to minimize configuration changes and to keep the iFolder program and user data clearly separated.

  • Copy the iFolderServerRoot, which is where user data is stored, to the iFolderA and iFolderB volumes. The default installation path is SYS:\iFolder
  • Note: If this is not a newly installed iFolder system, you will need to copy the user data to one of the volumes and create the iFolder directory manually.

  • Copy startifolder.ncf and stopifolder.ncf files to the iFolderA and iFolderB volumes, and rename the original files to keep iFolder from staring during boot.


    • For iFolder 1.01 these files will need to be copied from the SYS:\APACHE\IFOLDER\SERVER directory to the APACHE\IFOLDER\SERVER directory on the iFolder volumes.


    • For iFolder 2.1 these files will need to be copied from the SYS:\SYSTEM directory to the APACHE\IFOLDER\SERVER directory on the iFolder volumes.


  • Edit the Autoexec.ncf and replace the original iFolder startup commands with:
  • SEARCH ADD ifolderA:\apache\iFolder\Server
    STARTIFOLDERA
    SEARCH ADD ifolderB:\apache\iFolder\Server
    STARTIFOLDERB

    Note: iFolder 2.1 will be started by the NVXADMUP command. You do not have to replace anything.

  • With iFolder 2.1, edit the SYS:APACHE\CONF\ADMINSERV.CONF file and remark the line "include SYS:\Apache\iFolder\Server\httpd_ifolder_nw.conf" at the end of the configuration file.


  • Add secondary addresses to the NetWare server to be used with iFolderA and iFolderB.
    You can use the following command to add the secondary address to the server.

    "Add Secondary ipaddress 192.168.2.161"

    Remember to put the command in your AUTOEXEC.NCF.
  • With the command "display secondary ipaddress" you can see all currently assigned secondary addresses.

    As an example we will be using the following addresses:

    • 192.168.2.160 for the NetWare / LDAP server
    • 192.168.2.161 for iFolderA
    • 192.168.2.162 for iFolderB

  • Next, edit the startifolder.ncf.
    On the iFolderA volume, it should read:
    LOAD ADDRESS SPACE = IFOLDERA APACHE -f IFOLDERA:APACHE\IFOLDER\SERVER\HTTPD.CONF
    (The above-mentioned is one line)
    Save this file as STARTIFOLDERA.NCF
  • On the iFolderB volume, it should read:
    LOAD ADDRESS SPACE = IFOLDERB APACHE -f IFOLDERB:APACHE\IFOLDER\SERVER\HTTPD.CONF
    (The above-mentioned is one line)
    Save this file as STARTIFOLDERA.NCF

  • Change the stopifolder.ncf file:
    On the iFolderA volume, it should read:
    UNLOAD ADDRESS SPACE = IFOLDERA APACHE
    #UNLOAD APACHE
    Save this file as STOPIFOLDERA.NCF
  • On the iFolderB volume, it should read:
    UNLOAD ADDRESS SPACE = IFOLDERB APACHE
    #UNLOAD APACHE
    Save this file as STOPIFOLDERB.NCF

    Note: we will remark the unload apache line (only present with iFolder 2.1) because we will only load iFolder in a separate address space and we do not want Apache to be unload each time we need to stop iFolder. This would otherwise cause iManager and other programs depending on Apache to be unloaded as well.

Changing the Apache configuration files

After we have prepared the server, we will have to change the configuration files used with Apache to reflect the correct path to the iFolder server and user files, and to change the IP Address used.

Note: Line numbers only apply if the files have not been modified by hand or by another installed program.

Changing the iFolder 1.01 configuration files

IFOLDERA:APACHE\IFOLDER\SERVER\HTTPD.CONF for iFolder 1.01

Line Original value New value
151 Listen 192.168.2.160:80 Listen 192.168.2.161:80
234 ServerName iFolder ServerName iFolderA
920 SecureListen 192.168.2.160:443 "SSL CertificateIP" SecureListen 192.168.2.161:443 "SSL CertificateIP"
923 Include SYS:\apache\iFolder\Server\ httpd_additions_nw.conf include IFOLDERA:\apache\iFolder\Server\ httpd_additions_nw.conf

IFOLDERB:APACHE\IFOLDER\SERVER\HTTPD.CONF for iFolder 1.01

Line Original value New value
151 Listen 192.168.2.160:80 Listen 192.168.2.162:80
234 ServerName iFolder ServerName iFolderB
920 SecureListen 192.168.2.160:443 "SSL CertificateIP" SecureListen 192.168.2.162:443 "SSL CertificateIP"
923 Include SYS:\apache\iFolder\Server\ httpd_additions_nw.conf include IFOLDERB:\apache\iFolder\Server\ httpd_additions_nw.conf

IFOLDERA:\apache\iFolder\Server\httpd_additions_nw.conf for iFolder 1.01

Line Original value New value
9 <VirtualHost 192.168.2.160:80> <VirtualHost 192.168.2.161:80>
11 ServerName iFolder ServerName iFolderA
13 DocumentRoot "SYS:\apache\iFolder\DocumentRoot" DocumentRoot "IFOLDERA:\apache\iFolder\DocumentRoot"
15 <Directory "SYS:\apache\iFolder\DocumentRoot"> <Directory "IFOLDERA:\apache\iFolder\DocumentRoot">
39 LdapRootCert "SYS:\apache\iFolder\server\RootCert.der" LdapRootCert "IFOLDERA:\apache\iFolder\server\RootCert.der"
55 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERA:\iFolder
78 <VirtualHost 192.168.2.160:443> <VirtualHost 192.168.2.161:443>
80 ServerName iFolder ServerName iFolderA
82 DocumentRoot "SYS:\apache\iFolder\DocumentRoot" DocumentRoot "IFOLDERA:\apache\iFolder\DocumentRoot"
84 <Directory "SYS:\apache\iFolder\DocumentRoot"> <Directory "IFOLDERA:\apache\iFolder\DocumentRoot">
108 LdapRootCert "SYS:\apache\iFolder\server\RootCert.der" LdapRootCert "IFOLDERA:\apache\iFolder\server\RootCert.der"
124 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERA:\iFolder

IFOLDERB:\apache\iFolder\Server\httpd_additions_nw.conf for iFolder 1.01

Line Original value New value
9 <VirtualHost 192.168.2.160:80> <VirtualHost 192.168.2.162:80>
11 ServerName iFolder ServerName iFolderB
13 DocumentRoot "SYS:\apache\iFolder\DocumentRoot" DocumentRoot "IFOLDERB:\apache\iFolder\DocumentRoot"
15 <Directory "SYS:\apache\iFolder\DocumentRoot"> <Directory "IFOLDERB:\apache\iFolder\DocumentRoot">
39 LdapRootCert "SYS:\apache\iFolder\server\RootCert.der" LdapRootCert "LdapRootCert "IFOLDERB:\apache\iFolder\server\RootCert.der"
55 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERB:\iFolder
78 <VirtualHost 192.168.2.160:443> <VirtualHost 192.168.2.162:443>
80 ServerName iFolder ServerName iFolderB
82 DocumentRoot "SYS:\apache\iFolder\DocumentRoot" DocumentRoot "IFOLDERB:\apache\iFolder\DocumentRoot"
84 <Directory "SYS:\apache\iFolder\DocumentRoot"> <Directory "IFOLDERB:\apache\iFolder\DocumentRoot">
108 LdapRootCert "SYS:\apache\iFolder\server\RootCert.der" LdapRootCert "IFOLDERB:\apache\iFolder\server\RootCert.der"
124 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERB:\iFolder

Changing the iFolder 2.1 configuration files

IFOLDERA:APACHE\IFOLDER\SERVER\HTTPD.CONF for iFolder 2.1

Line Original value New value
148 Listen 80 Listen Listen 192.168.2.161:80
231 ServerName iFolder ServerName iFolderA
931 SecureListen 443 "SSL CertificateIP" SecureListen 192.168.2.161:443 "SSL CertificateIP"
934 include SYS:\apache\iFolder\Server\ httpd_additions_nw.conf include IFOLDERA:\apache\iFolder\Server\ httpd_additions_nw.conf

IFOLDERB:APACHE\IFOLDER\SERVER\HTTPD.CONF for iFolder 2.1

Line Original value New value
148 Listen 80 Listen 192.168.2.162:80
231 ServerName iFolder ServerName iFolderB
931 SecureListen 443 "SSL CertificateIP" SecureListen 192.168.2.162:443 "SSL CertificateIP"
934 include SYS:\apache\iFolder\Server\ httpd_additions_nw.conf include IFOLDERB:\apache\iFolder\Server\ httpd_additions_nw.conf

IFOLDERA:\apache\iFolder\Server\httpd_additions_nw.conf for iFolder 2.1

Line Original value New value
5 Alias /iFolder "SYS:/apache/iFolder/DocumentRoot" Alias /iFolder "IFOLDERA:/apache/iFolder/DocumentRoot"
6 Alias /update "SYS:/apache/iFolder/DocumentRoot/update" Alias /update "IFOLDERA:/apache/iFolder/DocumentRoot/update"
8 iFolderApplicationRoot "SYS:\apache\iFolder\Server" iFolderApplicationRoot "IFOLDERA:\apache\iFolder\Server"
10 <Directory "SYS:/apache/iFolder/DocumentRoot"> <Directory "IFOLDERA:/apache/iFolder/DocumentRoot">
46 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERA:\iFolder
47 iFolderUserRoot SYS:\iFolder iFolderUserRoot IFOLDERA:\iFolder
76 iFolderServerDNSorIP 192.168.2.160 iFolderServerDNSorIP 192.168.2.161
77 iFolderUserServerDNSorIP 192.168.2.160 iFolderUserServerDNSorIP 192.168.2.161

IFOLDERB:\apache\iFolder\Server\httpd_additions_nw.conf for iFolder 2.1

Line Original value New value
5 Alias /iFolder "SYS:/apache/iFolder/DocumentRoot" Alias /iFolder "IFOLDERB:/apache/iFolder/DocumentRoot"
6 Alias /update "SYS:/apache/iFolder/DocumentRoot/update" Alias /update "IFOLDERB:/apache/iFolder/DocumentRoot/update"
8 iFolderApplicationRoot "SYS:\apache\iFolder\Server" iFolderApplicationRoot "IFOLDERB:\apache\iFolder\Server"
10 <Directory "SYS:/apache/iFolder/DocumentRoot"> <Directory "IFOLDERB:/apache/iFolder/DocumentRoot">
46 iFolderServerRoot SYS:\iFolder iFolderServerRoot IFOLDERB:\iFolder
47 iFolderUserRoot SYS:\iFolder iFolderUserRoot IFOLDERB:\iFolder
76 iFolderServerDNSorIP 192.168.2.160 iFolderServerDNSorIP 192.168.2.162
77 iFolderUserServerDNSorIP 192.168.2.160 iFolderUserServerDNSorIP 192.168.2.162

Configuring the iFolder servers

Checking the iFolder instances

If everything has been correctly changed reboot the server. After the reboot you can check if both iFolder instances have been correctly loaded by issuing the following commands:

  • "M ifolder" Which will list all iFolder instances and report their address space:





  • "M Apache" Which will list all Apache instances and report their address space: Note you should see three apache modules loaded.

If everything looks good, you should be able to access the iFolder pages on both servers by going to http://iFolderA/iFolder and http://iFolderB/iFolder pages.

Configuring iFolder

iFolder 1.01 does not have the capabilities to combine multiple iFolder servers in a Transparent iFolder Server Pool as iFolder 2.1 does. Therefore, iFolder 1.01 will need to be treated as different systems, whereas iFolder 2.1 can run multiple iFolder servers in the same iFolder system. The next section will therefore handle the iFolder 2.1 configuration.

Go to the https://iFolderA/iFolderServer/Admin page and click on the "Global Settings" icon.

Log in as the iFolder administrator. If this is a new installation, iFolder will now create the necessary iFolder objects and schema extensions. The following screen will appear:

Here you will be able to configure the default settings for the iFolder server, LDAP settings, etc.

Note: For this appnote we will focus on configuring the second iFolder server.

Click on the iFolder Servers tab. The following screen will appear.

Click on the "Add" button

Fill in the fields as follows according to the table below and click Add.

Item Value
iFolder Server Name iFolder_server02    
Public Host DNS or IP  
Port
Secure Port
192.168.2.162
80
443

The two configured iFolder servers can now be configured independently and users can be added.

Cluster configuration

To configure iFolder in a cluster configuration, the following changes will have to be made to the single server configuration:

  • The iFolder volumes will have to be clustered volumes with the IP addresses of the iFolder servers
  • The "add secondary ipaddress" statements must not be inserted into the Autoexec.ncf files
  • The "Search Add" lines will have to be added to each cluster volume load script. The Cluster scripts should look like this:

Load Script

nss /poolactivate=IFOLDERA
mount IFOLDERA VOLID=254
CLUSTER CVSBIND ADD CLUSTER-IFOLDERA-VS 192.168.2.161
NUDP ADD CLUSTER-IFOLDERA-VS 192.168.2.161
add secondary ipaddress 192.168.2.161

Unload Script

del secondary ipaddress 192.168.2.161
CLUSTER CVSBIND DEL CLUSTER-IFOLDERA-VS 192.168.2.161
NUDP DEL CLUSTER-IFOLDERA-VS 192.168.2.161
nss /pooldeactivate=IFOLDERA /overridetype=question


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell