Tuesday, October 10, 2006

NetWare 6.5 Web Services

Today, I had the privilidge if working on a NetWare 6.5 box needed mysql, php, and several other vertual web hosts. I thought I would share some of my thoughts and techniques I used as it seems a lot of people struggle with these services.

Two main structures of apache are as follows
sys:\adminsrv
sys:\apache2

Load scripts for these two main apache instances are located in sys:\system
admsrvup and ap2webup. admsrvup loads the admin server instanced with ap2webup loading the default apache2 service instance.

The Administration Instance of Apache2 on Netware
The main configuration file is located in
sys:\adminsrv\conf\adminsrv.conf
This file controls ports 2200 and 2211
Not too much is done with this configuration. It generally runs out of the box and reinstalling the apache admin instance usually fixes it. Try to refrain from deleting the directory when reinstalling as there are some critical links contianed in the classes which are hard to restore.

The Apache 2 instance
This is the main apache2 service which can be used to run netstorage, ifolder, and other custom web pages as desired.
The main config file is located in sys:\apache2\conf\httpd.conf
Several load statements, listen statements and include statements are all located in this file.

Example real world situation
Customer wanted a regular web page listing on intranet.domain.com(ip x.x.x.10) and a iFolder webpage listening on ifolder.domain.com(ip x.x.x.11)

To accomplish this I created two start config files sys:\system\ap2webup.ncf and sys:\system\startifolder.ncf
ap2webup.ncf calls sys:\apach2\conf\httpd.conf and startifolder.ncf calls sys:\apach2\ifolder\server\ifolder_httpd.conf

The apache instance(ap2webup.ncf) loads into a protected address space because otherwise we would have a conflict between the copy of apache running for iFolder. Also the iFolder instance has to run in the OS address space as xsrv and ncpl need to be able to talk and those two modules have to run in the OS address space.

I made modifications to the apache2 (ap2webup) instance removing the load statements for netstorage, xsrv, and xtier. As these were not required for a normal web server operation. Also, removing these statements allowed the apache2 instance to run in protected memory.

I might post more details on this later.