webaccess on apache
Transcription
webaccess on apache
Installing GroupWise WebAccess with Apache/Tomcat on NetWare By: Jim Michael, Novell Support Connection Sysop Introduction This guide describes the necessary steps to get GroupWise WebAccess running with Apache/Tomcat on NetWare 5.1. Because Tomcat is not a “supported” servlet engine for WebAccess it is largely a manual configuration, but straightforward nonetheless. The following instructions assume no knowledge of Tomcat or Apache, and will guide you step-by-step through getting everything installed. If you are already familiar with Apache/Tomcat and have them installed and working on your NetWare server, you can skip forward to the Install WebAccess section. The basic steps are as follows: 1) 2) 3) 4) 5) Upgrade the NetWare JVM if necessary Install Tomcat and test Install Apache, integrate it with Tomcat and test Install and configure the WebAccess servlets Run it! The remainder of this guide will detail each step, but before we dive in I must alert the reader to one caveat regarding WebAccess on Tomcat: At the time of this writing, WebAccess on Tomcat is unsupported by Novell, so use it at your own risk. That said, it is quite stable in my experience. To avoid confusion, I will be using the following conventions throughout this guide: <tomcat> in a path indicates the Tomcat “root”. That is, the directory off of sys: that Tomcat was extracted to. <server> in a URL indicates either your web server’s IP address or DNS host name, whichever is appropriate, eg http://<server> could be http://www.yourcompany.com or http://192.168.1.50. Upgrade the JVM Running WebAccess on Tomcat requires the NetWare JVM version 1.2.2 or later, and has been sucessfully tested with the 1.2.2 through 1.3.1 JVMs. Unfortunately, this brings up another potential caveat: Upgrading the JVM from 1.1.7x to a newer version may cause other NetWare applications that rely on Java to malfunction. For example, ZENworks for Desktops and ZENworks for Servers seem to be particularly sensitive to the JVM version they run against. Consequently, I don’t recommend installing WebAccess with Apache/Tomcat to a server on which you have other Java-dependent applications running without first testing that configuration thoroughly in a nonproduction environment. 1 If you need to upgrade the JVM, download it from http://support.novell.com. With any of the available NetWare JVMs, installation is as simple as stopping the current JVM by typing java –exit at the server console, then running the JVMxxx.EXE from a Windows workstation and following the prompts. After the installation completes, type java to load the new JVM. Verify the version by typing modules java at the console. Install and Test Tomcat Tomcat is developed under the umbrella of the “Jakarta” project, which encompasses many Java-based projects, and is the reference implementation of the Java Servlet and JavaServer Pages technologies. At the time of this writing Tomcat 3.x is at release version 3.3.1, and can be downloaded from http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3.1/bin/ Note that Tomcat version 4.x is also released. This is a completely different animal than the 3.x codebase, and this document does not cover running WebAccess on the 4.x versions at all. Download jakarta-tomcat-3.3.1.zip. If there is a later released 3.x version of Tomcat on the site, download that. Beware that the Apache and Jakarta web sites have been known to change their structure periodically. If you can’t get to the above URL, search your way through http://jakarta.apache.org to find the Tomcat binaries. Oh, and while you’re at the site, go ahead and download MOD_JK.NLM from http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3.1/bin/netware/i386/ This is the connector that allows Tomcat to plug into the Apache web server, which we will cover in the next section. 2 Expand jakarta-tomcat-3.3.1.zip (or whatever version you downloaded) to the root of the SYS: volume on your NetWare server. Assuming you are installing version 3.3.1, the file should expand to the following directory structure: sys:\jakarta-tomcat-3.3.1 \bin \conf \docs \lib \logs \modules \native \webapps The \bin directory contains Tomcat startup scripts for Unix and Windows. Since none of these apply to NetWare, it can be safely ignored. The \conf directory contains Tomcat configuration files as well as Apache and NES integration files. The \docs directory contains Tomcat documentation, and can be safely ignored for the purposes of running WebAccess. The \lib directory contains Tomcat .jar files critical to its operation. The \logs directory contains log files that Tomcat writes out during operation. Tomcat logging is completely configurable via the \conf files. The \native directory contains Tomcat web server connector source code, and can be ignored for the purposes of running WebAccess. The \webapps directory is where all the action takes place. This is where the WebAccess servlets will ultimately be installed (to a “container” beneath this directory to be precise.) Configure Tomcat The first order of business is to create a Tomcat startup file, in the form of the familiar NetWare “ncf” file. Start by creating sys:\system\tomcat.ncf in any text editor, and add the following commands: envset TOMCAT_HOME=<tomcat> envset TOMCAT_CLASSPATH=$TOMCAT_HOME\lib\tomcat.jar java -nsac -snTomcat -envCWD=$TOMCAT_HOME -classpath $TOMCAT_CLASSPATH Dtomcat.home=$TOMCAT_HOME org.apache.tomcat.startup.Main -f $TOMCAT_HOME/conf/server.xml %1 You will need to modify the TOMCAT_HOME variable to reflect the correct Tomcat path. In our example install, this is sys:\jakarta-tomcat-3.3.1. The envset commands should each be on a single line, not wrapped as they may appear in this text. The Java load command should be on a single line as well. This startup file tells Tomcat where to find its class libraries, and loads it into the JVM with its own NetWare console screen titled “Tomcat.” This will give Tomcat its own 3 home on the server console, and will keep runtime messages from cluttering up the main console. You should now be able to load Tomcat with the following commands: java tomcat Wondering how to stop or restart Tomcat? This can be done two ways. To unload just the Tomcat engine use the following command (assuming your startup file is named tomcat.ncf): tomcat -stop To unload Tomcat along with all other Java applications and the JVM, use the following command: java –exit Assuming you did not make any typos in the tomcat.ncf file, the server should look something like this: Note the bottom two lines. These indicate that Tomcat is listening for HTTP requests on port 8080, and for “Ajp12” requests on 8007 (you may also see a line showing an “Ajp13ConnectionHandler” on port 8009, depending on what version of Tomcat you installed.) What is Ajp12/13? This is the “Apache Jakarta protocol” that allows Apache and Tomcat to communicate. These ports can be changed via the Tomcat configuration files, but the defaults should work for most installations. 4 BorderManager admins will certainly recognize 8080 as the default port for forward proxy on BorderManager servers. If for some reason you’re going to run WebAccess with Apache/Tomcat on a BorderManager box, you will need to change Tomcat’s HTTP port. This is easily done by opening the <tomcat>\conf\server.xml file in a text editor and searching for the “Connectors” section. Simply change Http10Interceptor port="8080” tag to a port that doesn’t conflict with any other services and restart Tomcat. Alternatively, you can simple disable the HTTP server within Tomcat altogether (recommended). This HTTP server is not a robust server like Apache, and is normally only used for testing Tomcat when its not integrated with a “real” web server such as Apache, and its not necessary at all for WebAccess functionality. To disable the HTTP server in Tomcat, edit <tomcat>\conf\server.xml and go to the “Connectors” section and simply comment out the entire HTTP connector section. Specifically, add <!-- just prior to the new http adapter. Attributes line, and add --> just after the closing “Http10Interceptor” tag. Save the file and restart Tomcat, and you should see that the line indicating Tomcat is listening on 8080 is gone. At this point Tomcat is running, waiting for requests. To find out if it works, fire up your browser and point it at http://<server>:8080 Assuming you did not yet disable HTTP in Tomcat, you should see a page similar to this 5 If you successfully get to this page, congratulations! You now have a fully-functioning Java server running on NetWare. For the curious, go ahead and try out the JSP and Servlet examples. They are very basic examples of what can be done with a Java application server. For those of us that just want to get WebAccess running, let’s move on… 6 Install Apache The NetWare version of Apache can be found at http://httpd.apache.org/dist/httpd/binaries/netware/ At the time of this writing, the current version is 1.3.24, found in apache_1.3.24_netware-mp.zip. If there is a newer version, download that. The Apache web site has been known to unexpectedly change structure on occasion, so if you don’t find the NetWare binaries in this location, go to http://www.apache.org/ and search around for the new location of the binaries. Like Tomcat, there is no installation routine for Apache. Simply extract the zip file to the root of the SYS: volume, which should create the following directory structure: sys:\apache \cgi-bin \conf \htdocs \icons \logs \modules The \cgi-bin directory is where CGI scripts to be executed by the web server are placed. It can be ignored for the purposes of running WebAccess The \conf directory contains Apache configuration files. The \htdocs directory is the default web document root directory for Apache. This is where we will install the WebAccess static content shortly. The \icons directory is a standard location used to map to image files. It can be ignored for the purposes of running WebAccess. The \logs directory contains access logs Apache writes out during operation. The \modules directory contains Apache “modules”, which are pieces of code that extend the functionality of the web server. This is where the Tomcat plug-in will be installed shortly. Getting Apache configured and running is surprisingly simple. Open sys:\apache\conf\httpd.conf in a text editor such as WordPad. While the sheer number of configuration parameters in this file may seem daunting, only a few are necessary for our purposes. 1) Search for the ServerRoot "sys:/apache" line. If you extracted Apache to the default location, no changes are necessary. If you installed Apache to some other location, modify this line to reflect the correct path. 2) Search for the ServerName line. Edit this to reflect either your server’s DNS host name or IP address. 3) Save the httpd.conf file and exit 7 4) Add sys:\apache (or whatever location you installed Apache to) to the search path. At the NetWare console, type SEARCH ADD SYS:\APACHE Add this to your sys:\system\autoexec.ncf file so that the search mapping is added every time the server restarts. At this point, typing apache at the NetWare console should result in a screen similar to this: While this screen is admittedly sparse, it does tell us that Apache is running and listening on port 80. Load up a browser and point it at http://<server>. You should see a page similar to this: 8 You now have Apache successfully running on NetWare. Any content you place under the \apache\htdocs directory structure can be served up (assuming you did not change the default document location in httpd.conf). All that’s left to do is get Tomcat plugged into Apache, and install the WebAccess servlets. Integrate Tomcat and Apache Start by copying mod_jk.nlm to the \apache\modules directory. If you did not download this module previously, it can be found at http://jakarta.apache.org in the Tomcat binaries section. By “integrating” Apache with Tomcat, we are talking about configuring Apache to hand-off requests for servlets or JSP pages to Tomcat, rather than trying to render this content itself. This is accomplished via URL mappings that Apache must be made aware of, which is easily done by adding a single command to the Apache \conf\httpd.conf file: Include "sys:/<tomcat>/conf/jk/mod_jk.conf" This line can be added to the very end of the httpd.conf file, and references “mod_jk.conf” in the Tomcat /jk/conf directory. This file contains the necessary module load commands and servlet mappings to let Apache know how to handle servlet and JSP requests. Save the httpd.conf file. Now open sys:/<tomcat>/jk/conf/mod_jk.conf. Change the LoadModule line to: LoadModule jk_module modules/mod_jk.nlm Change the JkWorkersFile line to: JkWorkersFile sys:/<tomcat>/jk/conf/workers.properties Change all “ajp12” text to “ajp13”. The reason for this will be explained in the Secure WebAccess section. You may have noticed the mod_jk.conf file in the \auto directory, and wonder why we don’t use that. This file is automatically generated by Tomcat each time it starts, and Tomcat makes a “best guess” as to which mappings will be necessary for Apache based on its servlet definitions. However, using this file can be limiting for doing other things like SSL (which we will cover later.) In addition, since this file gets regenerated every time Tomcat starts, its impossible to customize the settings as they will be overritten at the next reboot, thus I like to avoid the auto-generated file altogether. At this point, save the mod_jk.conf file, and restart the web server by typing the following commands at the server: unload apache load apache 9 If all goes well, you should see a screen similar to this: In addition to the wealth of information provided by the previous Apache console <g>, we can now see a line showing that Apache has loaded the MOD_JK.NLM module, indicating that Tomcat is successfully “plugged in” to Apache. To give it a test run, point your browser at http://<server>/servlet/SnoopServlet (case is important!) 10 You should see a screen similar to this: While this page shows some interesting things, the important part is that we’ve successfully pointed our browser at Apache and requested a servlet (SnoopServlet is included as an example with Tomcat). Apache handed that request off to Tomcat, which ran the servlet and passed the resulting HTML back to Apache, which then returned it to the browser. Whew! To recap, we now have a functioning web server, integrated with a functioning Java application server. Now all that’s left is to install and configure the WebAccess servlets into this environment. Install WebAccess As was mentioned at the beginning of this guide, getting WebAccess working with Apache and Tomcat is largely a manual configuration. Since the installation routine doesn’t “know” how to install WebAccess to run on Apache/Tomcat, we have to trick it a little bit here and there. The first step is to start the WebAccess installation by running <GroupWise SDD>\software\internet\webaccess\setup.exe Click through the prompts and select the components of WebAccess you wish to install. We will choose all three components 11 Click next to bring up the following dialog Select the appropriate agent OS and installation path. We will be installing the agent on NetWare in this example. Click Next. 12 On this screen, choose either the IP address or DNS host name of the server. Click Next. Here we specify the path to the GroupWise domain we’re installing the WebAccess agent to, as well as the gateway name. Since WebAccess is being installed to a NetWare server named WEB in this example, I’ll call the gateway directory WA60WEB. Click Next. If you get a message stating that the directory does not exist, click Yes to have the installation create it for you. 13 This screen prompts for the name of the WebAccess Agent object to be created in NDS. We will accept the default, which is the same as the gateway directory name. Click Next. In this dialog, enter a NDS username and password that has full file rights to the GroupWise domain directory. It is recommended that you create a specific NDS user for this purpose. Click Next. 14 This dialog allows you to enter a username and password to enable HTTP access to the WebAccess agent. This is an arbitrary userID that is not tied to a GroupWise or NDS userID. Click Next. This dialog allows you to enable WebPublisher, and to provide a GroupWise account and password that will be used for publishing documents. In this example we will 15 enable WebPublisher and specify the Mailbox ID and password for the GroupWise user “webpublisher.” Click Next. This dialog allows us to choose the libraries we want to be made available via WebPublisher. For this example we will choose all libraries in the system. Click Next. 16 This dialog shows a summary of all data that has been entered thus far. If everything looks OK, click Next. Up to this point, the WebAccess install has been completely typical, but now we start to get into the “trick” portion of the install. As was previously mentioned, the installation routine has no knowledge of Apache/Tomcat on NetWare, so none of the 17 available web server options truly apply. Instead, we must choose the closest “fit” and configure manually from there. For our purposes, the best installation option is the Apache Web Server for UNIX Solaris. This works well because it is the only web server choice that doesn’t attempt to automate the installation of the WebAccess servlets and static content. Select Apache Web Server for UNIX Solaris, and enter the path to a temporary directory on the NetWare server. This directory must be created manually as the installation won’t do it. In this example, we’re installing to the L:\wa-install directory (drive L: is mapped to the sys volume of the NetWare server we installed Apache/Tomcat to.) In this dialog, enter the web server’s IP address or DNS host name, and whether the server uses SSL or not. Click Next. (Note: Selecting “uses SSL” has nothing to do with being able to access WebAccess via https! The setting only effects the web clipping application for WebAccess via Palm devices.) 18 This dialog shows a final summary of all information entered thus far, and what options will be installed. Click Next to perform the installation. After the install copies the necessary files and creates the WebAccess objects in NDS, this dialog should appear. Click Next, then Finish to exit the installation program. 19 Configure WebAccess At this point, you should have a new gateway object in NDS, a new gateway directory under \<GroupWise domain>\wpgate, and seven files sitting in the temporary install directory you created on the web server, in our case sys:\wa-install. Four of these files are “tar” archives, typically used on Unix/Linux systems, but Windows programs such as WinZip have no trouble dealing with them. If you cannot extract a tar file on your system, don’t panic. You can find the same files in ZIP format under <GroupWise SDD>\software\internet\webaccess\other. Extract the various files as follows: 1) Extract webaccess.tar (or zip) to the root of the NetWare server. This will create the following directory structure: sys:\novell \webaccess \webpublisher 2) Extract webaccessdocs.tar (or zip) to sys:\apache\htdocs. If you changed the default document directory for Apache, extract the file to that directory instead. This will create a large directory structure under sys:\apache\htdocs beginning with \com\novell. These directories contain all of the static content (images and help files) for WebAccess. Apache will serve these up directly, without involving Tomcat. Copy the index.html file in the install directory to sys:\apache\htdocs. Note that this will replace the default Apache index.html page, so if you don’t want your existing index page replaced, rename the WebAccess one to something else like webacc.html, then link to this file from whatever page you wish. 3) Before going further, we need to stop and take a look at the Tomcat directory structure. Observant readers may have already noticed that after running Tomcat for the first time, several new directories magically appeared under \webapps. Specifically, the following directories are now present (your list may be slightly different, depending on the version of Tomcat installed): \admin \examples \ROOT \test These are Tomcat “contexts” or “containers” that were automatically created the first time Tomcat was loaded. A full treatment of Java applications is well out of the scope of this guide, but at the risk of oversimplification, just think of these contexts as separate “applications” that get executed via specific URL mappings. For example, pointing a browser at http://<server>/examples 20 will cause Apache to hand off this request to Tomcat, which in turn looks into the examples context for an application to “run.” In this case, the “application” is just some example JSP pages and servlets, but that’s the basic idea. As you can see, Tomcat created several default contexts -- most self-explanatory -- but we are particularly interested in the ROOT context. As luck would have it, all URLs referencing /servlet are mapped to the ROOT context. Since the WebAccess templates reference the servlets via a /servlet URL, this provides us with a convenient location to place the servlets and supporting libraries without having to modify a single WebAccess template. This is very important, because having to modify the WebAccess templates to look for the servlets in a location other than /servlet would be a maintenance and upgrade nightmare to say the least. That said, lets get back to extracting the WebAccess files. Create a \lib directory under sys:\<tomcat>\webapps\ROOT\WEB-INF Extract webaccessjars.tar (or zip) to sys:\<tomcat>\webapps\ROOT\WEB-INF\lib 4) Extract webaccessservlets.tar (or zip) to sys:\<tomcat>\webapps\ROOT\WEB-INF\classes Now we need to edit some configuration files. (I did say this was a manual configuration…) 1) Open sys:\<tomcat>\webapps\ROOT\WEB-INF\web.xml in WordPad, and add the following text between the <web-app> and </web-app> tags. <!-- WebAccess servlet --> <servlet> <servlet-name> webacc </servlet-name> <servlet-class> com.novell.webaccess.WebAccessServlet </servlet-class> <init-param> <param-name>Config</param-name> <param-value>sys:/novell/webaccess/webacc.cfg</param-value> </init-param> <load-on-startup/> </servlet> <!-- WebAccess SpellCheck servlet --> <servlet> <servlet-name> spellchk </servlet-name> <servlet-class> com.novell.collexion.spell.servlet.SpellServlet </servlet-class> <init-param> <param-name>Config</param-name> <param-value>sys:/novell/webaccess/spellchk.cfg</param-value> </init-param> <load-on-startup/> </servlet> (continued on next page…) 21 <!-- WebPublisher servlet --> <servlet> <servlet-name> webpub </servlet-name> <servlet-class> com.novell.webpublisher.WebPublisherServlet </servlet-class> <init-param> <param-name>Config</param-name> <param-value>sys:/novell/webpublisher/webpub.cfg</param-value> </init-param> <load-on-startup/> </servlet> <servlet-mapping> <servlet-name> webacc </servlet-name> <url-pattern> /webacc/* </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> spellchk </servlet-name> <url-pattern> /spellchk/* </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> webpub </servlet-name> <url-pattern> /webpub/* </url-pattern> </servlet-mapping> Spacing is not critical in an XML file, but indenting appropriately greatly increases readability. Be very careful to get everything entered exactly as shown (servlets are case-sensitive!) and to close all tags. This file is the Tomcat equivalent of the servlets.properties file used in the old Novell Servlet Gateway, and simply tells Tomcat what servlets to load for this context, and how to load them. Save this file and continue. Open sys:\novell\webaccess\webacc.cfg in a text editor. Edit the Templates.path= line to reflect the correct location of the templates. In our example, this is /jakarta-tomcat-3.3.1/webapps/ROOT/WEB-INF/classes/com/novell/web access/templates This line should not wrap, as it may appear in this text. Again, pay close attention to case and use forward slashes. Assuming you did not change the location of the static files, etc, nothing else should need to be modified in this file at this time. Save the file and continue. Now open sys:\novell\webaccess\spellchk.cfg in a text editor. Edit the Speller.Dictionary.path= line to reflect the correct location of the dictionary files. In our example, this is 22 /jakarta-tomcat-3.3.1/webapps/ROOT/WEB-INF/classes/com/novell/col lexion/morphology/data This line should not wrap, as it may appear in this text. Save the file and continue. Since we’re also installing WebPublisher in this example, we need to edit its config file in a similar way. Open sys:\novell\webpublisher\webpub.cfg in a text editor. Edit the Templates.path= line to reflect the correct location of the templates. In our example, this is /jakarta-tomcat-3.3.1/webapps/ROOT/WEB-INF/classes/com/novell/web publisher/templates This line should not wrap, as it may appear in this text. Now scroll to the end of the webpub.cfg file and change the line Provider.GWDOC.Config.file=/novell/webpublisher/commgr.cfg to a UNC path like this: Provider.GWDOC.Config.file=\\web\sys\novell\webpublisher\commgr.c fg In this example, the NetWare server is called WEB. Obviously, you’ll need to change this to whatever your NetWare server is called. Failure to make this change will cause a “500” error when you attempt to open WebPublisher. Assuming you did not change the location of the static files, etc, nothing else should need to be modified in this file at this time. Save the file and continue. Now copy the commgr.cfg file from the WebAccess gateway directory (under <domain>\wpgate) to both sys:\novell\webaccess and sys:\novell\webpublisher. This file contains the encyption key and IP address information the servlets need to communicate with the WebAccess gateway. At this point, we’re ready to fire up WebAccess. Restart the server, then reload Java, Tomcat and Apache. Start the WebAccess gateway by typing the following command at the server: strtweb If all systems are “go”, point your browser at http://<server> 23 You should see a page that looks like this (assuming you overwrote the Apache default index.html file with the WebAccess one) Everything on this page is static content that Apache is serving up. Clicking “go” for WebAccess causes the browser to point at http://<server>/servlet/webacc 24 If everything is working, you should be rewarded with a WebAccess login page like this one: This content is being generated by the servlet and templates, and indicates that the WebAccess servlets are indeed executing properly. Log in and enjoy your new WebAccess gateway running on NetWare with Apache/Tomcat! Don’t forget to add the Java, Tomcat and Apache load lines to your AUTOEXEC.NCF file. Depending on the speed of your server, you may have to delay the loading of Tomcat and/or Apache slightly, so that one has time to load before the next. This can be done with something like delay.nlm. Secure WebAccess Setting up Apache to let WebAccess do SSL is remarkably simple. Before we dive into the details, it is important to note that Apache is going to be doing all of the SSL work, and because Tomcat is integrated with Apache it receives the “benefit” of this security. Configuring Tomcat to do SSL itself is a much more complex endeavor, and completely unnecessary since Apache can do it better, faster and easier. 25 So… you now have WebAccess working on Apache/Tomcat, and want to allow SSL access to it. Start by opening the Apache HTTPD.CONF file, and un-commenting this line: LoadModule tls_module modules/mod_tls.nlm Now save the file, restart Apache… and its ready to do SSL. I did say it was remarkably simple… try it out by going to https://<server>/servlet/webacc You should get prompted with the familiar “validate certificate” prompt that pops up when the browser sees a NetWare certificate it can’t validate to a trusted root (which of course is every NetWare certificate.) Which certificate is Apache using? Again, look in your Apache HTTPD.CONF file and scroll to the end. There you should see a directive similar to this: <IfModule mod_tls.c> SecureListen 443 "SSL GWMail-Apache" </IfModule> In this example, I’m using a KMO certificate I created called GWMail-Apache. By default you’ll probably see the “SSL CertificateIP” or “SSL CertificateDNS being used. I chose to create my own certificate specifically for this instance of Apache because we access our WebAccess via https://gwmail.domain.com, thus I needed a certificate created with that domain to avoid the “certificate name does not match” error the browser throws at you when you use a certificate that does not match the domain/i p of the request. Another common request is to force users to use https when running WebAccess. In most cases, disabling port 80 on the web server is not a valid option because the web server is often used for other non-secure sites. So, what then? You simply need to exercise the built-in “redirect” directive within Apache. Say users can get to your WebAccess site by going to http://gwmail.yourdomain.com as well as https://gwmail.yourdomain.com All you need to do is tell apache to redirect the browser to the https:// URL whenever it sees the user trying to go to WebAccess. Open the Apache HTTPD.CONF file and scroll down to the section where it talks about Redirects (the redirect directive can really go just about anywhere in the file, but it makes sense to put it in the standard place.) Now simply add this line and save the file: Redirect /servlet/webacc https://<server>/servlet/webacc That’s all there is to it. Now users will be forced to the https:// URL for webaccess, and will simply not be able to access it via http:// any longer. This redirect only effects URLs containing /servlet/webacc, so the the Apache server can safely keep on handling port 80 requests for other URLs. End. 26 27