- OES2 Rolling Cluster Upgrade from NetWare – Part 1 – Installing OES2
- OES2 Rolling Cluster Upgrade from NetWare – Part 2 – Migrating GroupWise
- OES2 Rolling Cluster Upgrade from NetWare – Part 3 – NSS Cluster Resources
- OES2 Rolling Cluster Upgrade from NetWare – Part 4 – iPrint Migration
- 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.
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:
- 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).
- 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:
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.
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: ## Load script (with modifications) ## #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=IFPOOL exit_on_error ncpcon mount IF1=248 exit_on_error add_secondary_ipaddress 10.10.1.137 exit_on_error ncpcon bind --ncpservername=CS1-IF1 --ipaddress=10.10.1.137 exit_on_error /etc/init.d/apache2 restart exit 0 UNLOAD SCRIPT: ## Unload script (with modifications) ## #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error /etc/init.d/apache2 restart ignore_error ncpcon unbind --ncpservername=CS1-IF1 --ipaddress=10.10.1.137 ignore_error del_secondary_ipaddress 10.10.1.137 ignore_error nss /pooldeact=IFPOOL /override=question exit 0