Migration Guide

 

HP Apache-based Web Server Version 1.3.x to

2.xrthellaHP-UX Web Server Suite

 

 

 

 

June July 2724SeptemberDecemberJanuary 316August 128154, 20032


 

 

 

                                                                                   

 

 

 

 

 

 

 

 

 

 

 

 

 


Table of Contents

 

Legal Notices

1      Using this Guide. 7

2      Quick Guide to Migration Solutions. 8

2.1        Quick Guide Assumptions. 8

2.2        Preliminary Steps. 8

2.2.1     HP-UX Web Server Suite Requirements. 8

2.2.2     HP-UX Web Server Suite  Installation. 8

2.3        Running 1.3.x and HP-UX Web Server Suite on the same machine. 8

2.3.1     Solution A: Running on the SAME machine but at DIFFERENT times. 8

2.3.2     Solution B: Running on the SAME machine at the SAME time. 8

2.4        Modifying httpd.conf 9

2.4.1     Solution C: Migrating to HP-UX Web Server Suite using the NEW HP-UX Web Server Suite configuration files as a base. 9

2.4.2     Solution D: Migrating to HP-UX Web Server Suite using your OLD 1.3.x configuration files as a base. 9

2.4.3     Directives Common to C & D Solutions. 11

2.5        Start 12

2.6        Verify. 12

3      Getting More Information. 13

4      What’s New and Changed in HP-UX Web Server Suite. 15

4.1        File Location Differences Between HP Apache 1.3.x and HP-UX Web Server Suite. 15

4.2        Version and Module Numbers. 16

4.3        New Multi-Processing Module in HP-UX Apache-based Web Server 17

4.4        Summary of New Features in the HP-UX Web Server Suite. 17

5      Preparing for Installing HP-UX Web Server Suite. 24

5.1        Hardware and Software Requirements. 24

5.2        Disk Space Requirements. 24

5.3        Perl Requirements. 24

5.4        Java Development Kit (JDK) Requirements. 25

5.5        Java Servlet Development Kit (JSDK 2.x) 25

6      Installing HP-UX Web Server Suite. 26

6.1        Installing HP-UX Web Server Suite on a Server Where 1.3.x is Not Running. 26

6.2        Installing HP-UX Apache-based Web Server on a Server Concurrently Running 1.3.x. 28

7      Migrating Your  Apache Configuration from 1.3.x to HP-UX Apache-based Web Server 31

7.1        Migrating the HP Apache Core. 31

7.1.1     Migrating Process Handling. 31

7.1.2     Migrating Module Loading. 33

7.1.3     Migrating Logging. 34

7.1.4     Migrating the Printing of Error Messages. 34

7.1.5     Migrating Port Number Assignments. 35

7.1.6     Migrating Access to Configuration Files. 36

7.2        Migrating Included Modules. 37

7.2.1     Migrating mod_proxy. 37

7.2.2     Migrating How Documents are Cached by Proxy Servers. 37

7.3        Migrating Security. 37

7.3.1     Migrating SSL. 37

7.3.2     Migrating Chroot 38

7.4        Migrating Scripting Modules. 38

7.4.1     Migrating PHP. 39

7.4.2     PHP Oracle support in HP-UX Apache-based Web Server 39

7.4.3     Migrating Perl 39

7.4.4     Migrating Common Gateway Interface (CGI) 40

7.4.5     Migrating Server-Side Includes (SSI) 40

7.5        Migrating Java. 41

7.5.1     Migrating Tomcat with mod_jserv to Tomcat with mod_jk. 41

7.5.2     Migrating JServ to Tomcat 43

7.5.3     Methods to Enable Servlets in Tomcat 45

7.6        Other Migration Tasks. 45

7.6.1     Migrating the Selection of Server Type. 45

7.6.2     Migrating Webmin. 46

7.7        Migrating the Printing of Virtual Host Configuration. 52

7.8        Writing 2.x Modules. 52

7.8.1     Module Configuration. 52

7.8.2     Handlers. 56

7.8.3     Directives List 57

7.8.4     Initialization and Exiting. 57

7.8.5     Functions and Types. 58

7.8.6     Header files. 60

7.8.7     Bibliography. 60

7.9        Miscellaneous Changes. 61

8      Tuning HP-UX Web Server Suite Performance. 62

8.1        Basic HTTP. 62

8.2        SSL. 62

8.3        PHP. 62

8.4        Tomcat 63

9      Verifying the Migration. 65

10     Appendix. 66

10.1      Directive Changes by Name. 66

10.2      Module Changes. 66

10.2.1       Core. 66

10.2.2       auth_ldap. 66

10.2.3       mod_auth_dbm.. 66

10.2.4       mod_auth_digest 66

10.2.5       mod_autoindex. 66

10.2.6       mod_case_filter and mod_case_filter_in. 66

10.2.7       mod_cgid. 66

10.2.8       mod_dav  and mod_dav_fs. 66

10.2.9       mod_define. 66

10.2.10     mod_echo. 66

10.2.11     mod_env 66

10.2.12     mod_ext_filter 66

10.2.13     mod_headers. 66

10.2.14     mod_include. 66

10.2.15     mod_jk. 66

10.2.16     mod_jserv 66

10.2.17     mod_log_agent 66

10.2.18     mod_log_config. 66

10.2.19     mod_log_referer 66

10.2.20     mod_mime. 66

10.2.21     mod_negotiation. 66

10.2.22     mod_perl 66

10.2.23     mod_proxy, mod_cache, mod_disk_cache, and mod_file_cache. 66

10.2.24     mod_file_cache. 66

10.2.25     mod_setenvif 66

10.2.26     mod_ssl 66

10.2.27     mod_suexec. 66

10.2.28     mod_usertrack. 66

10.2.29     mod_vhost_alias. 66

1  Using this Guide  7

2  Quick Guide to Migration Solutions  8

2.1  Quick Guide Assumptions  8

2.2  Preliminary Steps  8

2.2.1  rthellaHP-UX Web Server Suite Requirements  8

2.2.2  rthellaHP-UX Web Server Suite  Installation  8

2.3  Running 1.3.x and hpws on the same machine  8

2.3.1  Solution A: Running on the SAME machine but at DIFFERENT times.  8

2.3.2  Solution B: Running on the SAME machine at the SAME time.  8

2.4  Modifying httpd.conf  9

2.4.1  Solution C: Migrating to rthellaHP-UX Web Server Suite using the NEW rthellaHP-UX Web Server Suite configuration files as a base.  9

2.4.2  Solution D: Migrating to rthellaHP-UX Web Server Suite using your OLD 1.3.x configuration files as a base.  9

2.4.3  Directives Common to C & D Solutions  11

2.5  Start  12

2.6  Verify  12

3  Getting More Information  13

4  What’s New and Changed in rthellaHP-UX Web Server Suite  15

4.1  File Location Differences Between HP Apache 1.3.x and rthellaHP-UX Web Server Suite  15

4.2  Version and Module Numbers  16

New Multi-Processing Module in rthellaHP-UX Web Server Suite. 18

4.3  Summary of New Features in the rthellaHP-UX Web Server Suite  18

5  Preparing for Installing rthellaHP-UX Web Server Suite  24

5.1  HP Apache Hardware and Software Requirements  24

5.2  Disk Space Requirements  24

5.3  Perl Requirements  24

5.4  Java Development Kit (JDK) Requirements  25

5.5  Java Servlet Development Kit (JSDK 2.x) Requirements  25

6  Installing rthellaHP-UX Web Server Suite  26

6.1  Installing rthellaHP-UX Web Server Suite on a Server Where 1.3.x is Not Running  26

6.2  Installing rthellaHP-UX Web Server Suite on a Server Concurrently Running 1.3.x  28

7  Migrating Your HP Apache Configuration from 1.3.x to rthellaHP-UX Web Server Suite  31

7.1  Migrating the HP Apache Core  31

7.1.1  Migrating Process Handling  31

7.1.2  Migrating Module Loading  33

7.1.3  Migrating Logging  34

7.1.4  Migrating the Printing of Error Messages  34

7.1.5  Migrating Port Number Assignments  35

7.1.6  Migrating Access to Configuration Files  36

7.2  Migrating Included Modules  37

7.2.1  Migrating mod_proxy  37

7.2.2  Migrating How Documents are Cached by Proxy Servers  37

7.3  Migrating Security  37

7.3.1  Migrating SSL  37

7.3.2  Migrating Chroot  38

7.4  Migrating Scripting Modules  38

7.4.1  Migrating PHP  39

7.4.2  PHP Oracle support in rthellaHP-UX Web Server Suite  39

7.4.3  Migrating Perl  39

7.4.4  Migrating Common Gateway Interface (CGI)  40

7.4.5  Migrating Server-Side Includes (SSI)  40

7.5  Migrating Java  41

7.5.1  Migrating Tomcat with mod_jserv to Tomcat with mod_jk  41

7.5.2  Migrating JServ to Tomcat  43

7.5.3  Methods to Enable Servlets in Tomcat  45

7.6  Other Migration Tasks  45

7.6.1  Migrating the Selection of Server Type  45

7.6.2  Migrating Webmin  46

7.7  Migrating the Printing of Virtual Host Configuration  52

7.8  Writing 2.x Modules  52

7.8.1  Module Configuration  52

7.8.2  Handlers  56

7.8.3  Directives List  57

7.8.4  Initialization and Exiting  57

7.8.5  Functions and Types  58

7.8.6  Header files  60

7.8.7  Bibliography  60

7.9  Miscellaneous Changes  61

8  Tuning rthellaHP-UX Web Server Suite Performance  62

8.1  Basic HTTP  62

8.2  SSL  62

8.3  PHP  62

8.4  Tomcat  63

9  Verifying the Migration  65

10  Appendix  66

10.1  Directive Changes by Name  66

10.2  Module Changes  70

10.2.1  Core  70

10.2.2  auth_ldap  70

10.2.3  mod_auth_dbm  71

10.2.4  mod_auth_digest  71

10.2.5  mod_autoindex  71

10.2.6  mod_case_filter and mod_case_filter_in  72

10.2.7  mod_cgid  72

10.2.8  mod_dav  and mod_dav_fs  73

10.2.9  mod_define  73

10.2.10  mod_echo  73

10.2.11  mod_env  73

10.2.12  mod_ext_filter  74

10.2.13  mod_headers  74

10.2.14  mod_include  74

10.2.15  mod_jk  75

10.2.16  mod_jserv  75

10.2.17  mod_log_agent  76

10.2.18  mod_log_config  76

10.2.19  mod_log_referer  76

10.2.20  mod_mime  76

10.2.21  mod_negotiation  77

10.2.22  mod_perl  77

10.2.23  mod_proxy, mod_cache, mod_disk_cache, and mod_file_cache  78

10.2.24  mod_file_cache  79

10.2.25  mod_setenvif  79

10.2.26  mod_ssl  80

10.2.27  mod_suexec  80

10.2.28  mod_usertrack  80

10.2.29  mod_vhost_alias  80

1  Using this Guide  7

2  Quick Guide to Migration Solutions  8

2.1  Quick Guide Assumptions  8

2.2  Preliminary Steps  8

2.2.1  2.x Requirements  8

2.2.2  2.x Installation  8

2.3  Running 1.3.x and 2.x on the same machine  8

2.3.1  Solution A: Running on the SAME machine but at DIFFERENT times.  8

2.3.2  Solution B: Running on the SAME machine at the SAME time.  8

2.4  Modifying httpd.conf  9

2.4.1  Solution C: Migrating to 2.x using the NEW 2.x configuration files as a base.  9

2.4.2  Solution D: Migrating to 2.x using your OLD 1.3.x configuration files as a base.  9

2.4.3  Directives Common to C & D Solutions  11

2.5  Start  12

2.6  Verify  12

3  Getting More Information  13

4  What’s New and Changed in HP Apache-based Web Server 2.x  15

4.1  File Location Differences Between HP Apache 1.3.x and 2.x  15

4.2  Version and Module Numbers  16

4.3  New Multi-Processing Module in HP Apache 2.x  17

4.4  Summary of New Features in the HP Apache Version 2.x  17

5  Preparing for Installing HP Apache 2.x  20

5.1  HP Apache Hardware and Software Requirements  20

5.2  Disk Space Requirements  20

5.3  Perl Requirements  20

5.4  Java Development Kit (JDK) Requirements  21

5.5  Java Servlet Development Kit (JSDK 2.x) Requirements  21

6  Installing HP Apache 2.x  22

6.1  Installing HP Apache 2.x on a Server Where 1.3.x is Not Running  22

6.2  Installing HP Apache 2.x on a Server Concurrently Running 1.3.x  24

7  Migrating Your HP Apache Configuration from 1.3.x to 2.x  27

7.1  Migrating the HP Apache Core  27

7.1.1  Migrating Process Handling  27

7.1.2  Migrating Module Loading  29

7.1.3  Migrating Logging  30

7.1.4  Migrating the Printing of Error Messages  30

7.1.5  Migrating Port Number Assignments  31

7.1.6  Migrating Access to Configuration Files  33

7.2  Migrating Included Modules  33

7.2.1  Migrating mod_proxy  33

7.2.2  Migrating How Documents are Cached by Proxy Servers  33

7.3  Migrating Security  33

7.3.1  Migrating SSL  34

7.3.2  Migrating Chroot  34

7.4  Migrating Scripting Modules  34

7.4.1  Migrating PHP  35

7.4.2  PHP Oracle support in HP Apache 2.x  35

7.4.3  Migrating Perl  35

7.4.4  Migrating Common Gateway Interface (CGI)  36

7.4.5  Migrating Server-Side Includes (SSI)  36

7.5  Migrating Java  37

7.5.1  Migrating Tomcat with mod_jserv to Tomcat with mod_jk  37

7.5.2  Migrating JServ to Tomcat  39

7.5.3  Methods to Enable Servlets in Tomcat  41

7.6  Other Migration Tasks  41

7.6.1  Migrating the Selection of Server Type  41

7.6.2  Migrating Webmin  42

7.7  Migrating the Printing of Virtual Host Configuration  46

7.8  Writing 2.x Modules  46

7.8.1  Module Configuration  46

7.8.2  Handlers  50

7.8.3  Directives List  51

7.8.4  Initialization and Exiting  51

7.8.5  Functions and Types  52

7.8.6  Header files  54

7.8.7  Bibliography  54

7.9  Miscellaneous Changes  55

8  Tuning HP Apache-based Web Server 2.x Performance  56

8.1  Basic HTTP  56

8.2  SSL  56

8.3  PHP  56

8.4  Tomcat  57

9  Verifying the Migration  59

10  Appendix  60

10.1  Directive Changes by Name  60

10.2  Module Changes  64

10.2.1  Core  64

10.2.2  auth_ldap  64

10.2.3  mod_auth_dbm  65

10.2.4  mod_auth_digest  65

10.2.5  mod_autoindex  65

10.2.6  mod_case_filter and mod_case_filter_in  66

10.2.7  mod_cgid  66

10.2.8  mod_dav  and mod_dav_fs  67

10.2.9  mod_define  67

10.2.10  mod_echo  67

10.2.11  mod_env  67

10.2.12  mod_ext_filter  68

10.2.13  mod_headers  68

10.2.14  mod_include  68

10.2.15  mod_jk  69

10.2.16  mod_jserv  69

10.2.17  mod_log_agent  70

10.2.18  mod_log_config  70

10.2.19  mod_log_referer  70

10.2.20  mod_mime  70

10.2.21  mod_negotiation  71

10.2.22  mod_perl  71

10.2.23  mod_proxy, mod_cache, mod_disk_cache, and mod_file_cache  72

10.2.24  mod_file_cache  73

10.2.25  mod_setenvif  73

10.2.26  mod_ssl  74

10.2.27  mod_suexec  74

10.2.28  mod_usertrack  74

10.2.29  mod_vhost_alias  74

1  Using this Guide  7

2  Quick Guide to Migration Solutions  8

2.1  Quick Guide Assumptions  8

2.2  Preliminary Steps  8

2.2.1  2.x Requirements  8

2.2.2  2.x Installation  8

2.3  Running 1.3.x and 2.x on the same machine  8

2.3.1  Solution A: Running on the SAME machine but at DIFFERENT times.  8

2.3.2  Solution B: Running on the SAME machine at the SAME time.  8

2.4  Modifying httpd.conf  9

2.4.1  Solution C: Migrating to 2.x using the NEW 2.x configuration files as a base.  9

2.4.2  Solution D: Migrating to 2.x using your OLD 1.3.x configuration files as a base.  9

2.4.3  Directives Common to C & D Solutions  11

2.5  Start  12

2.6  Verify  12

3  Getting More Information  13

4  What’s New and Changed in HP Apache-based Web Server 2.x  15

4.1  File Location Differences Between HP Apache 1.3.x and 2.x  15

4.2  Version and Module Numbers  16

4.3  New Multi-Processing Module in HP Apache 2.x  17

4.4  Summary of New Features in the HP Apache Version 2.x  17

5  Preparing for Installing HP Apache 2.x  20

5.1  HP Apache Hardware and Software Requirements  20

5.2  Disk Space Requirements  20

5.3  Perl Requirements  20

5.4  Java Development Kit (JDK) Requirements  21

5.5  Java Servlet Development Kit (JSDK 2.x) Requirements  21

6  Installing HP Apache 2.x  22

6.1  Installing HP Apache 2.x on a Server Where 1.3.x is Not Running  22

6.2  Installing HP Apache 2.x on a Server Concurrently Running 1.3.x  24

7  Migrating Your HP Apache Configuration from 1.3.x to 2.x  27

7.1  Migrating the HP Apache Core  27

7.1.1  Migrating Process Handling  27

7.1.2  Migrating Module Loading  29

7.1.3  Migrating Logging  30

7.1.4  Migrating the Printing of Error Messages  30

7.1.5  Migrating Port Number Assignments  31

7.1.6  Migrating Access to Configuration Files  33

7.2  Migrating Included Modules  33

7.2.1  Migrating mod_proxy  33

7.2.2  Migrating How Documents are Cached by Proxy Servers  33

7.3  Migrating Security  33

7.3.1  Migrating SSL  34

7.3.2  Migrating Chroot  34

7.4  Migrating Scripting Modules  34

7.4.1  Migrating PHP  34

7.4.2  PHP Oracle support in HP Apache 2.x  35

7.4.3  Migrating Perl  35

7.4.4  Migrating Common Gateway Interface (CGI)  36

7.4.5  Migrating Server-Side Includes (SSI)  36

7.5  Migrating Java  37

7.5.1  Migrating Tomcat with mod_jserv to Tomcat with mod_jk  37

7.5.2  Migrating JServ to Tomcat  38

7.5.3  Methods to Enable Servlets in Tomcat  40

7.6  Other Migration Tasks  41

7.6.1  Migrating the Selection of Server Type  41

7.6.2  Migrating Webmin  41

7.7  Migrating the Printing of Virtual Host Configuration  45

7.8  Writing 2.x Modules  46

7.8.1  Module Configuration  46

7.8.2  Handlers  49

7.8.3  Directives List  50

7.8.4  Initialization and Exiting  50

7.8.5  Functions and Types  51

7.8.6  Header files  53

7.8.7  Bibliography  53

7.9  Miscellaneous Changes  54

8  Tuning HP Apache-based Web Server 2.x Performance  55

8.1  Basic HTTP  55

8.2  SSL  55

8.3  PHP  55

8.4  Tomcat  56

9  Verifying the Migration  58

10  Appendix  59

10.1  Directive Changes by Name  59

10.2  Module Changes  63

10.2.1  Core  63

10.2.2  auth_ldap  63

10.2.3  mod_auth_dbm  64

10.2.4  mod_auth_digest  64

10.2.5  mod_autoindex  64

10.2.6  mod_case_filter and mod_case_filter_in  65

10.2.7  mod_cgid  65

10.2.8  mod_dav  and mod_dav_fs  66

10.2.9  mod_define  66

10.2.10  mod_echo  66

10.2.11  mod_env  66

10.2.12  mod_ext_filter  67

10.2.13  mod_headers  67

10.2.14  mod_include  67

10.2.15  mod_jk  68

10.2.16  mod_jserv  68

10.2.17  mod_log_agent  69

10.2.18  mod_log_config  69

10.2.19  mod_log_referer  69

10.2.20  mod_mime  69

10.2.21  mod_negotiation  70

10.2.22  mod_perl  70

10.2.23  mod_proxy, mod_cache, mod_disk_cache, and mod_file_cache  71

10.2.24  mod_file_cache  72

10.2.25  mod_setenvif  72

10.2.26  mod_ssl  73

10.2.27  mod_suexec  73

10.2.28  mod_usertrack  73

10.2.29  mod_vhost_alias  73

 


Glossary

 

ASF

Apache Software Foundation

CA

Certificate Authority

hpuxws

HP-UX Web Server Suite

HP Apache

HP Apache-based Web Server

IPF

Itanium Processor Family

IPv6

Internet Protocol Version 6

JDK

Java Development Kit

JRE

Java Runtime Environment

LDAP

Lightweight Directory Access Protocol

MPM

Multi-Processing Module

PA-RISC

Precision Architecture, Reduced Instruction Set Computing

PHP

PHP PHP: Hypertext Preprocessor

RSA

RSA Security Inc.

WebDAV

Web-based Distributed Authoring and Versioning

For other acronyms see www.scis.hp.com/scis/mms/egad/Egadr.html

Revision History

 

SeptemberDecember 3January 106, 20023

Version 19

Updated mod_perl DSO, auth_ldap 1.6 for HP Apache 1.3.26.06

 

 

 


Legal Notices

The information in this document is subject to change without notice.

 

Warranty Disclaimer.  HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS INFORMATION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  Hewlett-Packard shall not be liable for errors contained herein or for direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance

or use of this material.

 

Restricted Rights Legend.  Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)  (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 for DOD agencies.  Rights for non-DOD U.S. Government Department and Agencies are as set forth in FAR 52.227-19 (c)(1,2).

 

Copyright Notices. Copyright Hewlett-Packard Company 1997-2001-20032.  This document contains information which is protected by copyright.  All Rights Reserved.

Reproduction, adaptation, or translation without prior written

permission is prohibited, except as allowed under the copyright laws.

 

Trademark Notices.  UNIX is a registered trademark in the United States and other countries,

licensed exclusively through X/Open Company Limited.

 

Intel® Itanium Processor Family is a trademark of Intel Corporation in the U.S. and other countries and is used under license.

 

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

 

Microsoft®, Windows®, MS Windows® and Windows NT ® are U.S. registered trademarks of Microsoft Corp.

 

Netscape is a U.S. trademark of Netscape Communications Corporation.

 

Oracle ® is a registered U.S. trademark of Oracle Corporation, Redwood City, California.

 

Acknowledgements.  This product includes software developed by the Apache Software Foundation
This documentation is based on information from the Apache Software Foundation (
http://www.apache.org).

 

This product includes software developed by the OpenLDAP Project (http://www.openldap.org).

 

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org).

 

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).

 

This product includes software developed by the Java Apache Project for use in the Apache JServ Servlet Engine (http://java.apache.org/).
 
This product includes software developed by Ralf S. Engelschall (rse@engelschall.com) for use in the mod_ssl project (http://www.modssl.org/).
 
This product includes software developed by Ralf S. Engelschall (rse@engelschall.com).

 

This product includes PHP, freely available from (http://www.php.net).

 


 

1         Using this Guide

 

 

This guide covers the migration from HP Apache-based Web Server Version 1.3.x to VersionrthellaHP-UX Web Server Suite 2.x on servers running HP-UX 11.0 (PA-RISC), 11i (PA-RISC) and HP-UX 11i Version 1.5 or later, Itanium Processor Family (IPF).

 

This guide can be used to:

 

·         Understand the differences between HP Apache HP Apache-based Web Server Version 1.3.x and HP Apache VersionrthellaHP-UX Web Server Suite 2.x..

·         Install the HP Apache-based Web Server VerrthellaHP-UX Web Server Suitesion 2.x.

·         Migrate the configuration of your HP Apache-based web Web Sserver from Version 1.3.x to rthellaHP-UX Web Server Suite 2.x.

·         Verify that your HP Apache VersionrthellaHP-UX Web Server Suite 2.xhpws migration was successful.

 

There are three basic sections to the guide.

 

·         Section 2: Quick Guide to Migration Solutions
For many users this will be the only section required.

·         Sections 3-7: Detailed Installation and Migration Steps
For users who want a more detailed discussion of a particular step.

·         Appendices: A complete listing of module changes
For users who want an exhaustive overview of all changes to modules, directives, and options.

 


 

2         Quick Guide to Migration Solutions

Four alternative solutions are presented. Solutions A & B are simple installations that require little knowledge of Apache. If you have heavily customized any part of Apache you should refer to the detailed sections later in the document. Solutions C & D are more complex and assume a familiarity with Apache's configuration files.

 

2.1        Quick Guide Assumptions

A.      1.3.x refers to HP Apache-based Web Server 1.3.x.
2.xhpuxwshpws----- refers to HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite.

B.      Files are in their default locations. For example:
1.3.x is installed in the default locations:
<apache root> = /opt/apache    and   <tomcat root> = /opt/tomcat
2.xrthellaHP-UX Web Server Suite is installed in the default locations:
<apache root> = /opt/hpapache2  hpws/apache  and   <tomcat root> = /opt/hpapache2hpws/tomcat

<webmin root> = /opt/hpws/webmin and <xmltools root> = /opt/hpws/xmltools

C.      The Apache documents are available at  root is <apache root>/hpws_docstdocs and /opt/hpws/hp_docs/apache.
The Tomcat documents are root isavailable at 
<tomcat root>/webappshpws_docs and /opt/hpws/hp_docs/tomcat. The XmlML Tools documents are available at /opt/hpws/hp_docs/xmltools. The Webmin documents are available at /opt/hpws/hp_docs/webmin.                                                                                                                                                        

(Note: The file /opt/hpws/apache2/util/altroot.sh can be used to move Apache's root. Type "altroot.sh -h" for help with the script)

D.      The customer does not need IPv6 support.

 

2.2        Preliminary Steps

2.2.1        rthellaHP-UX Web Server Suite2.x Requirements

HP-UX 11.0, 11i, 11i version 1.5, or later.
90 MB of disk space without XML Tools installed. 190MB of disk space for all four components installed.

Perl 5.6.1

Java JDK 1.2.2.4 or later

 

2.2.2        2.xrthellaHP-UX Web Server Suite  Installation

A.      Stop Apache. For example if you are using HP Apache 1.3.x. then as root type:
/opt/apache/bin/apachectl stop

B.      Verify that all httpd processes have stopped by typing:
ps -e | grep httpd

C.      Install using the HP SW Depot Web Release,

software.hp.com/  àFeatured ProductsàHP-UX Apache-based Web Server.
OR software.hp.com/  search for "HP Apache-based Web Server".
The latest versions are always available online from HP SW Depot.

Or install using the HP-UX 11.0/11i Application Release CDs (when available).

 

2.3        Running 1.3.x and 2.xrthellaHP-UX Web Server Suite on the same machine

Solutions A & B are two simple alternative installations.

 

2.3.1        Solution A: Running on the SAME machine but at DIFFERENT times.

If you installed 2.xrthellaHP-UX Web Server Suite on a machine that has 1.3.x then you are done. No additional steps are required. HP Apache 2.xrthellaHP-UX Web Server Suite and HP Apache 1.3.x can coexist on the same machine. However because they use the same port assignments, they cannot be run at the same time without conflicting with each other.

 

2.3.2        Solution B: Running on the SAME machine at the SAME time.

You need to change the port assignments so that the two Apaches don't conflict. The utility script /opt/hpwsapache2/util/ports.sh can be used to list ports and files for you to manually edit.

For example type:

/opt/hpwsapache2/util/ports.sh

 

You will see output similar to the following:

Apache installed at /opt/hpws/apache

Tomcat installed at /opt/hpws/tomcat

Webmin installed at /opt/hpws/webmin

Xmltools installed at /opt/hpws/xmltools

 

Default locations of configuration files:

Apache:       /opt/hpws/apache/conf/httpd.conf

Apache (SSL): /opt/hpws/apache/conf/ssl.conf

LDAP:         /opt/hpws/apache/conf/ldap.conf

Tomcat:       /opt/hpws/tomcat/conf/server.xml

mod_jk:       /opt/hpws/tomcat/jk/apache2/mod_jk.conf

mod_jk:       /opt/hpws/tomcat/jk/apache2/workers.properties

Webmin:       /opt/hpws/webmin/conf/miniserv.conf

 

The following ports have been identified:

HTTP port:         80

HTTPS port:        443

Tomcat ports:      8005 8081 8009

Webmin port:       10000

LDAP port:         389

 

 Apache installed at /opt/hpapache2

 

Default locations of configuration files:

Apache:       /opt/hpapache2/conf/httpd.conf

Apache (SSL): /opt/hpapache2/conf/ssl.conf

Tomcat:       /opt/hpapache2/tomcat/conf/server.xml

mod_jk:       /opt/hpapache2/tomcat/conf/jk/workers.properties

Webmin:       /opt/hpapache2/webmin/conf/miniserv.conf

LDAP:         /opt/hpapache2/conf/ldap.conf

 

The following ports have been identified:

HTTP port:         80

HTTPS port:        443

Tomcat http port:  8081

Tomcat ajp12 port: 8007

Tomcat ajp13 port: 8009

Webmin port:       10000

LDAP port:         389

 

Then go to each file and manually change the port numbers to for example:

HTTP port:         8080

HTTPS port:        8443   (note 1)

Tomcat http port:  8181

Tomcat ajp12 port: 8107

Tomcat ajp13 port: 8109ports:      8105,8181,8109

Webmin port:       10100

LDAP port:         389    (note 2)

Note 1.  Your SSL URL will need to be of the form https://yourserver.com:8443 since you are no longer using the standard SSL port.

Note 2.  The LDAP port doesn't change since it is the LDAP server's port. HP Apache-based Web Server or HP-UX Apache-based Web Server is an LDAP client.

 

2.4        Modifying httpd.conf

Solutions C & D are two alternative migration methods based on opposite philosophies. Method C edits the new configuration files to correspond to your needs. Method D edits copies of your old files.

 

2.4.1        Solution C: Migrating to 2.xrthellaHP-UX Web Server Suite using the NEW 2.xrthellaHP-UX Web Server Suite configuration files as a base.

A.      Save a copy of /opt/hpws/apache2/conf/httpd.conf

B.      Find the differences between the old and new configuration files. For example:
diff /opt/apache/conf/httpd.conf /opt/hpws/apache2/conf/httpd.conf

C.      Edit /opt/hpws/apache2/conf/httpd.conf

D.      Skip to the "Directives Common to C & D Solutions" section below.

 

2.4.2        Solution D: Migrating to 2.xrthellaHP-UX Web Server Suite using your OLD 1.3.x configuration files as a base.

A.      Save a copy of /opt/hpws/apache2/conf/httpd.conf

B.      Copy your 1.3 httpd.conf file to /opt/hpws/apache2/conf/httpd.conf

C.      Find the differences between the old and new configuration files.

D.      Edit /opt/hpws/apache2/conf/httpd.conf

E.      LoadModule
The module location has changed from the libexec to modules directory. So you need to replace libexec with modules in the "Dynamic Shared Object (DSO) Support" section.

F.      mmod_dav
This module enables "Web-based Distributed Authoring and Versioning" (webDAV)
See the FAQ at www.hp.com/products1/unix/webservers/apache/faqs/index.html for more details.

G.     mod_perl

   Enabling Perl has changed. In HP-UX Apache-based Web Server "ModPerl::" has replaced "Apache::".       

   The new way is:
       <IfModule mod_perl.c>
   
 PerlModule ModPerl::Registry
   <Files *.pl>
        SetHandler perl-script
        PerlHandler ModPerl::Registry::handler
        Options +ExecCGI

        PerlOptions +ParseHeaders

        </Files>
      </IfModule>

H.      mod_php

      Enabling PHP has changed. For example in 1.3.x you did:

           A  AddType application/x-httpd-php .php
 
AddType application/x-httpd-php-source .phps
But in HP-UX Apache-based Web Server you do:
           <Files *.php>     
   
  SetOutputFilter PHP
   
  SetInputFilter PHP
     </Files>

      In addition, to use PATH_INFO, you must explicitly set directive AcceptPathInfo, otherwise a 404 response will     be returned.mod_perl
Enabling Perl has changed. In 2.xrthellaHP-UX Web Server Suite "ModPerl::" has replaced "Apache::". The new way is:
<IfModule mod_perl.c>
    PerlModule ModPerl::Registry
    <Files *.pl>
        SetHandler perl-script
        PerlHandler ModPerl::Registry::handler
        Options ExecCGI

 

mod_php
Enabling PHP has changed. For example in 1.3.x you did:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
But in 2.xrthellaHP-UX Web Server Suite you do:
<Files *.php>     
    SetOutputFilter PHP
    SetInputFilter PHP
</Files>

In addition, to use PATH_INFO, you must explicitly set directive AcceptPathInfo, otherwise a 404 response will be returned.

I.         mod_proxy
The method of invoking mod_proxy has changed radically.
See httpd.apache.org/docs-2.0/mod/mod_proxy.html.
For example in 1.3.x you do:
  <Directory proxy: *>
      ...
  </Directory >
But in 2.xrthellaHP-UX Apache-based Web Server Suite you do:
  <Proxy *>
      ...
  </Proxy>

J.       mod_suexec
To enable suexec you need to load the module with
LoadModule suexec_module modules/mod_suexec.so
And you need to setup the following directive:
<IfModule mod_suexec.c>
    SuexecUserGroup TheUser TheUsersGroup
</IfModule>
This is new HP Apache 2.xrthellaHP-UX Web Server Suite functionality.

      See httpd.apache.org/docs-2.0/mod/mod_suexec.html.

K.      mod_jk 

This module is the connector used by Apache to communicate with   Tomcat servlet container. Mod_jk replaces  the mod_jserv connector which is used by the Apache JServ servlet engine To enable this uncomment the line #Include /opt/hpws/tomcat/jk/apache2/mod_jk.conf in /opt/hpws/apache/conf/httpd.conf. See http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html for more information.

L.       AddCharset
You may wish to take advantage of the many new character sets added to 2.xrthellaHP-UX  Apache-based Web Server Suite. Previously there were 8 now there are 28. See httpd.apache.org/docs-2.0/mod/mod_mime.html#addcharset.

M.     AddHandler type-map var
Previously this was commented out. It is now enabled by default to allow the Apache "It Worked" page (http://yourserver.com/index.html) to be distributed in multiple languages.

N.      ErrorDocument
ASF documentation says that this directive must now have a closing quote. For example
ErrorDocument 403 “Some Message”
Currently if you leave off the closing quote no error is reported but this may change in the future.

O.     BrowserMatch
You need to enable the following if you are going to use "Web-based Distributed Authoring and Versioning" (WebDAV) methods with Microsoft WebFolders.
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
See mod_dav above.

P.      IndexOptions
The new VersionSort option enables numerical sorting rather than alphabetical sorting.
IndexOptions FancyIndexing VersionSort

Q.     ReadmeName and HeaderName
These directives determine the filename to be appended and prepended to the directory listing. The defaults have been change from README and HEADER to README.html and HEADER.html.

R.      Continue with the "Directives Common to C & D Solutions" section below.

 

2.4.3        Directives Common to C & D Solutions

These apply to both Solutions C and D.

A.      ServerType
The ServerType directive has been eliminated since 2.xrthellaHP-UX Web Server Suite can only be ServerType standalone.

B.      Port
The Listen directive is now required and the Port directive has been eliminated. For example if you had set Port 80 you should change it to Listen 80.

C.      ServerName
The ServerName directive now supercedes the functionality of the Port directive. If no ServerName  or associated port number is indicated then Apache will try to deduce them. For reliablity and predictability you should explicitly set the servername and port. For example:
ServerName yourserver.com:80.

D.      Process handling directives.
See Migrating Process Handling.
¨StartServers and ThreadsPerChild
There is not much reason to change these values since the number of child processes is dynamically set based on load.
¨MaxClients
This is the maximum number of simultaneous client connections. Performance is based on transactions per second and is only indirectly related to MaxClients so you normally won't change this value.
¨MaxRequestsPerChild
This directive sets the limit on the number of requests that an individual child server process will handle. After MaxRequestsPerChild requests, the child process will die. If it is set to 0 then the process will never die. If you load modules that are not distributed by HP, you may have memory leaks. In that case you may want to set MaxRequestsPerChild to, for example, 500 so that the process will die and the memory will be freed. In order to maximize performance HP Apache or HP-UX Apache-based Web Server sets it to 0.
¨MinSpareThreads and MaxSpareThreads
Child processes are created until the number of idle threads are greater than MinSpareThreads. Child processes are killed until the number of idle threads are less than MaxSpareThreads. The defaults should work well with most servers. If you have extremely high loads then increase MinSpareThreads and MaxSpareThreads. This will not increase transactions per second but it will lower the impact of especially demanding transactions on other less demanding ones.
¨MinSpareServers and MaxSpareServers
These have been replaced with
MinSpareThreads and MaxSpareThreads.

E.      Modules not in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite distribution
Check that you have the same modules in LoadModule as you had in 1.3.x. 1.3.x modules will not work with 2.xrthellaHP-UX Web Server Suite and will need to be rewritten. See Writing 2.x Modules.

F.      mod_auth_digest
mod_digest
has been renamed to mod_auth_digest.

G.     mod_proxy, mod_cache, mod_disk_cache, and mod_file_cache
mod_proxy has been decomposed into a more logical structure with separate modules. The cache functionality has been split out into other cache modules such as mod_cache, mod_disk_cache, and mod_file_cache. Generally they use similar cache directives as used in the old mod_proxy.

H.      mod_cgi. 
See Migrating Common Gateway Interface (CGI) and
httpd.apache.org/docs-2.0/mod/mod_cgid.html.

You can improve CGI performance by enabling the CGI daemon (cgid) module instead of cgi.
LoadModule cgid_module modules/mod_cgid.so
#LoadModule cgi_module modules/mod_cgi.so
Scriptsock <path>
You need to enable the Scriptsock directive which defines the UNIX socket for communicating with cgid.
Scriptsock            logs/cgisock

I.         mod_define
mod_define
has been eliminated. The Define directive allowed you to set a variable for later use in the configuration file. A future module may implement this functionality.

J.       Logging directives.
See Migrating Logging
AgentLog
, RefererLog, and RefererIgnore
The logging directives AgentLog, RefererLog, and RefererIgnore have been eliminated. They can be replaced with LogFormat and CustomLog directives.

A.      mod_ssl
¨SSL configuration is in a separate configuration file called ssl.conf.
¨The default session cache is now:
SSLSessionCache        shmcb:logs/ssl_scache(512000)
¨ca-bundle.crt is not distributed with 2.xrthellaHP-UX Apache-based Web Server Suite. You can use the certmig tool to extract ca certificates from a Netscape client. For example:
/opt/hpws/apache2/binutil/test_certmig.sh -E -d $HOME/.netscape
See /opt/hpws/apache2/hpws_apache_docs/apache/utilities.user.guide.

K.       

¨       Logging directives have changed

SSLLog and SSLLogLevel have been eliminated.  Use Apache logging directives ErrorLog and LogLevel instead.

 

 

2.5        Start

To start Apache, aAs root type ::

/opt/hpws/apache/bin2/apachectl start

 

2.6        Verify

In a browser enter the URL:

http://yourserver.com

 


 

3         Getting More Information

 

The HP Apache-based Web Server  or HP-UX Web Server Suite is built on the open source Apache Web HTTP Server software developed by the Apache Software Foundation (ASF) with additional open source components and HP proprietary content integrated and bundled by HP.

 

The following table lists resources for HP Apache-based Web Server Apache or HP-UX Web Server Suite.  For the latest HP Apache-based Web Server Apache or HP-UX Web Server Suite information, see www.hp.com/go/webserver. 

 

HP Apache-based Web Server or HP-UX Web Server Suite Resources

Resources

Location

HP Apache-based Web Server Apache  or HP-UX Web Server Suite information library, technical tips, FAQs

www.hp.com/products1/unix/webservers/apache/index.html

HP Apache-based Web Server or HP-UX Web Server Suite product bundle

software.hp.com/
   
àFeatured Products
       
àHP Apache-based Web Server

OR

software.hp.com/    www.hp.com/go/webserver
    search for "HP Apache-based Web Server"Click  “downloads”

 

HP Apache or HP-UX web Server Suite product bundle for IPv6

software.hp.com/
    search for "IPv6"

HP Developer & Solution Partner Portal

www.hp.com/
    search for "HP Apache-based Web Server"

 

Integrated Applications

Resources

Location

HP-UX Workload Manager

www.hp.com/go/wlm

BEA Weblogic connector to Apache (mod_wl)HP Application Server (HP-AS) connector to HP Apache
(mod_lbb, Load Balance Broker). Formerly “Total-e-Server”, TeS, “Sapphire” by Bluestone.

www.bea.comhttp://www.hp.com/products1/softwareproducts/middleware_businessprocess/index.html     search for “HP-AS”

 

BroadVision connector to HP Apache (mod_bv)

www.broadvision.com

 

The following table lists general information about Apache and the open source add-on products bundled by HP into the HP Apache-based Web Server or HP-UX Web Server Suite.

 

 

Apache Open Source Resources

Resources

Location

    General

Apache HTTP Web Server General Information

httpd.apache.org/

Apache Software Foundation (ASF)

www.apache.org/

Apache 1.3 User’s Guide

httpd.apache.org/docs/

Apache 2 User’s Guide

httpd.apache.org/docs-2.0/

Developer resources

dev.apache.org

    IPv6

IPv6 Home Page

www.ipv6.org

    LDAP authentication

OpenLDAP

www.openldap.org/

auth_ldap

www.rudedog.org/auth_ldap

    Perl

Perl Interpreter

www.software.hp.com/, search for “Perl v.5.6.1”

General information on the mod_perl module

perl.apache.org/

    PHP

PHP User's Guide

www.php.net/docs.php

General information on PHP

www.php.net

    Servlets

Tomcat User's Guide

jakarta.apache.org/tomcat/tomcat-4.1-doc/index.htmljakarta.apache.org/tomcat/tomcat-3.3-doc/index.htmlhttp://jakarta.apache.org/tomcat/tomcat-4.1-doc/index.html

Apache JServ - Servlets Development Kit 2.0 for developing servlets. Later versions may work but they have not been tested. This is required by JServ in HP Apache 1.3.x

java.sun.com/products/servlet/archive.html

    SSL

OpenSSL User's Guide

www.openssl.org/docs/

mod_ssl User's Guide

www.modssl.org/docs

    WebDAV

webDAV Home Page

www.webdav.org/

    Webmin

Webmin User's Guide

www.swelltech.com/support/webminguide/index.html

Webmin Home Page

www.webmin.com/

 XML Tools

 

Cocoon Documents

xml.apache.org/cocoon/index.html

Xerces Documents

xml.apache.org/xerces2-j/index.html

Xalan Documents

xml.apache.org/xalan-j/index.html

FOP Documents

xml.apache.org/fop/index.html

Batik Documents

xml.apache.org/batik /index.html

 


 

4         What’s New and Changed in HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite

 

This version is the first release of a more flexible HP-UX Apache-based

 Web Server Suite.  product structure. Beginning with this version, HP-UX Apache-based Web Server, HP-UX

Tomcat-based Servlet Engine, and HP-UX Webmin-based Admin can be installed together (as previouslyin previous versions of HpP Apache-based Web Server) or installed  

separately as standalone components. A new feature, HP-UX xmltoolsXML Web Server Tools, has been added and it can be installed   up upseparately or with other components. Each is installed in its own

directory  with a common base root of /opt/hpws/

 

This section contains an overview of the new and changed features in HP-UX  Web Server Suite Apache-based Web Server Version 2.x.

 

4.1        File Location Differences Between HP Apache 1.3.x and 2.xrthellaHP-UX Web Server Suite

 

HP Apache 1.3.x files are located in /opt/apache. 

In HP Apache 2.xrthellaHP-UX  Apache-based Web Server  Suite these files are located in /opt/hpws under  their respective directoriesapache2.

 

The following table compares HP Apache 1.3.x and HP Apache 2.xrthellaHP-UX Web Server Suite configuration files. 

 

Configuration File Differences Between HP Apache 1.3.x and 2.xHP-UX Web Server Suite

Component

HP Apache 1.3.x

HP Apache 2.xrthellaHP-UX Web Server Suite

Apache Server (httpd)

/opt/apache/conf/httpd.conf

/opt/hpws/apache2/conf/httpd.conf

mod_ssl

 

Included inside of:
/opt/apache/conf/httpd.conf

/opt/hpws/apache2/conf/ssl.conf
New in rthellaHP-UX Web Server Suite2.x and included by httpd.conf

 

mod_file_cache

Not available

/opt/hpws/apache2/conf/cache.conf

Tomcat

/opt/tomcat/conf/server.xml

/opt/hpws/apache2/tomcat/conf/server.xml

mod_jserv

/opt/apache/conf/jserv/jserv.conf

Replaced with mod_jk

mod_jk

 

1.3.26 onlyand later:

Not available

/opt/tomcat/conf/jk/mod_jk.conf and
/opt/tomcat/conf/jk/

   workers.properties

/opt/hwspapache2/tomcat/jk/apache2conf/jk/mod_jk.conf and
/opt/hpwsapache2/tomcat/conf/jk/apache2/
   workers.properties

Webmin

/opt/apache/webmin/conf/
  
miniserv.conf

/opt/hpwsapache2/webmin/conf/miniserv.conf

auth_ldap

Not available1.3.26.06 and later:
/opt/apache/conf/ldap.conf

/opt/hpws/apache2/conf/ldap.conf

Note: If you do no't need the functionality then you can comment out the corresponding "include" directive. For example if you do no't need ldap authentication then the line would look like:

#include Include /opt/hpws/apache2/apache/conf/ldap.conf


4.2        Version and Module Numbers

 

 

Version Numbers of HP Apache and HP-UX Web Server Suite Components

Component

HP Apache 1.3.2619.23 on 11.0/11i and

Version 1.5 or later (PA-RISC & IPF)

HP Apache 2.0.00rthellaHP-UX Web Server Suite
on 11.0/11i and
11i Version 1.5 or later
(PA-RISC & IPF)

Apache Web Servermod_ssl

1.3.262.8.3

2.0.3943A standard module of ASF Apache

OpenSSL

0.9.6gc5a

0.9.6gc

mod_ssl

2.8.109

A standard module of ASF Apache

BSAFE ®

Crypto-C

PA 5.2/IPF 5.2.15.0

PA 5.2/IPF 5.2.1

Tomcat Servlet Container

3.3.13.1.1

3.3.14.1.12

Apache Connector to Tomcat

mod_jserv            / mod_jk

mod_jk

Apache JServ

1.1.1

Not available.

See preceding table row for equivalent.

mod_jk

1.20

1.20

mod_perl

1.27

1.99_07

PHP

4.2.2

4.2.3

auth_ldap

1.6

1.54

OpenLDAP SDK

Not available2.0.7

2.0.7

Stunnel

Not available3.14

3.14

Webmin

0.9800.84

0.910.9801.020

Xerces

Not available

2.2.1

Xalan

Not available

2.4.1

Batik

Not available

1.5

FOP

Not available

0.20.4

Cocoon

Not available

2.0.3

 

 

Note:

The version numbers in the preceding table are correct for the HP Apache-based Web Server 1.3.26.065x and 2.0.39HP-UX Web Server Suite initial . 050  releases shown. For later releases see the HP Apache Release Notes in the documentation directory,  in /opt/hpapache2/hp_apache_docs/hpapache.admin.guide or on the Software Depot web site:

software.hp.com/ à Featured Products à HP-UX Apache-based Web Server

 or

www.hp.com/go/webserveràClick “downloads”software.hp.com/,  search for  "HP Apache-based Web Server"

 


4.3        New Multi-Processing Module in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite

 

The Apache HTTP server 2.x can be built with one of several different multiprocessing modules (MPMs). These MPMs are beos, os2, perchild, prefork, winnt and worker. Apache 1.3.x is equivalent to "prefork". HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite is built with the "worker" module. This module implements a hybrid, multiprocess, multithreaded server and provides high scalability with improved performance.

 

In the worker MPM a single control process is responsible for launching child processes. A fixed number of threads is created by each child process. This is specified in the ThreadsPerChild directive. Individual threads listen for connections and serve them when they arrive. A pool of spare, idle threads is created to be ready to handle these connections. The MinSpareThreads and MaxSpareThreads directives determine the range of this pool. Processes will be dynamically created until there are idle threads equal to at least MinSpareThreads. Processes will be destroyed until there are idle threads less than or equal to  MaxSpareThreads. The MaxRequestsPerChild directive limits the number of requests that an individual child server process will handle. It controls how frequently the server recycles processes by killing old ones and launching new ones. If MaxRequestsPerChild is set to 0 then processes are never recycled.

 

For more information on the worker MPM, see httpd.apache.org/docs-2.0/mod/worker.html.

 

 

4.4        Summary of New Features in the HP Apache Version 2.xrthellaHP-UX Web Server Suite

 

Following is a summary of the new features in HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite.

 

Threading

HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite runs in a hybrid multiprocessmulti-process, multi-threaded mode for improved scalability.

Multi-protoocol Support

One of the new capabilities of Apache is support for multiple protocols. Users can write filters that implement ftp and other protocols. (mod_echo is provided as an example.)

Apache Portable Runtime (APR)

This new Apache API for modules has changed significantly for 2.xrthellaHP-UX Apache-based Web Server.  In 2.xrthellaHP-UX Apache-based Web Server module ordering is done largely automatically. Module ordering is also done per-hook to allow more flexibility. Hooks allow modules to interact with Apache at many points in Apache's processing chain. New calls have been added that provide additional module capabilities without patching the core Apache server.

Filtering

Apache modules may now be written as filters that act on the stream of content as it is delivered to or from the server. For example, the output of CGI scripts can be parsed for Server-Side Include directives by mod_include.

IPv6 Support

On systems where IPv6 is supported by the underlying OS, Apache gets IPv6 listening sockets by default. Additionally, the Listen, NameVirtualHost, and <VirtualHost> directives support IPv6 numeric address strings (e.g., "Listen [fe80::1]:8080").

Note:

a.       HP-UX Apache Web Server Suite for IPv6 is available on 11i (PA-RISC) as a separate HP –UX ApacheWeb Server Suite product and requires an additional IPv6 networking product to be installed. HP plans to have IPv6 support integrated into 11i version 2.

b.       Other HP-UX releases and IPF are not supported at this time.

WebDAV

WebDAV (“Web-based Distributed Authoring and Versioning”) is a set of extensions to the HTTP protocol whichprotocol that allows users to create, move, copy, and delete files (i.e. HTML, images, presentations) and directories on a remote server.  HP-UX Apache-based Web Server implements WebDAV using the mod_webdav and mod_webdav_fs modules, www.webdav.org/.   WebDAV is an IETF standard for collaborative authoring on the web.  With HTTP, WebDAV can use strong authentication (certificates), encryption, proxy support, and caching.

 

 

PHP to Oracle Database Connectivity (PA-RISC only)

PHP can be used to access Oracle 8.1.6. The database can reside on either the same server as Apache (local) or on a different server (remote).

LDAP Authentication

Auth_ldap is the connector between Apache and an LDAP directory server that allows Apache to authenticate HTTP clients by utilizing entries in an LDAP directory. authAuth_ldap supports iPlanet (Netscape) Directory Server and OpenLDAP Directory Server. authAuth_ldap can be configured to use the stunnel program for secure SSL queries to the LDAP server. The stunnel binary is located in /opt/hpws/apache2/stunnel/sbin. OpenLDAP SDK resides in /opt/hpws/apache2/lib/LDAP.

Webmin

Webmin has HP added functionality in administrating Apache 2.0 features, easily listing displaying default values, and and mannagingaccessing log files. You can now also generate keys and certificates for your server or for your own self signed Certificate Authority (CA).

XML Tools

 

·         Xerces provides XML parsing and generation

·         Xalan is an XSLT stylesheet processor for transforming XML documents into HTML, text, or other XML document types.

·         Cocoon is a framework for XML web publishing that brings a whole new world of abstraction and ease to consolidated web site creation and management based on the XML paradigm and related technologies.

·         FOP is a print formatter driven by XSL formatting objects. It is a Java 1.2 application that reads a formatting object tree and then turns it into a PDF document. The formatting object tree, can be in the form of an XML document (output by an XSLT engine like Xalan) or can be passed in memory as a DOM Document or (in the case of Xalan) SAX events.

·         Batik is a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG) format for purposes such as parsing, viewing, generation or manipulation on either the client side or the server side.

New Utilities

These utilities are found in /opt/hpwsapache2/util. For more information, please see:

/opt/hpws/hp_docs/opt/hpapache2/hp_apache_docs/utilities.user.guide   

 

a.      altroot.sh

     

Alternate Root Utility. After installing HP-UX Web Server Suite into the default

       /opt/hpws directory, this script can be used to move it into

       another directory.

 
 .
This script moves Apache from its current location to an alternate one. It changes all occurrences of old Apache root to new Apache root in all configuration files and scripts.

a.     

b.       

This interactive utility helps in the creation of cache.conf file for

use with mod_file_cache. Performance of HP-UX Apache-based Web Server can be improved for

serving of static content by using mod_file_cache. Frequently accessed

static files can be pre-loaded into memory and served directly in   order

to avoid frequent disk access. Files to be cached by mod_file_cache are

listed in cache.conf file.

 

c.       chroot_os_cp.sh

     

 This interactive utility helps in the creation of cache.conf file for use with mod_file_cache.  Performance of HP Apache can be improved for serving of static content by using mod_file_cache.

chroot_os_cp.sh

                   Chroot copy utility.  This is a helper script that sets up chroot

       by copying typical files used by HP-UX Apache-based Web Server into the chroot directory.

       The copied set of files allows demo web pages to run. A very secure        Apache may require some of these files to be deleted. If you need

       additional things to be done as part of chroot set-up, you are

       encouraged to customize this script for your site.

 

d.      mkcert.sh

 Chroot Copy utility.  This utility is provided as a support for using the chroot feature with apache.  Please refer to security.admin.guide for information on Chroot.

mkcert.sh

SSL Certificate Generation Utility.  This script generates private keys, certificate signing requests, and certificates for the CA, server, and client.   Before you use the mod_ssl, you should prepare the SSL certificate system by running the 'mkcert.sh' command.

 

e.      ports.sh

ports.sh

      
 

       Port List Utility. This script lists the ports being configured

       by the HP-UX Apache-based Web Server. In this distribution,  

       ports are configured for Apache, Apache(SSL), Tomcat, mod_jk,

       Webmin, and LDAP.

 

f.        stunnel_ctl.sh

 

 Port List Utility. This is a shell script that lists the ports that are being configured by the HP Apache-based Web Server. In this distribution, there are ports being configured for Apache, Apache(SSL), Tomcat, mod_jk, Webmin, and LDAP.

a.stunnel_ctl.sh

This is a wrapper utility for starting up the stunnel program.  Stunnel is used for SSL connections between Apache and an LDAP directory server.  More information on configuring an SSL connection is in the ldap.admin.guide.

 

g.      test_certmig.sh

 
 

       Certificate Migration Utility. This utility is a wrapper around

       certmig. It can be used to import, extract and list the certificates

       in an iPlanet 4.1.x Certificate database. For usage information,

        Type  "/opt/hpws/apache/util/test_certmig.sh -h".

 

 

 

 

 

 

AAdditional features that are part of this release are:

 

 

       Chroot causes the named directory to become the root directory,

       the starting point for path searches. A malicious user cannot get

       to the root file system. Our chroot includes SSL enhancements.

       We include aa  script, /opt/hpws/apache/util/chroot_os_cp.sh, that can

       be used to copying OS files to your chroot ddirectory.

 

       The certmig utility makes sharing of certificates between the Netscape

       Enterprise Server (4.x and above) and any server that supports PKCS#12

       formats possible.  The certmig utility is an extension of the pk12util

       utility, provided by the Mozilla community.  In addition to the

       pk12util functionality, certmig lists and extracts certificates from

       Netscape certificate databases.

 

       Certmig is installed in /opt/hpws/apache/bin/certmig.  For more

       information, see  //opt/hpws/hp_docs/apache/hpws_docs/certmig.user.guide.

       A helper script, test_certmig.sh, is located in /opt/hpws/apache/util

       directory. For more information on this script, see

       /opt/hpws/hp_docs/apache/hpws_docs/utilities.user.guide.

 

       mod_perl is an add-on Apache module that glues together the Perl

       runtime library, server software and an object-oriented Perl interface

       to Apache's C language API.  It enables Apache modules to be written

       entirely in Perl and improves performance of Perl cgi scripts.  The

       Prerequisites section in the apache.admin.guide contains requirements

       for mod_perl.  It is still under development because of its

       dependency on Apache's API.

 

       Auth_ldap is the connector between Apache and an LDAP directory server

       module allowing Apache to authenticate HTTP clients by using entries

       in an LDAP directory.  Auth_ldap supports iPlanet(Netscape) Directory

       Server and OpenLDAP Server and can be configured to use the stunnel

       program for secure SSL queries to the LDAP server. Stunnel is started

       and stopped using the /opt/hpws/apache/util/stunnel_ctl.sh utility.

 

       More information on setting up auth_ldap and stunnel can be found in

       /opt/hpws/hp_docs/apache/hpws_docs/ldap.admin.guide

 

       apr_shm is a library that abstracts the usage of shared memory on

       UNIX platforms. It was previously called "Shmem" in this  

       release. apr_shm support allows the /opt/hpws/apache/conf/ssl.conf

       SSLSessionCache directives shmht:/opt/hpws/apache/logs/ssl_scache(51200)

       and shmcb:/opt/hpws/apache/logs/ssl_scache(51200) to be used.  51200

       represents the size of the shared memory being created and can be

       changed based on the system resources.  Shmht refers to the hash table

       method of session caching and shmcb refers to the circular buffer

       method of session caching.  Please note that either shmht or shmcb can

       be specified.

 

1.12

       Tomcat is an implementation of the Java Servlets 2.23 and JavaServer

       Pages 1.12 specifications. Tomcat can work either standalone or with

       the HP-UX Apache-based Web Server depending on the configuration. Tomcat

       is pre-configured to run with HP-UX Apache-based Web Server. Tomcat

       listens on port number 8081.

 

       Tomcat is installed in /opt/hpws/tomcat.  For more information,

       please see /opt/hpws/hp_docs/tomcat/hpws_docs/tomcat.admin.guide

 

       OpenSSL is a fully-featured Open Source toolkit implementing

       the Secure Sockets Layer and Transport Layer Security protocols

       with full-strength cryptography worldwide.

 

       OpenSSL is installed in /opt/hpws/apache/ssl/openssl_bsafe/bin/openssl.

 

       PHP is an HTML embedded, server-side, cross-platform, scripting

       language with support for database access. This version includes the

       security fix to correct POST vulnerabilities in versions 4.2.0 and

       4.2.1. For more information see: http://www.php.net/release_4_2_2.php

 

       For more information on PHP, please see php.admin.guide and

       php.user.guide in the  /opt/hpws/hp_docs/apache hpws_docs/ directory.

 

       Administration and Configuration GUI, a customized version of Webmin

       for HP-UX Apache-based Web Server Suite.  Webmin can configure the MPM

       directives that are new to Apache 2.0.  It has also been enhanced

       to generate Certificate Authority (CA)  Server Keys and Certificates

       using the OpenSSL toolkit.

 

       Webmin is installed in the /opt/hpws/webmin/ directory.

       For more information on Webmin, please see

       /opt/hpws/hp_docs/webmin/webmin_docs/webmin.admin.guide

 

Apache modules in C++

       HP-UX Apache-based Web Server supports loading of Apache modules written

       in C++. More information regarding building and using C++ modules can

       be found in /opt/hpws/apache/build/examples/README and in the FAQ under

       Troubleshooting - "Why does my C++ module fail to load?".

 

Automatic Restart of Apache/Tomcat/Webmin

       Apache/Tomcat/Webmin can be started automatically on reboot.

       More information on customization/configuration of this feature can

       be found at in /opt/hpws/hp_docs/apache/hpws_docs/apache.admin.guide

 

 

The Apache product is built with options that provide maximum flexibility to

allow enabling of new modules or disabling of existing modules.  The modules

included by default as shared objects with the HP-UX Apache-based Web Server

are listed below. These modules are located in the /opt/hpws/apache/modules/

directory.

 

For a detailed description of the standard Apache modules, please see

http://httpd.apache.org/docs-2.0/mod/index-bytype.html.
 
 

 This utility is a wrapper around certmig. It can be used to test the functionality of certmig, including certificate importing and extracting a certificate from a Netscape Certificate Database

 

 

For more detailed information about new and changed features included in each HP-UX ApacheWeb Server Suite release, see the HP-UX Apache release notes for each release on the Software Depot web site:

 

www.hp.com/go/webserver
    Click
àFeatured Productsdownloads
       
àHP Apache-based Web Server.

 

OR

 

software.hp.com/
   
àSearch for: HP Apache-based Web Server

 

For additional information, see:

 

httpd.apache.org/docs-2.0/

 


Components & Features of Apache and HP ApacherthellaHP-UX Web Server Suite

Components & Features

Apache 1.3 from ASF1

HP Apache 1.3.267HP Apache 1.3.x

Apache 2.0 from ASF1

HP Apache 2.x–UX Web Server Suite

PA/IPF

IPF

PA / IPF 2

Latest HP Apache Available on HP SW Depot (JulyAug. Feb13, 2002)

 

1.3.26719.23

1.3.19.24

 

2.0.39430.00

Apache Web Server

1.3.2619

1.3.26719

1.3.19

2.0.39432

2.0.39432

SuEXEC

yes

 

yes

Yesyes

IPv6**

 

 

yes

PA only

*Auto-restart Apache, Tomcat, or Webmin

 

yess

yes

 

Yesyes

*Shared Memory Caching

 

MM v.1.2.1

MM

 

apr_shmshmem

*Support for Apache modules written in C++ shared libraries

 

yes

yes

 

Yesyes

*altroot.sh

 

 

 

Yyes

*cache_util.sh

 

 

 

Yesyes

*ports.sh

 

 

 

Yesyes

   Security

mod_ssl

 

2.8.10193

2.8.3

Built-in

Built-in

OpenSSL

 

0.9.6gc5a

0.9.6b

 

0.9.6gc

auth_ldap

 

1.6

 

1.5.4

Stunnel

 

3.1.4

 

3.1.4

*Chroot

 

yes

yes

 

Yes

*Certmig

 

PA onlyyes

 

PA only

*test_certmig.sh

 

 

 

PA only

*mkcert.sh

 

yes

 

Yesyes

*stunnel_ctl.sh

 

 

 

Yesyes

   Scripting

mod_perl

 

1.27

 

1.99_07

PHP

 

4.2.2

 

4.2.3

PHP with Oracle extension

 

 

 

yes

   Miscellaneous

mod_dav/mod_dav_fs

 

 

yes

yes

mod_proxy

yes

yes

yes

yes

mod_define

 

yes

 

 

   Java

Tomcat Servlet Container

 

3.3.11.1

3.2.3

 

3.3.14.1.12

Apache connector to Tomcat

 

mod_jserv

mod_jk 1.2.0

mod_jserv

 

mod_jk 1.2.0

Apache JServ

 

1.1.1

1.1.1

 

 

   Administration

Webmin

 

0.98084

0.84

 

0.9801.0201

   Xmltools

Xerces

 

 

 

yes

Xalan

 

 

 

yes

Batik

 

 

 

yes

FOP

 

 

 

yes

Cocoon

 

 

 

yes

Notes:

1     “Apache from ASF” indicates that if you were to go to httpd.apache.org, download and build Apache yourself, these features/components would be included in the standard distribution.

2     PA-RISC binaries are 32-bit and IPF binaries are 64-bit.

*    Indicates HP added feature. Not available in Open Source.

** IPv6 is only available on PA-RISC 11i (11.11) with IPv6 product (T1306AA) installed and 11i Version 1.6 (11.23). Since Apache is dependent on other products such as Java and Perl, some components are not completely supported.

Note: The version numbers in the preceding table are correct for the HP Apache-based Web Server 1.3.267.06 5 and HP-UX Web Server Suite initial3943.05 release. For later releases see the HP Apache Release Notes in the documentation directory, or on the SoftwareDepotweb site:

www.hp.com/go/webserver
Click
àdownloads
software.hp.com/àFeatured ProductsàHP Apache-based Web Server  or

software.hp.com/,  search for  "HP Apache-based Web Server"


 

5         Preparing for Installing HP Apache 2.xrthellaHP-UX Web Server Suite

 

5.1        HP Apache Hardware and Software Requirements

 

The HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite runs on HP-UX 11.0, 11i, or 11i Version 1.5 or later.
There are a small number of required patches that affect functionality. These can be reviewed after installation. They are listed in the Admin Guides for each component which can be found in the directory
/opt/hpwsapache2/hp_apache_docs.

 

The following table shows the necessary hardware and software for installing and running the HP Apache or HP-UX Web Server Suiteproduct. These requirements should be satisfied before beginning a migration.

 

Hardware and Software Requirements

HP Apache-based Web Server Products

HP-UX Platform

Disk Space

mod_perl

Webmin

Java Servlets and JSPs

   HP Apache-based Web Server versions 1.3.x

v.1.3.262719.23 PA-RISC

product # B9415AA

HP-UX 11.0 or 11i 

50-60 40MB

Perl v.5.6.1

Perl 5 or greater

HP JDK 1.2.2.04 or higher (JDK 1.3 or higher recommended)

 

JSDK 2.0 for

ApacheJServ

2.0 servlets

v.1.3.26719.24 IPF

 

Itanium Processor Family (IPF)

Pre-enabled for 64-bit Perl

product # B9415AA

HP-UX 11i Version 1.5 or later

50-60MB

64-bit Perl for IPF

Perl 5 or greater

HP JDK 1.3.0 for IPF or higher

 

JSDK 2.0 for

ApacheJServ 2.0 servlets

   HP Apache-based Web Server versions 2.xrthellaHP-UX Web Server Suite

v.2.0.39430 PA-RISC

product # B9416AAB9416AA

 

HP-UX 11.0 or 11i

20080-22090MB *

Perl v.5.6.1

Perl 5 or greater

HP JDK 1.2.2.04 or higher (JDK 1.3 or higher recommended)

v.2.0.39430 PA-RISC with IPv6

product # B9416BAB9416BA

HP-UX 11i
IPv6 product #
T1306AA

20080-22090MB *

Perl v.5.6.1mod_perl currently not supported

Perl 5 or greater

HP JDK 1.4 or higher

v.2.0.39430 IPF

product # B9416AAB9416AA

HP-UX 11i Version 1.5 or later

200890-22090MB *

64-bit Perl for IPF

Perl 5 or greater

HP JDK 1.3.0 for IPF or higher

 

 

5.2        Disk Space Requirements

 

20080 to 22090MB of disk space is needed to install the entire HP Apache 2.xrthellaHP-UX Web Server Suite. See the table above for details.Installed separately, each product uses the:

            HP-UX Apache-based Web Server                 655 MB

            HP-UX Tomcat-based Servlet Engine             1520 MB

            HP-UX Webmin-based Admin                         5 MB

            HP-UX XML Web Server Tools                     10015 MB

 

             To use Cocoon with Tomcat add  40 MB.

5.3        Perl Requirements

 

Perl is needed when you are using perl scripts, mod_perl, or Webmin. The Release Notes bundled with the product describe how to configure mod_perl and Webmin.

 

apxs is a utility perl script provided by Apache for compiling and installing modules. HP Apache-based Web Server 1.3.x for IPF expects perl to be at /usr/contrib/Q4/bin. All other versions expect Perl to be at /opt/perl/bin/perl.

 

The mod_perl module is an add-on that is compiled into HP Apache or HP-UX Apache-based Web Server but is not configured by default. Using mod_perl enables Perl CGI to run faster and allows Apache add-on modules to be written in Perl.

 

The Webmin tool is the web-based GUI administrator for HP Apache or HP-UX Web Server Suite. The Webmin tool requires Perl version 5.002 or higher; HP Apache 2.xrthellaHP-UX Web Server Suite mod_perl requires Perl v 5.6.1.  Therefore, using Perl 5.6.1 is recommended. (Perl 5.6.1 is the same version as was required by HP Apache 1.3.19.20 and up.)

 

On IPF, Apache 2.x is a native 64-bit application. Its mod_perl modules require respective 64-bit perl libraries v 5.6.1.

 

To download Perl 5.6.1, go to HP Software Depot at software.hp.com, search for “Perl v.5.6.1”.

 

The HP Apache release notes bundled with the HP Apache product describe how to configure mod_perl and Webmin.

 

 

5.4        Java Development Kit (JDK) Requirements

 

As part of its distribution, HP Apache-based Web Server ior  HP-UX wWeb Server Suite includes a servlet and JSP container. Apache 1.3.x bundled Tomcat and JServ; Apache 2.xrthellaHP-UX Web Server Suite bundles only Tomcat (JServ is being phased out). If you use a servlet/JSP container you need to have the HP-UX Java Developer’s Kit (JDK) release 1.2.2.04 or later. However it is strongly recommended to use version 1.3.0.2 or later.

 

The latest versions of Java can be downloaded from: www.hp.com/go/java.

 

The IPv6 version of Apache 2.xrthellaHP-UX Web Server Suite requires JDK 1.4 only if your Tomcat servlets or JSPs use IPv6 addresses. For example in many cases Apache will handle the long IPv6 addresses and Tomcat will be insulated from them. In this situation the earlier version of the JDK is sufficient. In other words if you use Java classes that need IPv6 support then JDK 1.4 is required. If you use Java classes without reference to IP addresses then the earlier JDK is adequate.

 

 

5.5        Java Servlet Development Kit (JSDK 2.x) Requirements

 

Apache 1.3.x requires JSDK 2.x in order to support Apache’s JServ. Since the JServ module is no longer used in HP Apache 2.xrthellaHP-UX Web Server Suite, JSDK 2.x is no longer required.

 

If you are using JServ on HP Apache 1.3.x, you must migrate to tomcat/mod_jk when you upgrade to HP rthellaHP-UX Web Server SuiteApache 2.x. After you install HP Apache 2.xrthellaHP-UX Web Server Suite, perform the steps described in Migrating Tomcat and Java.

 

See also the “jserv_to_tomcat._migration._guide”, which is available at:

 

/opt/hpws/tomcat/hpws_docs or /opt/hpws/hp_docs/tomcat /opt/hpapache2/hp_apache_docs

 


 

6         Installing HP Apache 2.xrthellaHP-UX Web Server Suite

 

The following procedures describe two methods of upgrading to HP Apache 2.xrthellaHP-UX Web Server Suite. Pick the procedure that is appropriate to your site environment.

 

·         Installing rthellaHP-UX Web Server Suite on a Server Where 1.3.x is Not Running
Pick this method if it is OK to have the web server you are upgrading unavailable while you are installing HP Apache 2.xrthellaHP-UX Web Server Suite. 

·         Installing rthellaHP-UX Web Server Suite on a Server Concurrently Running 1.3.x
Pick this method if you wish to have HP Apache 1.3.x continuously running on the server that you are upgrading to HP Apache 2.xrthellaHP-UX Web Server Suite.

 

 

6.1        Installing HP Apache 2.xrthellaHP-UX Web Server Suite on a Server Where 1.3.x is Not Running

 

Step 1: Preparing the Web Server Environment 

 

If you have not already done so, see the preceding section Preparing for Installing rthellaHP-UX Web Server Suite, before continuing with the installation. (A reminder… backup your system.)

 

 

Step 2: Remove Technology Preview Installation

 

If you participated in the Technology Preview Program and still have HP Apache-based Web Server Version 2.0.0 Tech Preview installed on your system, make sure to remove it at this time. Save any Apache configuration files, ssl certificates, Tomcat configuration files, and webapps that you may have changed or added.

 

To check to see if it is installed, type:

 

/usr/sbin/swlist | grep B9416AA

 

The product is installed if it is listed:

 

  B9416AA         2.0.00.00.02   HP Apache-based Web Server with Strong (128bit) Encryption

 

To stop Apache, Tomcat, and Webmin as root type:

 

/opt/hpapache22/bin/apachectl stop

/opt/hpapache2/apache2/tomcat/bin/shutdown.sh

/opt/hpapache2/webmin/webmin-init stop

 

To uninstall the Technology Preview, as root, type

 

/usr/sbin/swremove B9416AA

 

Also remove the directories completely. As root type

 

rm –rf /opt/hpapache2

 

 

 

 

 

 

Step 3: Stopping HP Apache 1.3.x

 

Before you install HP Apache 2.xhpws, (which uses default ports 80 and 443) you want to make sure that HP Apache Version 1.3.x (which uses the same default ports) is stopped.  This ensures that there will be no conflict in port numbers between the two versions of HP Apache.

 

To stop Apache, Tomcat, and Webmin, as root type:

 

/opt/apache/bin/apachectl stop

/opt/tomcat/bin/shutdown.sh

/opt/apache/webmin/webmin-init stop

 

Step 4: Performing the Installation

 

The HP-UX Apache-based Web Server Suite product bundle is part of HP-UX. There are two products. One is for IPv4 and has a product number of B9416AA. The other is for the new long IP addresses defined by IPv6 and it has product number of B9416BA. This example uses the IPv4 product. To install HP-UX Apache-based Web Server Version 2.xSuite, you can use one of the two following methods listed following:

 

·         Install using the HP SW Depot Web Release,
www.hp.com/go/webserveràClick “Featured ProductsàHP Apache-based Web Serverdownloads.
OR
software.hp.com/, search for "HP Apache-based Web Server".
The latest versions are available online from HP SW Depot.

·         Install using the HP-UX 11.0/11i Application Release CDs (when available).

 

Step 5: Startup After Installation

     

       Type the following command line to start Apache after installation.     

HP Apache -based Web Server sta starts up the web server (httpd) automatically after installation if there are no conflicts with port numbers. See Step 3 for details. 

/opt/hpws/apache/bin/apachectl start

 

Step 6: Perform a Quick Check of the 2.xrthellaHP-UX Web Server Suite Installation

 

Access the index.html page by typing:
http://yourserver.com

You should see the HP-UX Apache-based Web Server home page.

 

Execute the test CGI script by typing:
http://yourserver.com/cgi-bin/test-cgi
You should see several lines of text listing environment variables. The first line should be:
CGI/1.0 test script report:

 

Step 7: Stop HP ApacheHP-UX Apache-based Web Server

 

Stop HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite, if it is running, before continuing with the migration. As root, type:
/opt/hpws/apache2/bin/apachectl stop

 

Step 8: Migrating to an HP Apache 2.rthellaHP-UX Web Server Suite x Environment

 

You now need to configure your HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite, to retain any customizations you have made to your HP Apache-based Web Server 1.3.x environment. Go to Migrating Your HP Apache Configuration from 1.3.x to rthellaHP-UX Apache-based Web Server Suite for detailed instructions.

 

Also, look at the release documents that are bundled with the product to become familiar with HP-UX  Apache-based Web Server Suite’s capability. For administrator guides, user guides and configuration information, see:

 

/opt/hpws/apache2/hp_apache_docs

 


 

6.2        Installing HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite on a Server Concurrently Running 1.3.x

 

HP Apache 1.3.x and HP Apache 2.xrthellaHP-UX Apache-based Web Server

 can run simultaneously on the same machine if they use different port numbers or use different IP addresses. Each web server has its own binary.

 

Both HP Apache-based Web Server-based Web Server Versions 1.3.x and 2.xrthellaHP-UX Web Server Suite use port 80 and port 443 (SSL) by default. If you want to maximize availability during the migration by keeping HP Apache 1.3.x running on the server you are upgrading, you can temporarily change ports using the following procedure.

 

Step 1: Preparing the Web Server Environment 

 

If you have not already done so, see the preceding section Preparing for Installing rthellaHP-UX Web Server Suite, before continuing with the installation. (A reminder… backup your system.)

 

Step 2: Remove Technology Preview Installation

 

If you participated in the Technology Preview Program and still have HP Apache-based Web Server Version 2.0.0 Tech Preview installed on your system, make sure to remove it at this time. Save any Apache configuration files, ssl certificates, Tomcat configuration files, and webapps that you may have changed or added.

 

To check to see if it is installed, type:

 

/usr/sbin/swlist | grep B9416AA

 

The product is installed if it is listed:

 

  B9416AA         2.0.00.00.02   HP Apache-based Web Server with Strong (128bit) Encryption

 

To stop Apache, Tomcat, and Webmin as root type:

 

/opt/hpapache2/bin/apachectl stop

/opt/hpapache2/tomcat/bin/shutdown.sh

/opt/hpapache2/webmin/webmin-init stop

 

To uninstall the Technology Preview, as root, type

 

/usr/sbin/swremove B9416AA

 

Also remove the directories completely. As root type

 

rm –rf /opt/hpapache2

 

Step 3: Performing the Installation

 

While HP Apache 1.3.x is running, go ahead and perform the HP Apache 2.rthellaHP-UX Web Server Suitex installation.

 

The HP Apache-based Web ServerrthellaHP-UX Web Server Suite product bundle is part of HP-UX. There are two products. One is for IPv4 and has a product number of B9416AA. The other is for the new long IP addresses defined by IPv6 and it has product number of B9416BA. This example uses the IPv4 product. To install HP Apache-based Web Server Version 2.xrthellaHP-UX Web Server Suite, you can use one of the two methods listed following:

 

·         Install using the HP SW Depot Web Release,
www.hp.com/go/webserveràFeatured ProductsàHP Apache-based Web ServerClick “downloads”.
OR
software.hp.com/, search for "HP Apache-based Web Server".
The latest versions are available online from HP SW Depot.

·         Install using the HP-UX 11.0/11i Application Release CDs (when available).

 

Note:

HP Apache 2.xrthellaHP-UX Web Server Suite will not start after you install it. The reason is that the currently running version of HP Apache 1.3.x is already using the default ports of 80 and 443 (so they are unavailable to HP Apache 2.rthellaHP-UX Web Server Suitex).. You will have to temporarily change the default ports assigned to HP Apache 2.xrthellaHP-UX Web Server Suite as explained in the following steps.

 

Step 4: Assigning  Port Numbers

 

You need to modify the httpd.conf and the ssl.conf files to assign non-defaults ports in HP Apache 2.x. rthellaHP-UX Web Server Suite

 

Default Port Assignments in HP Apache 2.xrthellaHP-UX Web Server Suite:

 

Check that the proposed new port assignments are not already being used by typing:
netstat -a | egrep "8080|8443"
Select other unused port numbers s if necessary.

 

In /opt/hpws/apache2/conf/httpd.conf the port is configured by:

 

Listen  80

 

To eliminate the conflict change it to:

 

Listen 8080

 

In /opt/hpws/apache2/conf/ssl.conf the ports are configured by:

 

Listen 443

ServerName www.yourserver.com:443

VirtualHost <www.yourserver.com:443>


To eliminate conflicts change them to:


Listen 8443

ServerName www.yourserver.com:8443

VirtualHost <www.yourserver.com:8443>

 

Step 5: Startup After Changing Port Assignments

 

Start up HP Apache 2.xrthellaHP-UX Web Server Suite by typing as root:

/opt/hpws/apache2/bin/apachectl startssl

 

Step 6: Perform a Quick Check of the 2.xrthellaHP-UX Web Server Suite Installation

 

In a browser enter the following URLs.

 

Access the index.html page by typing:
http://yourserver.com:8080

You should see the HP-UX Apache-based Web Server home page.s

 

Execute the test CGI script by typing:
http://yourserver.com:8080/cgi-bin/test-cgi
You should see several lines of text listing environment variables. The first line should be:
CGI/1.0 test script report:

 

Access the index.html page securely by typing:
https://yourserver.com:8443

You should see the HP -UX Apache home page.

 

Step 7: Stop HP –UX Apache

 

Stop HP Apache 2.xrthellaHP-UX Web Server Suite, if it is running, before continuing with the migration. As root, type:

/opt/hpws/apache2/bin/apachectl stop

 

Step 8: Migrating to an HP Apache 2.xrthellaHP-UX Web Server Suite Environment

 

You now need to configure your 2.x HP Apache-based Web ServerrthellaHP-UX Web Server Suite, to retain any customizations you have made to your HP Apache-based Web Server 1.3.x environment. Go to Migrating Your HP Apache Configuration from 1.3.x to rthellaHP-UX Web Server Suite for detailed instructions.

 

Also, look at the release documents that are bundled with the product to become familiar with HP-UX Apache-based Web Server Suite’s capability. For administrator guides, user guides and configuration information, see:

/opt/hpwsapache2/hp_apache_docs

 

 


 

7         Migrating Your HP Apache Configuration from 1.3.x to 2.xrthellaHP-UX Apache-based Web Server Suite

 

During the installation of HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite, the new default httpd.conf file that configures the operation of HP ApacherthellaHP-UX Web Server Suite-based Web Server 2.x is placed in /opt/hpws/apache2/conf/httpd.conf. You will need to make sure that this new file incorporates any customizations that you made to the 1.3.x version of the file /opt/apache/conf/httpd.conf.

 

You can accomplish these migration changes by two methods. You can edit your old 1.3.x httpd.conf file to bring it into conformance with 2.xrthellaHP-UX Web Server Suite requirements (usually the most convenient method). If you use this method, make sure the updated httpd.conf file is placed in /opt/hpws/apache2/conf. As an alternative method, you can transfer your 1.3.x httpd.conf file customizations to the new rthellaHP-UX Web Server Suite2.x version of the httpd.conf file. See Quick Guide to Migration Solutions

 

The following sections list the features that are new, changed, and deleted in HP Apache-based Web ServerrthellaHP-UX Web Server Suite 2.x, and the changes you may need to make.

 

You should follow the suggested order of migration because some things will not work unless previous steps have been done.

 

 

7.1        Migrating the HP Apache Core

 

To migrate the HP Apache Core, see the following sections:

 

·         Migrating Process Handling

·         Migrating Module Loading

·         Migrating Logging

·         Migrating the Printing of Error Messages

·         Migrating Port Number Assignments

·         Migrating Access to Configuration Files

 

 

7.1.1        Migrating Process Handling

 

In HP Apache 2.xrthellaHP-UX Apache-based Web Server  you should not have to adjust the Process Handling directives because Apache will dynamically adjust the number of processes and threads based on the load. If you have extremely high loads then you should increase the MinSpareThreads and MaxSpareThreads directives.

 

Process directives have changed between HP Apache 1.3.x and HP Apache 2.xrthellaHP-UX Web Server Suite Apache. 

HP Apache 1.3.x is process-oriented and the directives in Table 6 reflect that fact. More information is available at httpd.apache.org/docs/mod/core.html.

HP Apache 1.3.x Process Directives in /opt/apache/conf/httpd.conf

Process Directive

Default Value

Description

StartServers

5

StartServers refers to number of servers to initially start.

MaxClients

150

MaxClients refers to the maximum number of child processes running simultaneously. It directly translates to the maximum number of concurrent requests served by the web server.

MinSpareServers

5

MinSpareServers sets the desired minimum number of idle child processes at any time. It serves as a trigger point for Apache to automatically spawn new processes when the number of idle processes falls below MinSpareServers.

MaxSpareServers

10

MaxSpareServers sets the desired maximum number of idle child processes at any time. It serves as a trigger point for Apache to automatically kill spare idle processes, when the number of idle processes goes above MaxSpareServers.

MaxRequestsPerChild

0

MaxRequestsPerChild sets the number of requests a child process will handle, before it is killed (aged-out).  A value of 0 says that the child process would never expire.

 

 

The following table shows the default process directives in HP Apache 2.xrthellaHP-UX Apache-based Web Server.

HP Apache Version 2.xrthellaHP-UX  Apache-based Web Server  is thread-oriented as reflected in the following table. More information is available at httpd.apache.org/docs-2.x/mod/worker.html.

HP Apache 2.xrthellaHP-UX Apache Web Server  Process Directives in /opt/hpws/apache2/conf/httpd.conf

Process Directive

Default Value

Description

StartServers

ThreadsPerChild

2

25

StartServers refers to number of server processes to start at start-up time. However, the number of "workers" available to serve requests is dependent on the ThreadsPerChild directive. Hence, in this example, the number of workers available is 2*25 = 50.

MaxClients

8

MaxClients refers to the maximum number of child processes running simultaneously.  In conjunction with the ThreadsPerChild directive, it translates to maximum number of concurrent requests served, in this case 8*25=200 requests.

MinSpareThreads

25

MinSpareThreads sets the desired minimum number of idle threads at any time. It serves as a trigger point for Apache to automatically spawn a new process, when the number of idle threads falls below 25 (in this example).  Spawning of each new process directly translates into 25 (ThreadsPerChild) new threads.

MaxSpareThreads

75

MaxSpareThreads sets the desired maximum number of idle threads at any time.  It serves as a trigger point for Apache to automatically kill spare idle processes, when the number of idle processes goes above 75 (as in this example). Killing of each process directly translates into 25 (ThreadsPerChild) killed threads.

MaxRequestsPerChild

0

MaxRequestsPerChild sets the number of requests a child process will handle, before it is killed (aged-out).  A value of 0 says that the child process would never expire.


HP Apache 1.3.x Multiprocess Diagram

Parent Process

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 


MinSpareServers 5

MaxSpareServers 10 so a quiet server with no connections could stillwould have up to a minimum of 5 and maximum of 10 child processes child processes running.

 

 

HP Apache 2.x rthellaHP-UX Apache-based Web Server  Worker Multiprocess Multithread (MPM) Diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


MinSpareThreads 25

MaxSpareThreads 75 so a quiet server with no connections could still have up towould have a minimum of 3 and a maximum of 4 3 child processes running.

 

 

Verification:

Type:

ps -f | grep httpd
With the default settings you should see 4 httpd processes

 

 

 

7.1.2        Migrating Module Loading

 

In HP Apache 1.3.x the AddModule directives specified what modules to enable, and the LoadModule directives specified in what order the modules were to be loaded.  However, in HP Apache 2.xrthellaHP-UX  Apache-based Web Server 2.0, the order in which module loading occurs is handled automatically. Therefore, the AddModule and ClearModuleList directives have been removed. The LoadModule directive is the only one required to specify which modules to load.

 

 

 

Loading Modules in HP Apache 1.3.x:

 

Modules were loaded in HP Apache 1.3.x with the following directives in /opt/apache/conf/httpd.conf

 

AddModule mod_xyz


LoadModule mod_xyz libexec/mod_xyz.so

 

 

 

Loading Modules in HP Apache 2.xrthellaHP-UX Apache-based Web Server:

 

Let’s say you have added 1.3.x modules to the HP Apache 1.3x httpd.conf file. To move these modules to HP Apache 2.xrthellaHP-UX  Apache, first make sure you have the 2.x versions of the modules. (If you have user-created modules, see Porting User-Crea

ted Modules to HP Apache 2.x for more information.) For example, suppose that in 1.3.x you had added the mod_xyz module, and now want to add it to HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite. Your entry in the /opt/hpws/apache2/conf/httpd.conf file would look like this:

 

LoadModule mod_xyz modules/mod_xyz.so

 

 

 

7.1.3        Migrating Logging

 

The AgentLog, RefererLog, and RefererIgnore directives have been removed in HP Apache 2.xrthellaHP-UX Apache Web Server. Agent and referer logs are still available using the CustomLog and LogFormat directives of mod_log_config. The SetEnvIf directive of mod_setenvif can be used for ignoring referers.

 

Logging in HP Apache 1.3.x:

 

The AgentLog directive was defined in mod_log_agent.  RefererLog and RefererIgnore directives were defined in mod_log_referer. Logging was enabled by default in HP Apache 1.3.x.

 

AgentLog logs/agent_log

RefererLog logs/referer_log

RefererIgnore www.yourserver.com

 

Logging in HP Apache 2.xrthellaHP-UX Apache-based Web Server:

 

By default logging is disabled in HP Apache 2.xrthellaHP-UX Apache-based Web Server because it affects performance. The procedure is to first define a format with the LogFormat directive and then use the CustomLog directive to attach it to a specific log file. 1.3.x functionality can achieved with the following directives:

 

LogFormat "%{User-agent}i" agent

CustomLog logs/agent_log agent

 

LogFormat "%{Referer}i -> %U" referer

SetEnvIf Referer www\.yourserver\.com server-request

CustomLog logs/referer_log referer env=!server-request

 

 

7.1.4        Migrating the Printing of Error Messages

 

The 1.3.x method continues to work but according to ASF ErrorDocument directive information, you must provide the closing quote. It is unclear if ASF will enforce this in future releases.

 

Printing Error Messages in HP Apache 1.3.x:

 

Error messages were specified in 1.3 x in /opt/apache/conf/httpd.conf.

The ErrorDocument directive used a quote only at the beginning of the argument to indicate a text message.

 

ErrorDocument 403 "Some Message

 

Printing Error Messages in HP Apache 2.xrthellaHP-UX Apache-based Web Server:

 

The ErrorDocument directive no longer uses a quote at the beginning of the argument to indicate a text message. Instead enclose the message in double quotes.

 

Error messages are specified in 2.x in /opt/hpws/apache2/conf/httpd.conf:

 

ErrorDocument 403 "Some Message"

 

Verify

 

Currently no error is generated if you do it the old way.

 

7.1.5        Migrating Port Number Assignments

 

HP Apache-based Web Server 1.3.x and HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite can run simultaneously on the same machine if they use different port numbers or use different IP addresses.  Each web server has its own binary.

 

HP Apache 2.xrthellaHP-UX Web Server Suite can be installed in any location allowing multiple Apache 2.x installations to run on the same machine provided they use unique port numbers or use different IP addresses.

 

HP Apache uses Virtual Hosts to run a single binary each with its own configuration and log files.

 

Assigning Ports in HP Apache 1.3.x:

 

Ports were assigned in 1.3.x in the “/opt/apache/conf/httpd.conf file.

 

For example, if you wanted HP Apache to accept requests on Port 80, the following directive would be specified:

 

Port 80

 

However, if you wanted the same apache server to listen in on an additional port, say 8000, you would use the following directives together.

 

Port 80

Listen 80

Listen 8000

 

 

Assigning Ports in HP Apache 2.xrthellaHP-UX Web Server Suite:

 

In the 2.x version of HP Apache the directives Port and BindAddress have been removed. Equivalent functionality is provided by the Listen directive. The Listen directive tells the server to accept incoming requests only on the specified port or address-and-port combinations. If only a port number is specified in the Listen directive, the server listens to the given port on all interfaces. If an IP address is given as well as a port, the server will listen on the given port and interface. Multiple Listen directives may be used to specify a number of addresses and ports to listen to. The server will respond to requests from any of the listed addresses and ports.

 

To accept requests on Port 80, the directive would be specified in /opt/hpws/apache2/conf/httpd.conf.

 

Listen 80

 

However, if you wanted the same apache server to listen in on an additional port, say 8000, you would use the following directives together.

 

Listen 80

Listen 8000

 

To make the server accept connections on two specified interfaces and port numbers, use

 

Listen 192.170.2.1:80

Listen 192.170.2.5:8000

 

 

 

Binding to a Particular Address in HP Apache 1.3.x and 2.xrthellaHP-UX Web Server Suite:

 

In Apache 1.3.x, BindAddress made the server bind to just the specified address. If the argument was * (an asterisk), the server bound to all interfaces currently marked as up on the server. The Port directive sets which port to bind to. Only one BindAddress should be used.

 

In 2.0, the Listen directive can be used to achieve the same result.

 

HP Apache 1.3.x

HP Apache 1.3.x Alternate Method

HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite

BindAddress *

Port 80

Listen *:80

Listen *:80

BindAddress 111.222.333.444

Port 80

Listen 111.222.333.444:80

Listen 111.222.333.444:80

BindAddress yourserver.com

Port 80

No equivalent. Can use only IP address.

No equivalent. Can use only IP address.

No support for IPv6

No support for IPv6

Listen [fe80::1]:80

 

Verify:

 

Stop and start Apache.

The default Apache configuration starts four httpd processes. Verify that they are all running by typing:

ps -e | grep httpd

 

 

Note:

In both HP Apache 1.3.x and 2.xrthellaHP-UX  Apache-based Web Server Suite, Listen does not implement Virtual Hosts. It only tells the main server what addresses and ports to listen to. If no <VirtualHost> directives are used, the server will behave the same for all accepted requests. However, <VirtualHost> can be used to specify a different behavior for one or more of the addresses and ports. To implement a VirtualHost, the server must first be told to listen to the address and port to be used. Then a <VirtualHost> section should be created for a specified address and port to set the behavior of this virtual host. If the <VirtualHost> is set for an address and port that the server is not listening to, it cannot be accessed.

 

For more information, see the documentation on Listen directive, Virtual Hosts, DNS Issues or <VirtualHost> section. See also, Setting which addresses and ports Apache uses.

 

 

7.1.6        Migrating Access to Configuration Files

 

In Version 1.3.x, HP Apache commented out the ResourceConfig and AccessConfig directives and the files srm.conf and access.conf had only comments. Since Apache 1.3.6 directives from srm.conf and access.conf have been included within httpd.conf. The ResourceConfig and AccessConfig directives have been removed in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite.  Existing instances of these directives can be replaced with the "Include" directive which has equivalent functionality.

 

If you were making use of the default values of the ResourceConfig and AccessConfig directives in HP Apache 1.3.x without including them in the configuration files, then in HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite you may need to add Include conf/access.conf and Include conf/srm.conf  directives in your /opt/hpws/apache2/conf/httpd.conf file.

 

In order to assure that Apache reads the configuration files in the same order as implied by the older directives, the Include directives should be placed at the end of httpd.conf, with the one for srm.conf preceding the one for access.conf.

 

 

7.2        Migrating Included Modules

See Module Changes in the Appendix.

 

7.2.1        Migrating mod_proxy

 

The 1.3.x mod_proxy module included both proxy and cache functionality. 2.xHP-UX Apache-based Web Server seperates these two out. Now mod_proxy just does proxying.

mod_cache implements an RFC 2616 compliant HTTP content cache that can be used to cache either local or proxied content. mod_cache requires the services of one or more storage management modules. Two storage management modules are included in HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite:

·         mod_disk_cache
A disk based storage manager, generally used for proxy caching. For a cached file the proxy server will serve the request directly and avoid the overhead of sending the request on to the web server.

·         mod_file_cache
An mmap based and/or file handle
based storage manager that allows the server file system to control whether the file is in memory or not. This replaces all the functionality of the 1.3.x module, mod_mmap_static.

·         mod_mem_cache (Not currently in HP Apache 2.xrthellaHP-UX Web Server Suite)
A

             An in-memory based storage manager, primarily useful for caching local content.

 

 

7.2.2        Migrating How Documents are Cached by Proxy Servers

 

If it is set, the CacheNegotiatedDocs directive allows content-negotiated documents to be cached by proxy servers. Prior to HP Apache version 2.xrthellaHP-UX Web Server Suite, CacheNegotiatedDocs did not take an argument; it was turned on by the presence of the directive by itself.

                                                                                           

In HP Apache 2.xrthellaHP-UX Web Server Suite the CacheNegotiatedDocs directive takes the argument on or off.  In the httpd.conf file, replace existing instances of CacheNegotiatedDocs with CacheNegotiatedDocs on.

 

 

7.3        Migrating Security

 

To migrate Security from HP Apache 1.3.x to 2.xrthellaHP-UX  Apache-based Web Server Suite, see the following sub-sections:

 

·    Migrating SSL

·    Migrating Chroot

 

 

7.3.1        Migrating SSL

 

In the 1.3.x version of HP Apache-based Web Server, SSL configuration information was provided in the httpd.conf file.  In the 2.x version of HP Apache-based Web ServerrthellaHP-UX  Apache-based Web Server Suite SSL configuration information has been moved to ssl.conf. 

 

To migrate SSL from 1.3.x to 2.x, you should move your customized SSL configuration information from the 1.3.x version of the /opt/apache/conf/httpd.conf file to /opt/hpws/apache2/conf/ssl.conf.

 

In addition you need to edit your ServerName directives by adding a colon and port number after each ServerName directive. You also need to replace your SSL logging directives with Apache logging directives.  See the following example.

 

SSL in HP Apache 1.3.x:

 

SSL was enabled in 1.3.x with the following entry in /opt/apache/conf/httpd.conf .

 

##

## SSL Virtual Host Context

##

<VirtualHost _default_:443>

#  General setup for the virtual host

DocumentRoot "/opt/apache/htdocs"

ServerName yourserver.com

 

       SSL Logging has its own directives in /opt/apache/conf/httpd.conf.

 

SSLLog      /opt/apache/logs/ssl_engine_log

SSLLogLevel info

 

SSL in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite:

You can no longer proxy through SSL.

SSL is enabled in 2.x with the following entry in /opt/hpws/apache2/conf/sslhttpd.conf .

 

##

## SSL Virtual Host Context

##

<VirtualHost _default_:443>

#  General setup for the virtual host

DocumentRoot "/opt/hpws/apache2/htdocs"

ServerName yourserver.com:443

 

      SSL logging uses the Apache directives in /opt/hpws/apache2/conf/ssl.conf .

ErrorLog logs/error_log

LogLevel info

 

 

7.3.2        Migrating Chroot

 

Chroot remains unchanged between HP Apache 1.3.x and 2.xrthellaHP-UX Web Server Suite.

 

 

7.4        Migrating Scripting Modules

 

To migrate Scripting Modules from HP Apache 1.3.x to 2.rthellaHP-UX  Apache-based Web Server Suitex, see the following sub-sections:

 

·         Migrating PHP

·         Migrating Perl

·         Migrating CGI

·         Migrating Server-Side Includes

 

 

7.4.1        Migrating PHP

 

PHP in HP Apache 1.3.x:

 

PHP was enabled in 1.3.x with the following entries in the /opt/apache/conf/httpd.conf file:

 

LoadModule php4_module libexec/libphp4.so

AddModule mod_php4.c

 

PHP in HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite:

 

To enable PHP in 2.x uncomment the following lines or make sure they are present in /opt/hpws/apache2/conf/httpd.conf:

 

LoadModule php4_module modules/libphp4.so

 

<Files *.php>   

    SetOutputFilter PHP

    SetInputFilter PHP

</Files>

 

To use PATH_INFO, you must explicitly set directive AcceptPathInfo, otherwise a 404 response will be returned. In 1.3, PATH_INFO is enabled by default, so a PHP script /script.php will be invoked if a request is made to the location /script.php/foo/bar, passing a PATH_INFO of /foo/bar to the script.

 

7.4.2        PHP Oracle support in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite

 

PHP Oracle support is new at HP Apache 2.xrthellaHP-UX Web Server Suite.

 

To enable PHP Oracle, edit the file /opt/hpws/apache2/bin/apachectl. Uncomment the four individual lines that each begin with export:

export ORACLE_HOME=/opt/oracle

export ORACLE_SID=dummy_sid

export
  
LD_PRELOAD="$LD_PRELOAD:$ORACLE_HOME/JRE/lib/PA_RISC/native_threads/libjava.sl"

export SHLIB_PATH="$SHLIB_PATH:$ORACLE_HOME/lib"

 

 

7.4.3        Migrating Perl

 

Perl in HP Apache 1.3.x:

 

Perl was enabled in 1.3.x with the following entry in /opt/apache/conf/httpd.conf .

 

AddModule mod_perl.c

<IfModule mod_perl.c>

   PerlModule Apache::Registry

   <Files *.pl>

       SetHandler perl-script

       PerlHandler Apache::Registry::handler

       Options ExecCGI

   </Files>

</IfModule>

For backward mod_perl compatability use perl module Apache::compat.

See http://perl.apache.org/docs/2.0/user/compat/compat.html   for incompatabilities between mod_perl 1.0 and 2.0     

 

Perl in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite:

 

Perl is enabled in 2.x with the following entry in /opt/hpws/apache2/conf/httpd.conf: .

 

LoadModule perl_module modules/libmod_perl.so

<IfModule mod_perl.c>

    PerlModule ModPerl::Registry

    <Files *.pl>

        SetHandler perl-script

        PerlHandler ModPerl::Registry::handler

        Options ExecCGI

        PerlOptions +ParseHeaders

    </Files>

</IfModule>

 

Note:

CGI scripts cannot be executed through mod_perl in the current release of HP Apache 2.rthellaHP-UX Web Server Suitex.

 

 

7.4.4        Migrating Common Gateway Interface (CGI)

 

The module mod_cgid is new in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite.

 

Forking a process from a multi-threaded server can be a very expensive operation because the new process will replicate all the threads of the parent process. In order to avoid incurring this expense on each CGI invocation, in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite mod_cgid creates an external daemon that is responsible for forking child processes to run CGI scripts. The main server communicates with this daemon using a unix domain socket.

 

At the user level, this module is identical in configuration and operation to mod_cgi. The only exception is the additional directive Scriptsock which gives the name of the socket to use for communication with the cgid daemon.

 

CGI in HP Apache 1.3.x:

 

CGI was enabled in 1.3.x with the following entry in /opt/apache/conf/httpd.conf .

 

AddModule  mod_cgi.c

...
LoadModule cgi_module  libexec/mod_cgi.so

 

CGI in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite:

 

The cgid daemon is turned on in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite by default. The Scriptsock directive is used to set the UNIX socket for communicating with cgid.

 

The relevant parts of httpd.conf are:

LoadModule cgid_module modules/mod_cgid.so

#LoadModule cgi_module modules/mod_cgi.so

 

<IfModule mod_cgid.c>

   Scriptsock            logs/cgisock

</IfModule>

 

 

7.4.5        Migrating Server-Side Includes (SSI)

 

In HP Apache 1.3.x:

 

In 1.3.x Server-Side Includes were provided by mod_include. Any document with handler of “server-parsed” was handled by mod_include, if the Includes option was set. If documents containing server-side include directives were given the extension .shtml, the following directives made Apache parse them and assign the resulting document the mime type of text/html:

 

AddType text/html .shtml

AddHandler server-parsed  .shtml

 

Options +Includes

 

 

In HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite:

 

Server-Side Includes provided by mod_include are now implemented using the new filter system rather than as a handler. This provides much more power and flexibility, but requires the use of the SetOutputFilter to activate server-parsed content. If you were using AddHandler server-parsed .shtml in HP Apache 1.3.x, you can get similar functionality in HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite by using,

 

<FilesMatch "\.shtml(\..+)?$">
   SetOutputFilter INCLUDES
<FilesMatch>

 

 

7.5        Migrating Java

HP Apache 1.3.x has two servlet containers for running java server applications. One container is JServ and the other is Tomcat. In 1.3.x  both of them use mod_jserv connects Apache to JServ or Tomcat.  In 1.3.267, mod_jk is also available to connect Apache to Tomcat.to connect to Apache.  Migrating from 1.3.x26  to HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite is mainly a path change.   HP Apache 2.xrthellaHP-UX  Apache-based Web Server Suite does not no longer supports the mod_jserv connector or the JServ container. and the connector has been changed to mod_jk.

 

7.5.1        Migrating Tomcat with mod_jserv to Tomcat with mod_jk

The new HP-UX Tomcat-based Servlet Engine uses Tomcat 4.1.  Please refer to /op/hpws/hp_docs/tomcat/tomcat.migration.guide for more information.

 

In 1.3.x, Tomcat uses mod_jserv or mod_jk as the connector while in 2.x Tomcat uses mod_jk. 

 

A) File structuree

   


 

   1.3.x with Tomcat (mod_jserv)

   /opt/apache/conf/

httpd.conf

   /opt/tomcat/conf/

            tomcat.conf

      server.xml

 

 

 

 

   1.3.267 with Tomcat (mod_jk)

   /opt/apache/conf/

httpd.conf

   /opt/tomcat/conf/

      server.xml

      apps-examples.xml

      jk/

            mod_jk.conf

            workers.properties

 


 

    2.x

   /opt/hpws/apache2/

conf/

httpd.conf

   /opt/hpws/ tomcat/conf/

  sserver.xml

  apps-examples.xml

   /opt/hpws/tomcat/  jk/apache2/

   mod_jk.conf

  

   /opt/hpws/tomcat/jk/apache2/workers.properties

 

B) Apache configuration file

    In the 1.3.x file httpd.conff:

Include /opt/tomcat/conf/tomcat.conf

 

    In the 1.3.267 file httpd.conf:

Include /opt/tomcat/conf/jk/mod_jk.conf

 

    In the 2.x file httpd.conf:

Include /opt/hpws/apache2/tomcat/conf/jk/apache2/mod_jk.conf

 

C) Passing URLs from Apache to Tomcat

     In the 1.3.x file tomcat.conf:

ApJServMount /examples /root

   

  In the 1.3.267 and 2.x file mod_jk.conf:

JkMount /examples ajp13

JkMount /examples/* ajp13

 

D) Log files

    In the 1.3.x file

 

                tomcat.conf:

ApJServLogLevel debug

        server.xml:

      <Logger name="tc_log"

          path="logs/tomcat.log"

          customOutput="yes" />

 

    In the 1.3.267 file

        mod_jk.conf:

JkLogFile /opt/tomcat/logs/jk.log

JkLogLevel emerg

       server.xml:

<LogSetter can be used to create servlet_log, JASPER_LOG, and tag_pool_log log files.       <AccessLogInterceptor can be used to create access logs.

 

    In the 2.x file

       mod_jk.conf:

JkLogFile /opt/hpws/apache2/tomcat/logs/jk.log

JkLogLevel emerg

           In the 2.x file server.xml:

<LogSetter can be used to create servlet_log, JASPER_LOG, and tag_pool_log log files.    <AccessLogInterceptor can be used to create access logs.

 

               <!-- Global logger unless overridden at lower levels -->

              <Logger className="org.apache.catalina.logger.FileLogger"

              prefix="catalina_log." suffix=".txt"

              timestamp="true"/>    In the 2.x file apps-*.xml:

Can be used to create web application specific logging. See apps-examples.xml.

 

E) Defining the connection worker

    In the 1.3.x file tomcat.conf:

ApJServDefaultProtocol ajpv12

ApJServDefaultPort 8007

  

   

    In the 1.3.267 and 2.x file workers.properties:

worker.ajp12.port=8007

worker.ajp12.host=localhost

worker.ajp12.type=ajp12

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

 

 

F) Web application contexts

Tomcat will read any file in the conf directory that matches the pattern apps-*.xml as defined by ContextXMLReader in server.xml. This allows web applications to be added and changed without editing server.xml. For example:

 

    In the 1.3.x file server.xml:

        <Context path="/examples"

        ...

  

 

    In the 1.3.26 and 2.x file apps-examples.xml:

        <Context path="/examples"

        ...

  In the 2.x file server.xml:

        <Context path="/examples"

 

 

G) Handling .jsp files

     In the 1.3.x file tomcat.conf:

      ApJServMount default /root

AddType text/jsp .jsp

AddHandler jserv-servlet .jsp

   

    In 1.3.26 and 2.x:

Tomcat is a servlet/jsp container so a web application like "examples" handles jsp's properly. For instance Apache will pass URIs starting with "/examples" to Tomcat and Tomcat will handle the *.jsps.  In Tomcat, the JSP interceptor handles loading of JSP pages.  Its behavior can be customized in the server.xml file.. <JspInterceptor allows you to customize Tomcat's jsp behavior.

 

7.5.2        Migrating JServ to Tomcat

If you are migrating from JServ then see:
/opt/hpws/apache2/hp_apache_docs/tomcat/jserv_to_tomcat.migration.guide

Also see the following:
jakarta.apache.org/tomcat/tomcat-3.34.1-doc/index.html
 
jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-ug.html

Here is an example with steps to get the following URL to work with an "HelloWorldExample" servlet:
yourserver.com/my_app/HelloWorldExample

 

1.       Assumptions
A) All your java classes are in:
/my_servlets

2.      
B) You want to run any servlet in that directory.
C) You want to use
/my_app in your URL as a servlet prefix that tells Apache to use Tomcat.Create a myapp directory inside Tomcat’s /opt/hpws/tomcat/webapps

      $ cd /opt/hpws/tomcat/webapps
      $ mkdir myapp
      $ mkdir myapp/WEB-INF
 

3.             3.   Create a symbolic link so servlets in /my_servlets are visible inside WEB-INF

      $ cd /opt/hpws/tomcat/webapps/myapp/WEB-INF
      $ ln -s /my_servlets classes
 
4.       Create a web.xml file in /opt/hpws/tomcat/webapps/myapp/WEB-INF
With the following contents:
      <?xml version="1.0" encoding="ISO-8859-1"?>
 
        <!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
 
<web-app>
 
    <servlet-mapping>
        <servlet-name>
            invoker
        </servlet-name>
        <url-pattern>
            /*
        </url-pattern>
    </servlet-mapping>
 
</web-app>
 
  Restart Tomcat and at this point we should be able to access 
   servlets by using hhttp://yourserver.com:8081/myapp. To access servlets 
    through Apache we need one more step:
 
 
 
5.                 

5.    Map tomcat context to apache
Edit
/opt/hpws/apache2/conf/httpd.conf and uncomment       the  following line:
Include /opt/hpws/tomcat/jk/apache2/conf/jk/mod_jk.conf

Edit
/opt/hpws/apache2/tomcat/jk/apache2conf/jk//mod_jk.conf and add:

 Redirect permanent /my_app http://yourserver.com/servlet

JkMount /servlet ajp13
JkMount /servlet/* ajp13

1.   Note: In Tomcat 3.3 arbitrary servlets are invoked by the /servlet/ prefix as defined in the InvokerInterceptor class. This class does not provide a method for changing /servlet/.

1.    

6   Add servlets to CLASSPATH
Tomcat doesn't read the CLASSPATH environment variable so you have to do the following:

Edit
/opt/hpws/tomcat/bin/setenv.sh/opt/hpapache2/tomcat/bin/tomcat.sh
Below the line:

             CATALINA_OPTS="-XdoCloseWithReadPending"

TOMCAT_OPTS="$TOMCAT_OPTS -Djava.security.policy==${TOMCAT_HOME}/conf/tomcat.policy "
Add the following as a single line:
  
CATALINA_OPTS="$CATALINA_OPTS -           Dorg.apache.tomcat.apps.classpath=/my_servlets"

Note: We add /my_servlets to the CLASSPATH by setting the following system property: org.apache.tomcat.apps.classpath

7.       Verify
Stop and
start tomcat:
cd /opt/hpws/apache2/tomcat/bin
./shutdown.sh
./startup.sh

Stop and
start apache:
cd /opt/hpws/apache2/ bin
./apachectl stop
./apachectl start

Enter URL in browser
yourserver.com/my_app/<your servlet>

8.       Create test environment (if previous step fails).
In case you don't have your own servlets, here are steps to setup a test environment based on servlets available in Tomcat.

Create servlet home
mkdir /my_servlets

Add a test servlet
cp  /opt/hpws/apache2/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample   /my_servlets

Stop and
start tomcat:
cd /opt/hpwsapache2/tomcat/bin
./shutdown.sh
./startup.sh

Stop and
start apache:
cd /opt/hpws/apache2/ bin
./apachectl stop
./apachectl start

Enter URL in browser:
yourserver.com/my_app/HelloWorldExample
See in browser:
Hello World
Hello World
Hello World
Hello World
Hello World

:
Notice the different functions of the following:
        A) a.  
/my_app causes Apache to connect with Tomcat.
       
B)b.   /my_servlets is the actual location of the servlets.
If you prefer you can use the name "
/my_servlets" for both.
         C)c.   
This scenario assumes that the servlets do not need to be reloadable. In other words if you          recompile the servlet you will have to restart Tomcat for the changes to be recognized. Servlets can be made reloadable by referencing them in /opt/hpws/apache2/tomcat/webapps/ROOT/WEB-INF/web.xml and creating individual symbolic links to the classes in /opt/hpwsapache2/tomcat/webapps/ROOT/WEB-INF/classes.

 

 

7.5.3        Methods to Enable Servlets in Tomcat

The "Tomcat User's Guide" has a section on "Configuring cClasses"-loader-howto.html of tomcat-4.1-doc which refers to configuring what classes are available and the scope of their availability. Tomcat uses some classes (in particular xml parsers) that applications may want to replace with other classes. In order to avoid conflicts Tomcat separates Tomcat- required classes from application requiredapplication-required classes. To accomplish this your CLASSPATH environment variable is ignored by Tomcat.

 

The following summarizes ways to make your classes available to Tomcat and to each other.

 

Enabling Classes Based on Scope of Class Availability

A) Classes that are used in a particular web application.

    *.jar files

        /opt/hpwsapache2/tomcat/webapps/<app name>/WEB-INF/lib

    *.class or *.jar files

        /opt/hpwsapache2/tomcat/webapps/<app name>/WEB-INF/classes

 

B) Classes that are shared by all web applications.

    *.jar files

        Place the jar files in the following directory:

        /opt/hpwsapache2/tomcat/shared/lib/apps

    *.class or *.jar files

                /opt/hpws/tomcat/shared/classes

        Edit /opt/hpapache2/tomcat/bin/tomcat.sh
       
Below the line:
       
TOMCAT_OPTS="$TOMCAT_OPTS -Djava.security.policy==${TOMCAT_HOME}/conf/tomcat.policy "
       
Add the following
       
TOMCAT_OPTS="$TOMCAT_OPTS -Dorg.apache.tomcat.apps.classpath=/<path to servlets>"

        Stop and start Tomcat.

 

 

7.6        Other Migration Tasks

 

See the following sub-sections for additional migration tasks:

 

·         Migrating the Selection of Server Type

·         Migrating Webmin

 

 

 

7.6.1        Migrating the Selection of Server Type

 

In HP Apache 1.3.x:

 

In 1.3.x, the ServerType directive could be set to one of the two values in the /opt/apache/conf/httpd.conf file:

 

ServerType inetd

 

 

OR

 

ServerType standalone

 

 

In HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite:

 

In  Apache 2.x, the ServerType directive has been removed and server type is selected through the choice of an MPM.  HP Apache-based Web Server 2.xrthellaHP-UX  Apache-based Web Server Suite, integrates the worker MPM, which supports only one behavior, that of standalone. This behavior does not require any directive. There is currently no MPM designed by ASF to be launched by inetd.

 

 

7.6.2        Migrating Webmin

 

New functionality has been added to HP-UX Webmin-based Admin, the GUI interface that enables you to administer the HP Apache-based Web Server 2.x.rthellaHP-UX Web Server Suite.

 

Starting HP-UX Webmin-based AdminHP Apache 2.xrthellaHP-UX Web Server Suite:

 

To Start Webmin on HP Apache 2.xrthellaHP-UX Web Server Suite, perform the following steps.

 

Log in as root, enter

 

/opt/hpwsapache2/webmin/webmin-init start

 

Point the browser to http://yourserver.com:10000

 

Login : admin

Default Password : hp.com

 

To change the password, see
/opt/hpwsapache2/hp_apache_docswebmin/hpws_docshp_docs/webmin/webmin.admin.guide

 

For more information see:

/opt/hpws/webmin/hpws_docshp_docs/webmin/webmin.admin.guide /opt/hpapache2/hp_apache_docs/webmin.admin.guide

 

 

 

7.6.2.1         Changes to “HP-Apache-based Web Server” screen in HP Apache 2.xrthellaHP-UX Web Server Suitemin-based Admin:

  

Once you bring up HP-UX Webmin-based Admin, to get to the HP-UX Apache-based Web Server page, click on the “HP-UX Apache-based Web Server” icon.  This will take you to the “Default/Global Server” page as shown following.

 

The major areas of new or changed Webmin functionality in HP Apache 2.xrthellaHP-UX Web Server Suite have been circled.


 


 

7.6.2.2         Changed “Processes and Limits” screen in HP Apache 2.xrthellaHP-UX Webmin-based Admin Server Suite

 

The HP Apache 2.xrthellaHP-UX Apache-based Web Server Suitescreen “Processes and Limits” now displays the directives corresponding to the MPM worker module (as shown in the table header).

 

See Migrating Process Handling for more detailed information about the worker directives.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

7.6.2.3         Changed “Apache Modules” screen in HP-UX Webmin-based Admin:

 

The Apache Modules screen is grouped into five categories:

 

1)       Statically linked-in modules

2)       Standard Apache modules (DSO)

3)       Standard HP-UX Apache Add-on modules (DSO)

4)       Other

5)       Add new modules

 

The first section contains modules that are always loaded and are not configurable.

 

The modules in the second section are available in the standard Apache distribution.

 

The third set of modules are not in Apache’s standard distribution, but have been included in HP-UX Apache-based Web Server. These modules include auth_ldap, mod_jk, mod_perl and mod_php4.

 

The fourth section, “Other” is blank in this example, but will contain any other modules the user adds that are not part of the HP-UX Apache-based Web Server distribution. For example if the user adds their personal module “mod_personal”, it will show up in this section.

 

The final section is where users can add their own modules. These input boxes require the Module Name and the Lodcation of the Module. This is uses the LoadModule directive. For example, “foo_module” and “modules/mod_foo” would be the two required fields.

 

Note for mod_ssl and auth_ldap:

Since the configuration directives for mod_ssl and auth_ldap are not in the standard configuration file (conf/httpd.conf), these two modules are enabled differently. Instead, the directive “Include path/to/config_file” is uncommented to load the module. This means that when mod_ssl is enabled, the directives in the “conf/ssl.conf” file are automatically included. Likewise, for auth_ldap, the directives in the “conf/ldap.conf file are automatically included.

 

Note for mod_ssl:

If one makes a change to the settings Apache when the mod_ssl module is loaded, one has to stop and then start Apache for these settings to take effect. If mod_ssl is not loaded a simple restart should work.

 

7.6.2.4         New “Filters” screen in HP Apache 2.xrthellaHP-UX Web Server SuiteWebmin-based Admin:

 The HP Apache 2.xrthellaHP-UX Apache-based Web Server Suitescreen “Filters” allows configuration of filter directives.

 

See Writing 2.x Modules - Bibliography for references on filters.

 


 

7.6.2.5          New “Generating Certificates and Keys” in HP Apache 2.xrthellaHP-UX Web Server SuiteWebmin-based Admin

 

This screen allows you to generate keys and certificates for your server or for your own self signed Certificate Authority (CA). You can use a previously generated CA certificate and key to generate new Server certificates or Keys.

 

To generate only a CA Key, specify the “CA Key File” and “Key Size” and click “Make Certs” at the bottom of the screen. If there is already a file with the same name at that location, and you wish to overwrite it, check the box labeled “Overwrite existing Key, Certificate and Certificate Request files.”

 

Creating a CA Certificate Request depends on the CA Key, so both file locations must be specified, and the Information for the Request must be filled out as well. Organizational Unit and State or Province may remain blank.

 

Creating a CA Certificate depends on both the CA Key and Certificate Request. To ensure that the user doesn’t accidentally overwrite the CA Certificate, an extra box must be checked to “(Re)generate CA Certificate.”

 

Generating a Server Key, Certificate and Certificate Request have similar dependencies upon each other. The Server Certificate has an additional dependency on the CA Key and CA Certificate.

 

 


 

7.6.2.6         New “Edit Config Files” screen in HP Apache 2.xrthellaHP-UX Web min-based AdminServer Suite:

 

This new screen allows users to directly edit and save configuration files, including the httpd.conf file. Any “Included” files can be selected through the dropdown menu. This is a new feature as of Webmin 0.9701.020

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1.1.1        Migrating Webmin

 

New functionality has been added to Webmin, the GUI interface that enables you to administer the HP Apache-based Web Server 2.x.

 

Starting Webmin on HP Apache 2.x:

 

To Start Webmin on HP Apache 2.x, perform the following steps.

 

Log in as root, enter

 

/opt/hpapache2/webmin/webmin-init start

 

Point the browser to http://yourserver.com:10000

 

Login : admin

Default Password : hp.com

 

To change the password, see
/opt/hpapache2/hp_apache_docs/webmin.admin.guide

 

For more information see:

/opt/hpapache2/hp_apache_docs/webmin.admin.guide

 

 

 


 

1.1.1.1        Changes to “HP-Apache-based Web Server” screen in HP Apache 2.x:

 

Once you bring up Webmin, to get to the HP Apache-based Web Server page, click on “Servers” tab, then click on  the “HP Apache-based Web Server” icon.  This will take you to the “Default/Global Server” page as shown following.

 

The major areas of new Webmin functionality in HP Apache 2.x have been circled.

 

 

 

 


 

1.1.1.1        Changes to “Processes and Limits” screen in HP Apache 2.x:

 

The HP Apache 2.x Webmin screen “Processes and Limits” now displays the directives corresponding to the MPM worker module (as shown in the table header). Note that this screen will display whichever directives are associated with the MPM currently built into Apache.

 

See Migrating Process Handling for more detailed information about the directives.

 

 


 

1.1.1.1        Changes to “Apache Modules” screen in HP Apache 2.x:

 

 

Apache modules are now divided into three sections:

 

·        Built-in modules.
These modules are displayed for your information only. These modules are always enabled.

·        Dynamic modules that are a part of the standard Apache distribution.
These modules can be dynamically loaded or unloaded by clicking on the box saving and “Applying Changes” or restarting Apache.

·        Dynamic modules that are not a part of the standard Apache distribution, but are located in the /opt/hpapache2/modules directory. These modules are described following.

 

The table shows the modules that have been identified from the /opt/hpapache2/modules directory. To enable these modules, type the “Module Identifier” and the “Module File Location” into the boxes. The echo_module has been filled in as an example. This information corresponds to the LoadModule directive:

 

LoadModule echo_module modules/mod_echo.so

 

After making changes to this screen, click the Save button at the bottom, and then “Apply Changes” to restart Apache.

 

 


 

1.1.1.1        Generating Certificates and Keys in HP Apache 2.x

 

This screen allows you to generate keys and certificates for your server or for your own self signed Certificate Authority (CA). You can use a previously generated CA certificate and key to generate new Server certificates or Keys.

 

To generate only a CA Key, specify the “Key File Location” and “Key Size” and click “Make Certs” at the bottom of the screen. If there is already a file with the same name at that location, and you wish to overwrite it, check the box labeled “Overwrite existing Key, Certificate and Certificate Request files.”

 

Creating a CA Certificate Request depends on the CA Key, so both file locations must be specified, and the Information for the Request must be filled out as well. Organizational Unit and State or Province may remain blank.

 

Creating a CA Certificate depends on both the CA Key and Certificate Request. To ensure that the user doesn’t accidentally overwrite the CA Certificate, an extra box must be checked to “(Re)generate CA Certificate.”

 

Generating a Server Key, Certificate and Certificate Request have similar dependencies upon each other. The Server Certificate has an additional dependency on the CA Key and CA Certificate.

 

 

 

7.7        Migrating the Printing of Virtual Host Configuration

 

The httpd command line option –S, which was used for printing the virtual host configuration has been replaced by -t -D DUMP_VHOSTS.

 


 

7.8        Writing 2.x Modules

The main semantic change is that operations defined in the module configuration structure and the handler array are now defined in the register_hooks function.

 

The following code is based on mod_example.c versions 1.3.x and 2.x. The 2.x version can be found at: /opt/hpws/apache2/build/examples/mod_example.c.
See
/opt/hpws/apache2/build/examples/README for instructions on building mod_example.

 

7.8.1        Module Configuration

 

The “module definition for configuration” has changed dramatically. The register_hooks function is now used to setup options that were previously defined in the configuration module.

 

 

In the "Module definition for configuration" if a particular callback is not needed, replace its routine name below with NULL. For Apache 1.3 the number in brackets indicates the order in which the routine is called during request processing.  A specific module will only use those hooks that it finds necessary.

Module definition for configuration

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

module MODULE_VAR_EXPORT example_module =

{

  STANDARD_MODULE_STUFF,

A

 
 


  example_init,

  /* module initializer */

 


  example_create_dir_config,
  /* per-directory config creator */

 

  example_merge_dir_config,

  /* dir config merger */

 

  example_create_server_config,

  /* server config creator */

 

  example_merge_server_config,

  /* server config merger */

 

  example_cmds,

  /* command table */

 

B

 
 


  example_handlers,

  /* [9] list of handlers */

C

 
 

 


  example_translate_handler,

  /* [2] filename-to-URI translation */

D

 
 

 


  example_check_user_id,

  /* [5] check/validate user_id */

 

 

  example_auth_checker,

E

 
  /* [6] check user_id is valid *here* */

 

 

F

 
 

 


  example_access_checker,

  /* [4] check access by host address */

G

 
 

 


  example_type_checker,

  /* [7] MIME type checker/setter */

H

 
 


  example_fixer_upper,

  /* [8] fixups */

I

 
 


  example_logger,

  /* [10] logger */

 

 


  example_header_parser,

  /* [3] header parser */

K

 
 


  example_child_init,

  /* process initializer */

 

L

 
 


  example_child_exit,

  /* process exit/cleanup */

 

  example_post_read_request

M

 
  /* [1] post read_request handling */

};

 

module AP_MODULE_DECLARE_DATA example_module =

{

  STANDARD20_MODULE_STUFF,

 

 

 

  x_create_dir_config,

  /* per-directory config creator */

 

  x_merge_dir_config,

  /* dir config merger */

 

  x_create_server_config,

  /* server config creator */

 

  x_merge_server_config,

  /* server config merger */

 

  x_cmds,

  /* command table */

 

 

 

  x_register_hooks,

  /* set up other request processing hooks */

};

 

For module initialization hook to pre_ or post_ config as necessary.

 

static void x_register_hooks(apr_pool_t *p)

{

    ap_hook_pre_config(x_pre_config,

A

 
                       NULL,

                       NULL,

                       APR_HOOK_MIDDLE);

 

    ap_hook_post_config(x_post_config,

A

 
                        NULL,

                        NULL,

                        APR_HOOK_MIDDLE);

 

    ap_hook_open_logs(x_open_logs,

                      NULL,

                      NULL,

                      APR_HOOK_MIDDLE);

 

    ap_hook_child_init(x_child_init,

K

 
                       NULL,

                       NULL,

                       APR_HOOK_MIDDLE);

 

 

    ap_hook_handler(x_handler,

B

 
                    NULL,

                    NULL,

                    APR_HOOK_MIDDLE);

 

    ap_hook_quick_handler(x_quick_handler,

                          NULL,

                          NULL,

                          APR_HOOK_MIDDLE);

 

    ap_hook_pre_connection(x_pre_connection,

                           NULL,

                           NULL,

                           APR_HOOK_MIDDLE);

 

  /* This module doesn't have a process

     connection phase, but I am leaving

     the code in, in-case somebody wants to

     add one. */

  /* ap_hook_process_connection

                   (x_fixer_upper,

                    NULL,

                    NULL,

                    APR_HOOK_MIDDLE); */

 

 

  ap_hook_post_read_request(x_post_read_request,

M

 
                            NULL,

                            NULL,

                            APR_HOOK_MIDDLE);

 

I

 
  ap_hook_log_transaction(x_logger,

                          NULL,

                          NULL,

                          APR_HOOK_MIDDLE);

 

  ap_hook_http_method(x_http_method,

                      NULL,

                      NULL,

                      APR_HOOK_MIDDLE);

 

  ap_hook_default_port(x_default_port,

                       NULL,

                       NULL,

                       APR_HOOK_MIDDLE);

 

  ap_hook_translate_name(x_translate_handler,

C

 
                    NULL,

                    NULL,

                    APR_HOOK_MIDDLE);

 

  ap_hook_check_user_id(x_check_user_id,

D

 
                        NULL,

                        NULL,

                        APR_HOOK_MIDDLE);

 

  ap_hook_fixups(x_fixer_upper,

H

 
                 NULL,

                 NULL,

                 APR_HOOK_MIDDLE);

 

    ap_hook_type_checker(x_type_checker,

G

 
                         NULL,

                         NULL,

                         APR_HOOK_MIDDLE);

 

  ap_hook_access_checker(x_access_checker,

F

 
                         NULL,

                         NULL,

                         APR_HOOK_MIDDLE);

 

 

 

  ap_hook_auth_checker(x_auth_checker,

E

 
                       NULL,

                       NULL,

                       APR_HOOK_MIDDLE);

 

  ap_hook_insert_filter(x_insert_filter,

                        NULL,

                        NULL,

                        APR_HOOK_MIDDLE);

}

 

 

 

 

7.8.2        Handlers

The 1.3.x handlers array is now a series of ap_hook_handler calls in the register_hooks function that we saw previously.

 

List of content handlers available from this module

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

static const handler_rec example_handlers[] =

{

    {"example-handler", example_handler},

    {NULL}

};

 

 

static const handler_rec x_handlers[] =

{

    {"example-handler", x_handler},

    {NULL}

};

 

static void register_hooks(apr_pool_t *p)
{
...
    ap_hook_handler(x_handler,

B

 
                    NULL,

                    NULL,

                    APR_HOOK_MIDDLE);

...

}

 

 

 

 


 

7.8.3        Directives List

 

Notice that in the example NO_ARGS becomes the AP_INIT_NO_ARGS macro.

 

List of directives specific to our module

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

static const command_rec example_cmds[] =

{

  {

   "Example",   /* directive name */

   cmd_example, /* config action routine */

   NULL,  /* argument to include in call */

   OR_OPTIONS,  /* where available */

   NO_ARGS,     /* arguments */

   "Example directive - no arguments"

                /* directive description */

  },

  {NULL}

};



static const command_rec x_cmds[] =

{

  AP_INIT_NO_ARGS(

    "Example",   /* directive name */

    cmd_example, /* config action routine */

    NULL,        /* arg to include in call */

    OR_OPTIONS,  /* where available */

    "Example directive - no arguments" 

                 /* directive description */

  ),

  {NULL}

};

 

 

 

 

7.8.4        Initialization and Exiting

 

Notice that you now set a cleanup register.

Child process init handling

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

static void

  example_child_init(server_rec *s,

                     pool *p)

  {

    char *note;

    char *sname = s->server_hostname;

 

    /* Set up any module cells that ought

       to be initialised. */

 

    setup_module_cells();

 

    /* The arbitrary text we add to our

       trace entry indicates for which

       server we're being called. */

 

    sname = (sname != NULL) ? sname : "";

    note = ap_pstrcat(p,

             "example_child_init(",

             sname,

             ")",

             NULL);

    trace_add(s, NULL, NULL, note);

}

 

static void

  x_child_init(apr_pool_t *p,

               server_rec *s)

  {

    char *note;

    char *sname = s->server_hostname;

 

    /* Set up any module cells that ought

       to be initialised. */

 

    setup_module_cells();

 

    /* The arbitrary text we add to our trace

       entry indicates for which server we're

       being called. */

 

    sname = (sname != NULL) ? sname : "";

    note = apr_pstrcat(p,

                       "x_child_init(",

                       sname,

                       ")", NULL);

    trace_add(s, NULL, NULL, note);

L

 
 


    apr_pool_cleanup_register(p,

                              s,

                              x_child_exit,

                              x_child_exit);

}

 

 

 

 

 

Child process exit handling

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

static void

  example_child_exit(server_rec *s,

                     pool *p)

{

 

  char *note;

  char *sname = s->server_hostname;

 

  /* The arbitrary text we add to our

     trace entry indicates for which

     server we're being called. */

 

  sname = (sname != NULL) ? sname : "";

  note = ap_pstrcat(p,

             "example_child_exit(",

             sname,

             ")",

             NULL);

  trace_add(s, NULL, NULL, note);

}

 

static apr_status_t

  x_child_exit(void *data)

 

{

    char *note;

    server_rec *s = data;

    char *sname = s->server_hostname;

 

    /* The arbitrary text we add to our

       trace entry indicates for which

       server we're being called. */

 

    sname = (sname != NULL) ? sname : "";

    note = apr_pstrcat(s->process->pool,

                 "x_child_exit(",

                 sname,

                 ")",

                 NULL);

    trace_add(s, NULL, NULL, note);

    return APR_SUCCESS;

}

 

 

 

 

7.8.5        Functions and Types

 

Many "ap_" functions have new "apr_" versions. "apr" stands for "Apache Portable Runtime". "apu" stands for "Apache Portable Runtime Utilities". The following tables list common changes. For more info on changes look at ap_compat.h, apu_compat.h, and apr_ compat.h. These compatibility headers allow old function names to work in the new environment.

 

 

Change from old to new functions

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

 

apr_pool_cleanup_register( apr_pool_t* p,
                           server_rec* s,
                           my_child_exit,
                           my_child_exit);

/* Allocate space from pool supplied*/
tocfg *cfg;
cfg = (tocfg *) ap_pcalloc(p,
                           sizeof(tocfg)
                           );

/* Allocate space from pool supplied*/
tocfg *cfg;
cfg = (tocfg *) apr_pcalloc(p,
                            sizeof(tocfg)
                            );


ap_palloc( ... );

/* No change to signature */
apr_palloc( ... );

/* Allocate memory for pool use */
toMyPool = ap_make_sub_pool(r->pool);

/* Allocate memory for pool use */
apr_make_sub_pool(&toMyPool,
                  r->pool,
                  NULL);

ap_snprintf( valueString,
             sizeof(valueString),
             "%s\n",
             value); 

apr_snprintf( valueString,
              sizeof(valueString),
              "%s\n",
              value); 


ap_table_do( ... );

/* Second argument has changed */
apr_table_do( ... );


ap_pool_destroy( ... );

/* No change to signature */
apr_pool_destroy( ... );


ap_table_set( ... );

/* No change to signature */
apr_table_set( ... );


ap_table_set( ... );

/* No change to signature */
apr_table_set( ... );


ap_make_array( ... );

/* No change to signature */
apr_array_make( ... );


ap_push_array( ... );

/* No change to signature */
apr_array_push( ... );


ap_pstrdup( ... );

/* No change to signature */
apr_pstrdup( ... );



ap_send_http_header( r );

/* This function was removed in 2.0. It is defined in ap_compat.h to do nothing */
ap_send_http_header( r );

 

 

 

Change in existing functions

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

ap_log_error( APLOG_MARK,
              APLOG_DEBUG,
              r->server,
              "error text")

ap_log_error( APLOG_MARK,
              APLOG_DEBUG,
              0,
              r->server,
              "error text")

 

 

Change from old to new types

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

pool

apr_pool_t

array_header

apr_array_header_t

 

 

 

 

Change from 2.0.32 to 2.0.39 functions

Apache 2.0.32

Apache 2.0.39

apr_lock_create  ( ... );

apr_thread_mutex_create  ( ... );

apr_lock_acquire ( ... );

apr_thread_mutex_lock    ( ... );

apr_lock_release ( ... );

apr_thread_mutex_unlock  ( ... );

apr_lock_destroy ( ... );

apr_thread_mutex_destroy ( ... );

 


7.8.6        Header files

Note: You can use ap_compat.h in Apache 2.xrthellaHP-UX Apache-based Web Server Suite to allow compatability with 1.3.x. It maps function names and signatures to the 2.x apirthellaHP-UX Apache-based Web Server Suite.

 

Header files

Apache 1.3.x

Apache 2.xrthellaHP-UX Web Server SuiteApache 2.x

#include "httpd.h"

#include "http_config.h"

#include "http_core.h"

#include "http_log.h"

#include "http_main.h"

#include "http_protocol.h"

#include "util_script.h"

 

#include <stdio.h>

 

#include "httpd.h"

#include "http_config.h"

#include "http_core.h"

#include "http_log.h"

#include "http_main.h"

#include "http_protocol.h"

#include "http_request.h"

#include "util_script.h"

#include "http_connection.h"

 

#include "apr_strings.h"

 

#include <stdio.h>

 

 

 

7.8.7        Bibliography

For information on writing Apache 2.xrthellaHP-UX Web Server Suite modules see:
httpd.apache.org/docs-2.0/developer/

www.onlamp.com/pub/a/apache/2001/09/27/apache_2.html

 

For information on Apache 2.xrthellaHP-UX Web Server Suite filters see:
Official Apache Software Foundation document
httpd.apache.org/docs-2.0/filter.html
Overview, "Writing Filters for Apache 2.0", 08/23/2001
www.onlamp.com/pub/a/apache/2001/08/23/apache_2.html
"Writing Apache 2.0 Output Filters", 09/13/2001
www.onlamp.com/pub/a/apache/2001/09/13/apache_2.html
"Writing Input Filters for Apache 2.0", 09/20/2001
www.onlamp.com/pub/a/apache/2001/09/20/apache_2.html

 

For information on writing Apache 1.3.x modules see:

Writing Apache Modules with Perl and C, by Stein and MacEachern, O'Reilly and Associates Inc.

 


 

7.9        Miscellaneous Changes

 

·         Graceful restarts of the server are now executed by signaling the parent process with WINCH rather than USR1.

·         The httpd command line option -X still exists but most MPMs allow the same functionality to be requested by using the -D ONE_PROCESS command line option. In addition, a -D NO_DETACH command line option is available.

 


 

8         Tuning HP Apache-based Web Server 2.xrthellaHP-UX Web Server Suite Performance

The following are suggestions only and may not apply to your specific situation.

See the FAQ at www.hp.com/products1/unix/webservers/apache/faqs/index.html for the latest information on improving performance.

 

8.1        Basic HTTP

For the basic http server do the following:

1.       Disable indexing of directories in "httpd.conf".
With the
Options directive don't use Indexes or All which enable index generation. Indexes are dynamically generated for every access. It is much better to create an index.html file instead so that the server does not need to dynamically generate text.

2.       Logging
Disable logging as much as possible. If necessary write each log to their own file system using different high speed disks. This will decrease delays caused by disk scheduling.

3.       KeepAlive on
With this directive set to on Apache will attempt to maintain a rapid dialog with the client. KeepAlive on  does not mean that the connection will be maintained too long. The KeepAliveTimeout and MaxKeepAliveRequests directives restrict clients from excessive, persistent connection times.

4.       HostNameLookups off
With this directive set to
off Apache will log IP addresses instead of host names. Even though Apache caches DNS lookups, this can be very time consuming.

5.       Options FollowSymLinks
not
Options FollowSymLinksIfOwnerMatch
FollowSymLinksIfOwnerMatch causes Apache to check the entire path for symbolic links and check that the ownership is the same as the server or virtual host. This can be time consuming. The FollowSymLinks directive is less secure because it does no checking. If neither FollowSymLinks nor FollowSymLinksIfOwnerMatch directives are used then Apache will not follow symbolic links. This slows Apache because it has to check for symbolic links so it can avoid them but this situation is the most secure.

6.       For local directory URL's put a forward slash, "/", at the end. That way the server can avoid needless file searches.

7.       Deny access to well mannered spiders or web crawlers with a "robots.txt" file under the document root. The file has "User-Agent" and "Disallow" directives that limit access to specified URLs by the spider. This will eliminate some unnecessary web traffic.

8.       Verify that there are no performance bottlenecks between servers and databases.

9.       For images:
Specify height and width.
Keep size small.
Minimize number of images.
Avoid animations.
Don't use macromedia flash on home pages.

10.   Don't combine large and small images into same file.
Put alternate large images into a separate file since many users will not choose to view the large image.

 

8.2        SSL

By default HP Apache 2.xrthellaHP-UX Apache-based Web Server Suite  SSL is tuned to maximize performance. See /opt/hpws/apache2/hpws_apache_docs/ssl.admin.guide for a description.

 

8.3        PHP

For PHP some suggestions are:

 

1.       Use only one echo or print statement in the script. Use array or concatenation to compose the html then send with only one echo or print.

2.       Use the set of output buffer (ob_*) functions newly available in PHP4. For example ob_start.

3.       Use an accelerator. Search the web for "PHP Accelerator" and you will find several accelerators, some of which are free.

 

8.4        Tomcat

For the latest Tomcat suggestions see:

/opt/hpws/apache2/hp_apache_docs/tomcat/tomcat.admin.guide

 

1. Avoid JSP's.

Instead use Perl, C, C++, or Java modules. JSPs automatically create and compile servlets which they then run. Typically the JSP will only create the servlet the first time it is accessed. Still the JSP has to call the servlet so there is some delay.

The following is based on:

jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-ug.html

 

Please see this fwhich containsor the complete Tomcat User Guide.

 

2.  Modify and Customize the Batch Files

--------------------------------------

As stated in the previous sections, the startup scripts are here for your convenience. Yet, sometimes the scripts that are needed for deployment should be modified:

 

To set resource limits such as maximum number of descriptors.

 

To add new PATH/LD_LIBRARY_PATH entries (for example, JDBC drivers DLLs).

 

To modify the JVM command line settings.

 

Make sure that you are using a specific JVM (out of the two or three JVMs installed on your machine).

 

To switch user from root to some other user using the "su" UNIX command.

 

Some of these changes can be done without explicit changes to the basic scripts; for example, the tomcat script can use an environment variable named TOMCAT_OPTS to set extra command line parameters to the JVM (such as memory setting etc.).

 

On UNIX you can also create a file named ".tomcatrc" in your home directory and Tomcat will take environment information such as PATH, JAVA_HOME, TOMCAT_HOME and TOMCAT_INSTALL from this file. On NT however (and also on UNIX when the modifications are for something such as the JVM command line) you are forced to rewrite some of the startup script.

 

3.  Modify the Default JVM Settings

--------------------------------------

The default JVM settings in the tomcat script are very naive; everything is left for defaults. There are a few things that you should consider to improve your Tomcat performance:

 

Modify your JVM memory configuration. Normally the JVM allocates an initial size for the Java heap and that's it, if you need more then this amount of memory you will not get it.

 

Nevertheless, in loaded sites, giving more memory to the JVM improves Tomcat's performance. You should use command line parameters such as -Xms/-Xmx/-ms/-mx to set the minimum/maximum size of the Java heap (and check to see if the performance was improved).

 

Modify your JVM threading configuration. The SUN JDK1.2.2 for Linux comes with support for both, green and native threads. In general native threads are known to provide improved performance for I/O bound applications, green threads on the other hand put less stress on the machine. You should experiment with these two threading models and see which model is better for your site (in general, native threads are better).

 

Select the best JVM for the task. If your application does not require a specific JDK functionality, you should benchmark the two JVMs and select the better one.

 

4. Disable Servlet Auto-Reloading

--------------------------------------

Servlet auto-reloading is really useful for development time. However it is very expensive (in performance degradation terms) and may put your application in strange conflicts when classes that were loaded by a certain classloader cannot cooperate with classes loaded by the current classloader.

 

So, unless you have a real need for class reloading during your deployment you should turn off the reloadable flag in your contexts. You can disable reloading globally by removing the ReloaderInterceptor found in the server.xml file.


 

9         Verifying the Migration

 

After migration check for errors:

 

·         Check /opt/hpws/apache2/logs/error_log for error messages

·         If errors occurred, determine the cause and adjust configuration files.

·         After manual updates, start HP ApacherthellaHP-UX Web Server Suite. As root type:

 

/<server_root>/bin/apachectl start

 

·         Verify servlet and JSP migration by checking a known servlet and a known JSP page.

·         Run customer applications and access customer files.

·         Run previous performance and load tests.  Tune HP Apache directives and HP-UX kernel parameters if the migrated web server is not meeting expected performance.

 


 

10   Appendix

 

1.1Directive Changes by Name

1.1     

10.1    Directive Changes by Name

The table includes all removed, changed, or added directives.

Directive

Status

Module

How to migrate from 1.3.x

__END__

Removed

mod_perl

 

=back

Removed

mod_perl

 

=cut

Removed

mod_perl

 

=pod

Removed

mod_perl

 

AcceptMutex

Added

core

 

AcceptPathInfo

Added

core

 

AccessConfig

Removed

core

Migrating Access to Configuration Files

AddInputFilter

Added

mod_mime

 

AddModule

Removed

core

Migrating Module Loading

AddOutputFilter

Added

mod_mime

 

AddOutputFilterByType

Added

core

 

AgentLog

Removed

mod_log_agent

Migrating Logging

ApJServAction

Removed

mod_jserv

 

ApJServBalance

Removed

mod_jserv

 

ApJServDefaultHost

Removed

mod_jserv

 

ApJServDefaultPort

Removed

mod_jserv

 

ApJServDefaultProtocol

Removed

mod_jserv

 

ApJServEnvVar

Removed

mod_jserv

 

ApJServHost

Removed

mod_jserv

 

ApJServLogFile

Removed

mod_jserv

 

ApJServLogLevel

Removed

mod_jserv

 

ApJServManual

Removed

mod_jserv

 

ApJServMount

Removed

mod_jserv

 

ApJServMountCopy

Removed

mod_jserv

 

ApJServProperties

Removed

mod_jserv

 

ApJServProtocolParameter

Removed

mod_jserv

 

ApJServRetryAttempts

Removed

mod_jserv

 

ApJServRoute

Removed

mod_jserv

 

ApJServSecretKey

Removed

mod_jserv

 

ApJServShmFile

Removed

mod_jserv

 

ApJServVMInterval

Removed

mod_jserv

 

ApJServVMTimeout

Removed

mod_jserv

 

AuthDBMType

Added

mod_auth_dbm

 

AuthDigestShmemSize

Added

mod_auth_digest

 

AuthLDAPAuthoritative

Added

auth_ldap

 

AuthLDAPBindDN

Added

auth_ldap

 

AuthLDAPBindPassword

Added

auth_ldap

 

AuthLDAPCacheCompareOps

Added

auth_ldap

 

AuthLDAPCacheSize

Added

auth_ldap

 

AuthLDAPCacheTTL

Added

auth_ldap

 

AuthLDAPCertDBPath

Added

auth_ldap

 

AuthLDAPCompareDNOnServer

Added

auth_ldap

 

AuthLDAPDereferenceAliases

Added

auth_ldap

 

AuthLDAPEnabled

Added

auth_ldap

 

AuthLDAPGroupAttribute

Added

auth_ldap

 

AuthLDAPGroupAttributeIsDN

Added

auth_ldap

 

AuthLDAPOpCacheSize

Added

auth_ldap

 

AuthLDAPOpCacheTTL

Added

auth_ldap

 

AuthLDAPRemoteUserIsDN

Added

auth_ldap

 

AuthLDAPStartTLS

Added

auth_ldap

 

AuthLDAPURL

Added

auth_ldap

 

BindAddress

Removed

core

 

BufferedLogs

Added

mod_log_config

experimental

CacheDefaultExpireMin

Added

mod_cache

 

CacheDirLength

Added

mod_disk_cache

 

CacheDirLength

Removed

mod_proxy

 

CacheDirLevels

Added

mod_disk_cache

 

CacheDirLevels

Removed

mod_proxy

 

CacheDisable

Added

mod_cache

 

CacheEnable

Added

mod_cache

 

CacheExpiryCheck

Added

mod_disk_cache

 

CacheFile

Added

mod_file_cache

 

CacheGcClean

Added

mod_disk_cache

 

CacheGcDaily

Added

mod_disk_cache

 

CacheGcInterval

Added

mod_disk_cache

 

CacheGcInterval

Removed

mod_proxy

 

CacheGcMemUsage

Added

mod_disk_cache

 

CacheGcUnused

Added

mod_disk_cache

 

CacheIgnoreCacheControl

Added

mod_cache

 

CacheIgnoreNoLastMod

Added

mod_cache

 

CacheMaxFileSize

Added

mod_disk_cache

 

CacheMaxStreamingBuffer

Added

mod_cache

 

CacheMinFileSize

Added

mod_disk_cache

 

CacheNegotiatedDocs

Changed

mod_negotiation

How to Migrate Documents Cached by Proxy Servers

CacheRoot

Added

mod_disk_cache

 

CacheRoot

Removed

mod_proxy

 

CacheSize

Added

mod_disk_cache

 

CacheSize

Removed

mod_proxy

 

CacheTimeMargin

Added

mod_disk_cache

 

CaseFilter

Added

mod_casefilter

 

CaseFilterIn

Added

mod_casefilterin

 

CharsetDefault

Added

mod_charset_lite

 

CharsetOptions

Added

mod_charset_lite

 

CharsetSourceEnc

Added

mod_charset_lite

 

ClearModuleList

Removed

core

Migrating Module Loading

CookieDomain

Added

mod_usertrack

 

CookieStyle

Added

mod_usertrack

 

DAV

Added

mod_dav

 

DAVDepthInfinity

Added

mod_dav

 

DAVLockDB

Added

mod_dav_fs

 

DAVMinTimeout

Added

mod_dav

 

Define

Removed

mod_define

 

DeflateBufferSize

Added

mod_deflate

 

DeflateFilterNote

Added

mod_deflate

 

DeflateMemLevel

Added

mod_deflate

 

DeflateWindowSize

Added

mod_deflate

 

ErrorDocument

Changed

core

Migrating the Printing of Error Messages

ExcessRequestsPerChild

Removed

core

 

ExtFilterDefine

Added

mod_charset_lite

 

ExtFilterDefine

Added

mod_ext_filter

 

ExtFilterOptions

Added

mod_charset_lite

 

ExtFilterOptions

Added

mod_ext_filter

 

FancyIndexing

Removed

mod_authindex

 

FileETag

Added

core

 

ForceLanguagePriority

Added

mod_negotiation

 

Header echo

Added

mod_headers

 

HeaderName filename

Changed

mod_authindex

 

Include

Changed

core

Migrating Access to Configuration Files

IndexOptions FancyIndexing

Added

mod_authindex

 

IndexOptions HTMLTable

Added

mod_authindex

 

IndexOptions IgnoreClient

Added

mod_authindex

 

IndexOptions SuppressIcon

Added

mod_authindex

 

IndexOptions SuppressRules

Added

mod_authindex

 

IndexOptions VersionSort

Added

mod_authindex

 

JkAutoMount

Added

mod_jk

 

JkCERTSIndicator

Added

mod_jk

 

JkCIPHERIndicator

Added

mod_jk

 

JkEnvVar

Added

mod_jk

 

JkExtractSSL

Added

mod_jk

 

JkHTTPSIndicator

Added

mod_jk

 

JkKEYSIZEIndicator

Added

mod_jk

 

JkLogFile

Added

mod_jk

 

JkLogLevel

Added

mod_jk

 

JkLogStampFormat

Added

mod_jk

 

JkMount

Added

mod_jk

 

JkMountCopy

Added

mod_jk

 

JkOptions

Added

mod_jk

 

JkSESSIONIndicator

Added

mod_jk

 

JkWorker

Added

mod_jk

 

JkWorkersFile

Added

mod_jk

 

LimitXMLRequestBody

Added

core

 

Listen

Changed

core

Supports Ipv6

LoadModule

Changed

core

Migrating Module Loading

LogFormat

Changed

mod_log_config

 

MaxServers

Removed

core

 

MaxSpareThreads

Added

core

 

MCacheMaxObjectCount

Added

mod_mem_cache

 

MCacheMaxObjectSize

Added

mod_mem_cache

 

MCacheMinObjectSize

Added

mod_mem_cache

 

MCacheRemovalAlgorithm

Added

mod_mem_cache

 

MCacheSize

Added

mod_mem_cache

 

MinSpareThreads

Added

core

 

mmapfile

Added

mod_file_cache

(Directive is in ASF Apache 1.3.x but not in HP Apache 1.3.x)

ModMimeUsePathInfo

Added

mod_mime

 

MultiviewsMatch

Added

mod_mime

 

NameVirtualHost

Changed

core

Supports Ipv6

NoCache

Removed

mod_proxy

 

<Perl >

Removed

mod_perl

Not yet implemented

PerlFreshRestart

Removed

mod_perl

 

PerlInitHandler

Added

mod_perl

 

PerlInterpMax

Added

mod_perl

 

PerlInterpMaxRequests

Added

mod_perl

 

PerlInterpMaxSpare

Added

mod_perl

 

PerlInterpMinSpare

Added

mod_perl

 

PerlInterpScope

Added

mod_perl

 

PerlInterpStart

Added

mod_perl

 

PerlOpmask

Removed

mod_perl

 

PerlOptions

Added

mod_perl

 

PerlScript

Removed

mod_perl

 

PerlSwitches

Added

mod_perl

 

PerlTrace

Added

mod_perl

 

PHPINIDir

Added

mod_php

 

Port

Removed

core

Migrating Port Number Assignments

ProtocolEcho

Added

mod_echo

 

<Proxy >

Added

mod_proxy

(A Container for other directives)

ProxyErrorOverride

Added

mod_proxy

 

ProxyIOBufferSize

Added

mod_proxy

 

<ProxyMatch >

Added

mod_proxy

(A Container for other directives)

ProxyMaxForwards

Added

mod_proxy

 

ProxyPass

Changed

mod_proxy

 

ProxyPassReversed

Changed

mod_proxy

 

ProxyPreserveHost

Added

mod_proxy

 

ProxyRemoteMatch

Added

mod_proxy

 

ProxyTimeout

Added

mod_proxy

 

RefererIgnore

Removed

mod_log_referer

Migrating Logging

RefererLog

Removed

mod_log_referer

Migrating Logging

RemoveCharset

Added

mod_mime

 

RemoveInputFilter

Added

mod_mime

 

RemoveLanguage

Added

mod_mime

 

RemoveOutputFilter

Added

mod_mime

 

RequestHeader

Added

mod_headers

 

ResourceConfig

Removed

core

Migrating Access to Configuration Files

ScoreBoardFile

Added

core

 

Scriptsock

Added

mod_cgid

 

SendBufferSize

Removed

core

 

ServerLimit

Added

core

 

ServerName

Changed

core

Migrating Security (SSL)

ServersSafetyLimit

Removed

core

 

ServerTokens major

Changed

core

New option

ServerType

Removed

core

Migrating the Selection of Server Type

SetInputFilter

Added

core

 

SetOutputFilter

Added

core

 

SSIEndTag

Added

mod_include

 

SSIErrorMsg

Added

mod_include

 

SSIStartTag

Added

mod_include

 

SSITimeFormat

Added

mod_include

 

SSIUndefinedEcho

Added

mod_include

 

SSLLog

Removed

mod_ssl

Use ErrorLog instead

SSLLogLevel

Removed

mod_ssl

Use LogLevel instead

SuexecUserGroup

Added

mod_suexec

 

ThreadLimit

Added

core

 

UnsetEnv

Changed

mod_env

 

<VirtualHost>

Changed

core

Supports Ipv6

VirtualScriptAlias

Changed

mod_vhost_alias

 

 

 


 

10.2    Module Changes

The tables include all removed, changed, or added modules or directives.

 

10.2.1    Core

Notes

Status

How to migrate from HP Apache 1.3.x

These directives don't come from a module. They are part of Apache core.

 

ASF Apache 1.3.x doc on core directives.

ASF Apache 2.x doc on core directives

 

Directive

Status

Description

<VirtualHost>

Changed

Now supports Ipv6

AcceptMutex

Added

The system mutex implementation to use for the accept mutex

AcceptPathInfo

Added

Set to on or off for PATH_INFO to be accepted by handlers, or default for the per-handler preference

AccessConfig

Removed

The filename of the access config file

AddModule

Removed

The name of a module

AddOutputFilterByType

Added

Output filter name followed by one or more content-types

BindAddress

Removed

'*', a numeric IP address, or the name of a host with a unique IP address

ClearModuleList

Removed

Not needed since modules now inform Apache of their prefered load order.

ErrorDocument

Changed

Now requires a closing " at end of description.

ExcessRequestsPerChild

Removed

Maximum number of requests a particular child serves after it is ready to die.

FileETag

Added

Specify components used to construct a file's ETag

Include

Changed

 

LimitXMLRequestBody

Added

Limit (in bytes) on maximum size of an XML-based request body

Listen

Changed

Now supports Ipv6

LoadModule

Changed

Order is no longer important. The module, itself, tells Apache when it should be loaded.

MaxServers

Removed

Deprecated equivalent to MaxSpareServers

MaxSpareThreads

Added

Maximum number of idle children

MinSpareThreads

Added

Minimum number of idle children, to handle request spikes

NameVirtualHost

Changed

Now supports Ipv6

Port

Removed

A TCP port number

ResourceConfig

Removed

The filename of the resource config file

ScoreBoardFile

Added

A file for Apache to maintain runtime process management information

SendBufferSize

Removed

Send buffer size in bytes

ServerLimit

Added

Maximum value of MaxClients for this run of Apache

ServerName

Changed

Now includes the port number.

ServersSafetyLimit

Removed

Deprecated equivalent to MaxClients

ServerTokens major

Changed

New option prints major version only

ServerType

Removed

'inetd' or 'standalone'

SetInputFilter

Added

filter (or ; delimited list of filters) to be run on the request body

SetOutputFilter

Added

filter (or ; delimited list of filters) to be run on the request content

ThreadLimit

Added

Maximum worker threads in a server for this run of Apache

 

 

10.2.2    auth_ldap

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module provides client authorization by querying an LDAP server.

New

auth_ldap Home Page

 

For info on LDAP servers see:
openldap Home Page

 

Directive

Status

Description

AuthLDAPAuthoritative

Added

Set to 'off' to allow access control to be passed along to lower modules if the UserID and/or group is not known to this module

AuthLDAPBindDN

Added

DN to use to bind to LDAP server. If not provided, will do an anonymous bind.

AuthLDAPBindPassword

Added

Password to use to bind to LDAP server. If not provided, will do an anonymous bind will be done.

AuthLDAPCacheCompareOps

Added

Set to no to disable caching of LDAP compare operations. Defaults to yes.

AuthLDAPCacheSize

Added

Sets the maximum amount of memory in bytes that the LDAP search cache will use. Zero means no limit; -1 disables the cache. Defaults to 10KB.

AuthLDAPCacheTTL

Added

Sets the maximum time (in seconds) that an item can be cached in the LDAP

AuthLDAPCompareDNOnServer

Added

 

AuthLDAPDereferenceAliases

Added

Determines how aliases are handled during a search. Can bo one of the

AuthLDAPEnabled

Added

Set to off to disable auth_ldap, even if it's

AuthLDAPGroupAttribute

Added

A list of attributes used to define group membership - defaults to

AuthLDAPGroupAttributeIsDN

Added

 

AuthLDAPOpCacheSize

Added

Sets the initial size of the LDAP operation cache (for bind and compare

AuthLDAPOpCacheTTL

Added

Sets the maximum time (in seconds) that an item is cached in the LDAP

AuthLDAPRemoteUserIsDN

Added

Set to, , auth_ldap_cmds

AuthLDAPStartTLS

Added

Set to 'on' to start TLS after connecting to

AuthLDAPURL

Added

URL to define LDAP connection. This should be an RFC 2255 complaint

AuthLDAPCertDBPath

Added

Specifies the file containing Certificate Authority certificates for validating secure LDAP server certificates. This file must be the cert7.db database used by Netscape Communicator}

 

 

10.2.3    mod_auth_dbm

Module Notes

Status

How to migrate from HP Apache 1.3.x

Now supports multiple DBM-like databases using the AuthDBMType directive

Changed

ASF Apache 2.x doc on mod_auth_dbm

ASF Apache 1.3.x doc on mod_auth_dbm

 

Directive

Status

Description

AuthDBMType

Added

what type of DBM file the user file is

 

 

10.2.4    mod_auth_digest

Module Notes

Status

How to migrate from HP Apache 1.3.x

Includes additional support for session caching across processes using shared memory. This module, which was experimental in HP Apache 1.3.x, is a standard module in 2.x. In 1.3.x this module was called mod_digest.

Changed

ASF Apache 2.x doc on mod_auth_digest

ASF Apache 1.3.x doc on mod_digest

 

Directive

Status

Description

AuthDigestShmemSize

Added

The amount of shared memory to allocate for keeping track of clients

 

 

 

 

 

 

10.2.5    mod_autoindex

Module Notes

Status

How to migrate from HP Apache 1.3.x

Autoindex'ed directory listings can now be configured to use HTML tables for cleaner formatting, and allow finer-grained control of sorting, including version-sorting, and wildcard filtering of the directory listing.

Changed

ASF Apache 2.x doc on mod_autoindex

ASF Apache 1.3.x doc on mod_autoindex

 

Directive

Status

Description

FancyIndexing

Removed

It is now an IndexOptions option.

HeaderName filename

Changed

Commands within filename have been changed to reorganize the query arguments for column sorting and introduce an entire group of new query options..

IndexOptions FancyIndexing

Added

Replaces the FancyIndexing directive

IndexOptions HTMLTable

Added

Experimental. When used with fancy indexing it constructs a simple table. This will confuse older browsers.

IndexOptions IgnoreClient

Added

Eliminates all client control over the output.

IndexOptions SuppressIcon

Added

Suppress icon in fancy indexing listings.

IndexOptions SuppressRules

Added

Suppress horizontal rule lines (HR Tags) in directory listings.

IndexOptions VersionSort

Added

This causes files containing version numbers to sort in a natural way.

 

 

10.2.6    mod_case_filter and mod_case_filter_in

mod_case_filter

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module converts the output to uppercase.

New

 

 

Directive

Status

Description

CaseFilter

Added

Run a case filter on this host

 

mod_case_filter_in

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module converts the input to uppercase. It does NOT convert request headers.

New

 

 

Directive

Status

Description

CaseFilterIn

Added

Run an input case filter on this host

 

 

10.2.7    mod_cgid

  Module Notes

Status

How to migrate from HP Apache 1.3.x

mod_cgid creates an external daemon that is responsible for forking child processes to run CGI scripts.

 

New

How to Migrate Common Gateway Interface (CGI)

 

ASF Apache 2.x doc on mod_cgid

ASF Apache 2.x doc on mod_cgi

ASF Apache 1.3.x doc on mod_cgi

 

Directive

Status

Description

Scriptsock

Added

the name of the socket to use for communication with the cgi daemon.

 

 

10.2.8    mod_charset_lite

  Module Notes

Status

How to migrate from HP Apache 1.3.x

mod_charset_lite

 

New

 

 

Directive

Status

Description

CharsetDefault

Added

Name of default charset

CharsetOptions

Added

Valid options: ImplicitAdd, NoImplicitAdd, DebugLevel=n

CharsetSourceEnc

Added

Source (html, cgi, ssi) file charset

ExtFilterDefine

Added

Define an external filter

ExtFilterOptions

Added

/* same as SetInputFilter/SetOutputFilter */ valid options: DebugLevel=n, LogStderr, NoLogStderr

 

 

10.2.9    mod_dav  and mod_dav_fs

mod_dav

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module implements the HTTP Distributed Authoring and Versioning (DAV) specification for posting and maintaining web content

New

Summary of New Features in the HP Apache Version 2.x

 

See also:

The webDAV Home Page

 

Directive

Status

Description

DAV

Added

specify the DAV provider for a directory or location

DAVDepthInfinity

Added

allow Depth infinity PROPFIND requests

DAVMinTimeout

Added

specify minimum allowed timeout

DAVParam

Added

DAVParam <parameter name> <parameter value>

 

mod_dav_fs

Module Notes

Status

How to migrate from HP Apache 1.3.x

Required by mod_dav

New

See mod_dav above.

 

Directive

Status

Description

DAVLockDB

Added

specify a lock database

 

 

10.2.10mod_define

 Module Notes

Status

How to migrate from HP Apache 1.3.x

This module does not yet have a 2.x counterpart.

Removed

 

 

Directive

Status

Description

Define

Removed

Define a configuration variable

 

10.2.11mod_deflate

 Module Notes

Status

How to migrate from HP Apache 1.3.x

 

New

 

 

Directive

Status

Description

DeflateBufferSize

Added

Set the Deflate Buffer Size

DeflateFilterNote

Added

Set a note to report on compression ratio

DeflateMemLevel

Added

Set the Deflate Memory Level (1-9)

DeflateWindowSize

Added

Set the Deflate window size (1-15)

 

 

 

10.2.12mod_echo

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module impliments the echo protocol which simply returns the request unchanged.

New

ASF Apache 2.x doc on mod_echo

 

Directive

Status

Description

ProtocolEcho

Added

Run an echo server on this host

 

 

10.2.13mod_env

Module Notes

Status

How to migrate from HP Apache 1.3.x

This modifies the environment which is passed to CGI scripts and SSI pages

Changed

ASF Apache 2.x doc on mod_env

ASF Apache 1.3.x doc on mod_env

 

Directive

Status

Description

UnsetEnv

Changed

Now it will not unset a SetEnv and PassEnv directive following that UnSetEnv within the same container.

 

 

 

 

 

10.2.14mod_ext_filter

Module Notes

Status

How to migrate from HP Apache 1.3.x

Pass the response body through an external program before delivery to the client. This works like a unix filter.

New

ASF Apache 2.x doc on mod_ext_filter

 

Directive

Status

Description

ExtFilterDefine

Added

Define an external filter

ExtFilterOptions

Added

same as SetInputFilter/SetOutputFilter

 

 

10.2.15mod_headers

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module is much more flexible in HP Apache 2.x. It can now modify request headers used by mod_proxy, and it can conditionally set response headers

Changed

ASF Apache 2.x doc on mod_headers

ASF Apache 1.3.x doc on mod_headers

 

Directive

Status

Description

Header echo

Changed

Added "echo" option. For example "Header echo regex" will cause any headers received on the request that match regex to be echoed to [included in] the response headers.

RequestHeader

Added

an action, header and value

 

 

 

 

 

 

 

 

 

10.2.16mod_include

Module Notes

Status

How to migrate from HP Apache 1.3.x

New directives allow the default start and end tags for SSI elements to be changed and allow for error and time format configuration to take place in the main configuration file rather than in the SSI document. Results from regular expression parsing and grouping (now based on Perl's regular expression syntax) can be retrieved using mod_include's variables $0 .. $9.

Changed

ASF Apache 2.x doc on mod_include

ASF Apache 1.3.x doc on mod_include

 

Directive

Status

Description

SSIEndTag

Added

SSI End String Tag

SSIErrorMsg

Added

a string

SSIStartTag

Added

SSI Start String Tag

SSIUndefinedEcho

Added

 

SSITimeFormat

Added

a strftime(3) formatted string

 

 

10.2.17mod_jk

Module Notes

Status

How to migrate from HP Apache 1.3.x

The mod_jk module provides better support for SSL. Also, Tomcat supports many web servers through a compatibility layer named the jk library. The layered approach provided by the jk library makes it easier to support both Apache1.3.x and Apache2.x.

 

New

Migrating Tomcat and Java to Version 2.x

 

See also:

mod_jk User Guide

and

Apache Tomcat Home Page

 

Directive

Status

Description

JkAutoMount

Added

automatic mount points to a Tomcat worker

JkCERTSIndicator

Added

Name of the Apache environment that contains SSL client certificates

JkCIPHERIndicator

Added

Name of the Apache environment that contains SSL client cipher

JkEnvVar

Added

Adds a name of environment variable that should be sent from web server to servlet-engine

JkExtractSSL

Added

Turns on SSL processing and information gathering by mod_jk

JkHTTPSIndicator

Added

Name of the Apache environment that contains SSL indication

JkKEYSIZEIndicator

Added

Name of the Apache environment that contains SSL key size in use

JkLogFile

Added

Full path to the Jakarta mod_jk module log file

JkLogLevel

Added

The Jakarta mod_jk module log level, can be debug, info, error or emerg

JkLogStampFormat

Added

The Jakarta mod_jk module log format, follow strftime synthax

JkMount

Added

A mount point from a context to a Tomcat worker

JkMountCopy

Added

Should the base server mounts be copied to the virtual server

JkOptions

Added

Set one of more options to configure the mod_jk module

JkSESSIONIndicator

Added

Name of the Apache environment that contains SSL session

JkWorker

Added

worker property

JkWorkersFile

Added

the name of a worker file for the Jakarta servlet containers

 

 

10.2.18mod_jserv

 Module Notes

Status

How to migrate from HP Apache 1.3.x

Replaced with mod_jk

Removed

The Apache JServ Project

 

Directive

Status

Description

ApJServAction

Removed

Apache JServ action mapping extension to servlets.

ApJServBalance

Removed

Apache JServ load-balancing server set.

ApJServDefaultHost

Removed

The default host running Apache JServ.

ApJServDefaultPort

Removed

The default port on which Apache JServ is running on.

ApJServDefaultProtocol

Removed

The default protocol used for connecting to Apache JServ.

ApJServEnvVar

Removed

Apache JServ: protocol ajpv12 : env var to send to the server

ApJServHost

Removed

Apache JServ host definition.

ApJServLogFile

Removed

Apache JServ log file relative to Apache root directory.

ApJServLogLevel

Removed

Apache JServ log verbosity.

ApJServManual

Removed

Whether Apache JServ is running in manual or automatic mode.

ApJServMount

Removed

Where Apache JServ servlets will be mounted under Apache.

ApJServMountCopy

Removed

Whether <VirtualHost> inherits base host mount points or not.

ApJServProperties

Removed

The full pathname of jserv.properties file.

ApJServProtocolParameter

Removed

Apache JServ protocol-dependant property.

ApJServRetryAttempts

Removed

Apache JServ: retry attempts (1s appart) before returning server error

ApJServRoute

Removed

Apache JServ host routing identifier.

ApJServSecretKey

Removed

Apache JServ secret key file relative to Apache root directory.

ApJServShmFile

Removed

The full pathname of shared memory file.

ApJServVMInterval

Removed

Apache JServ: the interval between 2 polls of the JVM

ApJServVMTimeout

Removed

Apache JServ: the amount of time given for the JVM to start or stop

 

 

10.2.19mod_log_agent

Module Notes

Status

How to migrate from HP Apache 1.3.x

This deprecated module has been replaced with mod_log_config.

Removed

ASF Apache 1.3.x doc on mod_log_agent

 

Directive

Status

Description

AgentLog

Removed

the filename of the agent log

 

 

10.2.20mod_log_config

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module provides logging flexibility.

Changed

ASF Apache 2.x doc on mod_log_config

ASF Apache 1.3.x doc on mod_log_config

 

Directive

Status

Description

BufferedLogs

Added

Enable Buffered Logging (experimental)

LogFormat

Changed

Added options
%D logs time it takes to a request in milliseconds
%X logs
connection status at the end of the response as
     follows:

     'X' - connection aborted before the response completed.

     '+' - connection may be kept-alive by the server.

     '-' - connection will be closed by the server.

 


 

10.2.21mod_log_referer

Module Notes

Status

How to migrate from HP Apache 1.3.x

This deprecated module has been replaced with mod_log_config.

Removed

ASF Apache 1.3.x doc on mod_log_referer

 

Directive

Status

Description

RefererIgnore

Removed

referer hostnames to ignore

RefererLog

Removed

the filename of the referer log

 

 

10.2.22mod_mime

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module is used to associate various bits of "meta information" with files by their filename extensions. This information is sent to the browser, and participates in content negotiation,

Changed

ASF Apache 2.x doc on mod_mime

ASF Apache 1.3.x doc on mod_mime

 

Directive

Status

Description

AddInputFilter

Added

input filter name (or ; delimited names) followed by one or more file extensions

AddOutputFilter

Added

output filter name (or ; delimited names) followed by one or more file extensions

ModMimeUsePathInfo

Added

Set to 'yes' to allow mod_mime to use path info for type checking

MultiviewsMatch

Added

NegotiatedOnly (default), Handlers and/or Filters, or Any

RemoveCharset

Added

one or more file extensions

RemoveInputFilter

Added

one or more file extensions

RemoveLanguage

Added

one or more file extensions

RemoveOutputFilter

Added

one or more file extensions

 

 

10.2.23mod_negotiation

Module Notes

Status

How to migrate from HP Apache 1.3.x

A new ForceLanguagePriority directive can be used to assure that the client receives a single document in all cases, rather than NOT ACCEPTABLE or MULTIPLE CHOICES responses. In addition, the negotiation and MultiViews algorithms have been cleaned up to provide more consistent results and a new form of type map that can include document content is provided.

Changed

ASF Apache 2.x doc on mod_negotiation

ASF Apache 1.3.x doc on mod_negotiation

 

Directive

Status

Description

CacheNegotiatedDocs

Changed

 

ForceLanguagePriority

Added

Force LanguagePriority elections, either None, or Fallback and/or Prefer

 

 

 

 

10.2.24mod_perl

Module Notes

Status

How to migrate from HP Apache 1.3.x

This is a very powerful module that basically does two things. It increases performance by causing Apache to run its own Perl interpreters that cache Perl scripts. It also provides an api that allows access to Apache internals.

Changed

Migrating Perl

 

Main mod_perl web site

Documentation on mod_perl modules

 

Directive

Status

Description

__END__

Removed

Stop reading config

<Perl

Added

NOT YET IMPLEMENTED

=back

Removed

End of =over

=cut

Removed

End of POD

=pod

Removed

Start of POD

PerlFreshRestart

Removed

Tell mod_perl to reload modules and flush Apache::Registry cache on restart

PerlInitHandler

Added

Subroutine name

PerlInterpMax

Added

Max number of running Perl interpreters

PerlInterpMaxRequests

Added

Max number of requests per Perl interpreters

PerlInterpMaxSpare

Added

Max number of spare Perl interpreters

PerlInterpMinSpare

Added

Min number of spare Perl interpreters

PerlInterpScope

Added

Scope of a Perl interpreter

PerlInterpStart

Added

Number of Perl interpreters to start

PerlOpmask

Removed

Opmask File

PerlOptions

Added

Perl Options

PerlScript

Removed

this directive is deprecated, use `PerlRequire'

PerlSwitches

Added

Perl Switches

PerlTrace

Added

Trace level

 

10.2.25mod_php

Module Notes

Status

How to migrate from HP Apache 1.3.x

 

Changed

 

 

Directive

Status

Description

PHPINIDir

Added

Directory containing the php.ini file

 


 

10.2.26mod_proxy, mod_cache, mod_disk_cache, mod_file_cache, and mod_mem_cache

See Migrating mod_proxy

mod_proxy

Module Notes

Status

How to migrate from HP Apache 1.3.x

The proxy module has been completely rewritten to take advantage of the new filter infrastructure and to implement a more reliable, HTTP/1.1 compliant proxy. In addition, new <Proxy> configuration sections provide more readable (and internally faster) control of proxied sites; overloaded <Directory "proxy:..."> configuration are not supported. The module is now divided into specific protocol support modules including proxy_connect, proxy_ftp and proxy_http.

Changed

ASF Apache 2.x doc on mod_proxy

ASF Apache 1.3.x doc on mod_proxy

 

Directive

Status

Description

<Proxy >

Added

Container for directives affecting resources located in the proxied location

<ProxyMatch >

Added

Container for directives affecting resources located in the proxied location, in regular expression syntax

CacheDirLength

Removed

The number of characters in subdirectory names

CacheDirLevels

Removed

The number of levels of subdirectories in the cache

CacheGcInterval

Removed

The interval between garbage collections, in hours

CacheRoot

Removed

The directory to store cache files

CacheSize

Removed

The maximum disk space used by the cache in Kb

NoCache

Removed

A list of names, hosts or domains for which caching is *not* provided

ProxyErrorOverride

Added

use our error handling pages instead of the servers' we are proxying

ProxyIOBufferSize

Added

IO buffer size for outgoing HTTP and FTP connections in bytes

ProxyMaxForwards

Added

The maximum number of proxies a request may be forwarded through.

ProxyPass

Changed

Adds "ProxyPass path !" to exclude a path from being proxied

ProxyPassReversed

Changed

Adds ProxyPassReverse url when placed in a <location> directive

ProxyPreserveHost

Added

on if we should preserve host header while proxying

ProxyRemoteMatch

Added

A regex pattern and a proxy server

ProxyTimeout

Added

Set the timeout (in seconds) for a proxied connection. This overrides the server timeout

 

mod_cache

Module Notes

Status

How to migrate from HP Apache 1.3.x

An RFC 2616 compliant HTTP content cache. mod_cache requires the services of one or more storage management modules such as mod_disk_cache or mod_file_cache.

New

ASF Apache 2.x doc on mod_cache

 

Directive

Status

Description

CacheDefaultExpireMin

Added

The default time in Minutes to cache a document

CacheDisable

Added

A partial URL prefix below which caching is disabled

CacheEnable

Added

A cache type and partial URL prefix below which caching is enabled

CacheIgnoreCacheControl

Added

Ignore requests from the client for uncached content

CacheIgnoreNoLastMod

Added

Ignore Responses where there is no Last Modified Header

CacheMaxExpireMin

Added

The maximum time in Minutes to cache a document

CacheMemEntrySize

Added

The maximum size (in bytes) that a entry can take

CacheMemSize

Added

The maximum space used by the cache in Kb

CacheOn

Added

On if the transparent cache should be enabled

CacheMaxStreamingBuffer

Added

Maximum number of bytes of content to buffer for a streamed response

 

mod_disk_cache

Module Notes

Status

How to migrate from HP Apache 1.3.x

A disk based storage manager, generally used for proxy caching.

New

 

 

Directive

Status

Description

CacheDirLength

Added

The number of characters in subdirectory names

CacheDirLevels

Added

The number of levels of subdirectories in the cache

CacheExpiryCheck

Added

On if cache observes Expires date when seeking files

CacheGcClean

Added

The time in hours to retain unchanged files that match a url

CacheGcDaily

Added

The time of day for garbage collection (24 hour clock)

CacheGcInterval

Added

The interval between garbage collections, in hours

CacheGcMemUsage

Added

The maximum kilobytes of memory used for garbage collection

CacheGcUnused

Added

The time in hours to retain unused file that match a url

CacheMaxFileSize

Added

The maximum file size to cache a document

CacheMinFileSize

Added

The minimum file size to cache a document

CacheRoot

Added

The directory to store cache files

CacheSize

Added

The maximum disk space used by the cache in Kb

CacheTimeMargin

Added

The minimum time margin to cache a document

 

 

mod_file_cache

Module Notes

Status

How to migrate from HP Apache 1.3.x

An mmap based and/or file handle based storage manager that allows the server file system to control whether the file is in memory or not. This is an extension of the 1.3.x mod_mmap_static module

New

ASF Apache 2.x doc on mod_file_cache

ASF Apache 1.3.x doc on mod_mmap_static

 

Directive

Status

Description

cachefile

Added

A space separated list of files to add to the file handle cache at config time

mmapfile

Added

A space separated list of files to mmap at config time

 

mod_mem_cache

Module Notes

Status

How to migrate from HP Apache 1.3.x

 

New

 

 

Directive

Status

Description

MCacheMaxObjectCount

Added

The maximum number of objects allowed to be placed in the cache

MCacheMaxObjectSize

Added

The maximum size (in bytes) of an object to be placed in the cache

MCacheMinObjectSize

Added

The minimum size (in bytes) of an object to be placed in the cache

MCacheRemovalAlgorithm

Added

The algorithm used to remove entries from the cache (default: GDSF)

MCacheSize

Added

The maximum amount of memory used by the cache in KBytes

 

 

 

10.2.27mod_setenvif

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module allows environment variables to be set based on request characteristics.

Changed

ASF Apache 2.x doc on mod_setenvif

ASF Apache 1.3.x doc on mod_setenvif

 

Directive

Status

Description

SetEnvIf

Changed

Allows regular expressions to be specified in the directive attribute field.

For example:  SetEnvIf ^TS*  [a-z].* HAVE_TS

will cause HAVE_TS to be set if any of the request headers begins with "TS" and has a value that begins with any character in the set [a-z].

 

SetEnvIfNoCase

Changed

Same as SetEnvIf

 

 

10.2.28mod_ssl

Module Notes

Status

How to migrate from HP Apache 1.3.x

New module in ASF Apache 2.0. This module is an interface to the SSL/TLS encryption protocols provided by OpenSSL. Previous versions of HP Apache used mod_ssl from modssl.org.

New

ASF Apache 2.x doc on mod_ssl

 

See also:

mod_ssl User's Guide

OpenSSL User's Guide

 

Directive

Status

Description

SSLLog

Removed

Use ErrorLog

SSLLogLevel

Removed

Use LogLevel

 

 

10.2.29mod_suexec

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module Aalows CGI scripts to run as a specified user and group

New

ASF Apache 2.x doc on mod_suexec

 

 

Directive

Status

Description

SuexecUserGroup

Added

User and group for spawned processes

 

 

10.2.30mod_usertrack

Module Notes

Status

How to migrate from HP Apache 1.3.x

This module uses cookies to provide for a clickstream log of user activity on a site.

Changed

ASF Apache 2.x doc on mod_usertrack

ASF Apache 1.3.x doc on mod_usertrack

 

 

Directive

Status

Description

CookieDomain

Added

domain to which this cookie applies

CookieStyle

Added

'Netscape', 'Cookie' (RFC2109), or 'Cookie2' (RFC2965)

 

 

10.2.31mod_vhost_alias

Module Notes

Status

How to migrate from HP Apache 1.3.x

Provides for dynamically configured mass virtual hosting

Changed

ASF Apache 2.x doc on mod_vhost_alias

ASF Apache 1.3.x doc on mod_vhost_alias

 

Directive

Status

Description

VirtualScriptAlias

Changed

When mod_vhost_alias is used with no VirtualScriptAlias directives then cgi-bin works like a regular directory.