OES2 Rolling Cluster Upgrade from NetWare - Part 5 - iPrint Web Code Migration to OES2 Linux


OES2 Rolling Cluster Upgrade from NetWare – Part 5 - iPrint web code migration to OES2 Linux





This is the last in my series of OES2 Rolling cluster upgrade from NetWare. The setup we had was a NetWare 6.5.8 cluster where we had copied the entire iPrint web code on Apache to a clustered NSS volume. We then adjusted the NetWare Apache code to use that clustered NSS volume as its document root.

However, when converting to OES2 Linux, Apache has to be clustered differently. While there is no migration utility for the actual iPrint Map code (meaning there's an iPrint map generator utility that makes HTML “maps” for your iPrint printers to be used). And we did not have the time to install iPrint on OES2 and regenerate maps for the 13 floors of our building. As such, we decided to take the EXISTING NetWare iPrint map code and NSS volume and simply tell Apache on OES2 to use that existing cluster resource.

Cluster Resources

Since this is a rolling cluster upgrade, this is one part of the upgrade process that could not be run on the OES2 nodes. So we saved this for last. Basically we had an NSS cluster resource that simply ran a separate instance of Apache on NetWare. Prior to migrating our very last NetWare server, we had to take the following into consideration:

    1. Because we are going to run an Apache virtual host for the iPrint web code, we could NOT run this cluster resource on a cluster node that had iPrint installed on it (this is due to the nss relocate scripts and also because of changes to Apache that iPrint already makes).


    1. We needed to create an Apache virtual host before migrating the NSS cluster resource.

Our existing iPrint resource is called: CS1-IF1

We also use this iPrint web server to run a “download” website for our users.

Cluster Node preparation

We chose 3 servers that did NOT host iPrint. We then chose the primary node and located the following file:


We're going to copy that file to:

(ie, this is basically changing the name of the file and it's location).

We will then adjust the myhost.conf file to fit our needs.

The key items to change:

<VirtualHost *:80> section

We need to change:


And the:

<Directory> statements

Now we go on to the <Directory> definitions

We define the paths for the software depot and the iPrint map pages up above.

Because the data is on an NSS volume, we need to give rights to the Apache user to access this data.

You can use the Novell Client, iManager, etc. to give rights.

You want to grant the wwwrun user RF rights to the directories defined in the conf file above.


Subsequent Node Installations:

Simply copy the adjusted myvhost.conf to the subsequent cluster node's:

Then restart Apache on the cluster node.

You shouldn't have to assign the file rights but once because we've assigned rights to the CLUSTERED resource.

Cluster Scripts:

Apparently the key is to make sure you restart Apache AFTER loading the cluster resource (so it “sees” the /media/nss/WHATEVER volumes). You also have to restart Apache AFTER removing stuff so it doesn't freak out in your unload scripts:

## Load script (with modifications) ##
. /opt/novell/ncs/lib/ncsfuncs

exit_on_error nss /poolact=IFPOOL
exit_on_error ncpcon mount IF1=248

exit_on_error add_secondary_ipaddress
exit_on_error ncpcon bind --ncpservername=CS1-IF1 --ipaddress=

exit_on_error /etc/init.d/apache2 restart

exit 0

## Unload script (with modifications) ##
. /opt/novell/ncs/lib/ncsfuncs

exit_on_error /etc/init.d/apache2 restart

ignore_error ncpcon unbind --ncpservername=CS1-IF1 --ipaddress=
ignore_error del_secondary_ipaddress

ignore_error nss /pooldeact=IFPOOL /override=question

exit 0


How To-Best Practice
Comment List
Related Discussions