datadir = @datadir@
iconsdir = @iconsdir@
htdocsdir = @htdocsdir@
+manualdir = @manualdir@
cgidir = @cgidir@
includedir = @includedir@
localstatedir = @localstatedir@
$(MKDIR) $(root)$(mandir)/man8
$(MKDIR) $(root)$(sysconfdir)
$(MKDIR) $(root)$(htdocsdir)
+ $(MKDIR) $(root)$(manualdir)
$(MKDIR) $(root)$(iconsdir)
$(MKDIR) $(root)$(cgidir)
$(MKDIR) $(root)$(includedir)
echo "[PRESERVING EXISTING DATA SUBDIR: $(root)$(htdocsdir)/]"; \
else \
echo "Copying tree $(TOP)/htdocs/ -> $(root)$(htdocsdir)/"; \
- (cd $(TOP)/htdocs/ && $(TAR) $(TAROPT) - *) |\
+ (cd $(TOP)/htdocs/ && $(TAR) $(TAROPT) - index* apache_pb.* ) |\
(cd $(root)$(htdocsdir)/ && $(TAR) -xf -); \
find $(root)$(htdocsdir)/ -type d -exec chmod a+rx {} \; ; \
- find $(root)$(htdocsdir)/ -type f -exec chmod a+r {} \; ; \
+ find $(root)$(htdocsdir)/ -type f -print | xargs chmod a+r ; \
+ fi
+ -@if [ -d $(TOP)/htdocs/manual ]; then \
+ echo "Copying tree $(TOP)/htdocs/manual -> $(root)/$(manualdir)/"; \
+ (cd $(TOP)/htdocs/manual/ && $(TAR) $(TAROPT) - *) |\
+ (cd $(root)$(manualdir)/ && $(TAR) -xf -); \
+ find $(root)$(manualdir)/ -type d -exec chmod a+rx {} \; ; \
+ find $(root)$(manualdir)/ -type f -print | xargs chmod a+r ; \
fi
-@if [ -f $(root)$(cgidir)/printenv ]; then \
- echo "[PRESERVING EXISTING DATA SUBDIR: $(root)$(cgidir)/]"; \
+ echo "[PRESERVING EXISTING CGI SUBDIR: $(root)$(cgidir)/]"; \
else \
for script in printenv test-cgi; do \
cat $(TOP)/cgi-bin/$${script} |\
cat $(TOP)/conf/$${conf}-dist ) |\
sed -e '/# LoadModule/r $(TOP)/$(SRC)/.apaci.install.conf' \
-e 's;@@ServerRoot@@/htdocs;$(htdocsdir);' \
+ -e 's;@@ServerRoot@@/manual;$(manualdir);' \
-e 's;@@ServerRoot@@/icons;$(iconsdir);' \
-e 's;@@ServerRoot@@/cgi-bin;$(cgidir);' \
-e 's;@@ServerRoot@@/proxy;$(proxycachedir);' \
# Ha, you're reading this config file looking for the easy way out!
# "how do I make my apache server go really really fast??"
-# Well you could start by reading the htdocs/manual/misc/perf-tuning.html
+# Well you could start by reading the /manual/misc/perf-tuning.html
# page. But, we'll give you a head start.
#
# This config file is small, it is probably not what you'd expect on a
Allow from all
</Directory>
+ # This Alias will project the on-line documentation tree into your
+ # logical DocumentRoot. Comment it if you don't want to provide access
+ # to the on-line docu for some reason.
+ #
+ Alias /manual/ "@@ServerRoot@@/manual/"
+
+ <Directory "@@ServerRoot@@/manual">
+ Options Indexes FollowSymlinks MultiViews
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
Allow from all
</Directory>
+ # This Alias will project the on-line documentation tree into your
+ # logical DocumentRoot. Comment it if you don't want to provide access
+ # to the on-line docu for some reason.
+ #
+ Alias /manual/ "sys:/apache/manual/"
+
+ <Directory "sys:/apache/manual">
+ Options Indexes FollowSymlinks MultiViews
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
Allow from all
</Directory>
+ # This Alias will project the on-line documentation tree into your
+ # logical DocumentRoot. Comment it if you don't want to provide access
+ # to the on-line docu for some reason.
+ #
+ Alias /manual/ "@@ServerRoot@@/manual/"
+
+ <Directory "@@ServerRoot@@/manual">
+ Options Indexes FollowSymlinks MultiViews
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
datadir: $prefix
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $prefix/include
localstatedir: $prefix
datadir: $prefix/share+
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $prefix/include+
localstatedir: $prefix/var+
datadir: $prefix/share
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $prefix/include
localstatedir: /var$prefix
datadir: $prefix
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $prefix/include
localstatedir: $prefix
datadir: /usr/local/httpd
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $prefix/include/apache
localstatedir: /var
datadir: $prefix
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $exec_prefix/include/apache
localstatedir: /var
datadir: /var/apache
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
+ manualdir: $datadir/manual
cgidir: $datadir/cgi-bin
includedir: $exec_prefix/include
localstatedir: $prefix
datadir: $prefix
iconsdir: $prefix/icons
htdocsdir: $prefix/htdocs
+ manualdir: $prefix/manual
cgidir: $prefix/cgi-bin
includedir: $exec_prefix/lib/apache/include
localstatedir: $prefix
echo " --sysconfdir=DIR install configuration files in DIR"
echo " --datadir=DIR install read-only data files in DIR"
echo " --iconsdir=DIR install read-only icon files in DIR"
- echo " --htdocsdir=DIR install read-only document files in DIR"
+ echo " --htdocsdir=DIR install read-only welcome pages in DIR"
+ echo " --manualdir=DIR install read-only on-line documentation in DIR"
echo " --cgidir=DIR install read-only cgi files in DIR"
echo " --includedir=DIR install includes files in DIR"
echo " --localstatedir=DIR install modifiable data files in DIR"
OOIFS="$IFS" # most likely not needed: jmj
IFS="$DIFS" # ditto
for var in prefix exec_prefix bindir sbindir libexecdir mandir \
- sysconfdir datadir iconsdir htdocsdir cgidir includedir \
- localstatedir runtimedir logfiledir proxycachedir; do
+ sysconfdir datadir iconsdir htdocsdir manualdir cgidir \
+ includedir localstatedir runtimedir logfiledir \
+ proxycachedir; do
eval "val=\"\$$var\""
case $val in
*+ )
htdocsdir="$apc_optarg"
autosuffix_htdocsdir=no
;;
+ --manualdir=*)
+ manualdir="$apc_optarg"
+ autosuffix_manualdir=no
+ ;;
--cgidir=*)
cgidir="$apc_optarg"
autosuffix_cgidir=no
##
## expand path variables and make sure
-## they do not end with a backslash
+## they do not end in a backslash
##
OIFS="$IFS"
IFS="$DIFS"
for var in prefix exec_prefix bindir sbindir libexecdir mandir \
- sysconfdir datadir iconsdir htdocsdir cgidir includedir \
- localstatedir runtimedir logfiledir proxycachedir \
- suexec_docroot suexec_logexec ; do
+ sysconfdir datadir iconsdir htdocsdir manualdir cgidir \
+ includedir localstatedir runtimedir logfiledir \
+ proxycachedir suexec_docroot suexec_logexec ; do
eval "val=\"\$$var\"";
val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
eval "$var=\"$val\""
echo " datadir: $datadir"
echo " iconsdir: $iconsdir"
echo " htdocsdir: $htdocsdir"
+ echo " manualdir: $manualdir"
echo " cgidir: $cgidir"
echo " includedir: $includedir"
echo " localstatedir: $localstatedir"
-e "s%@datadir@%$datadir%g" \
-e "s%@iconsdir@%$iconsdir%g" \
-e "s%@htdocsdir@%$htdocsdir%g" \
+-e "s%@manualdir@%$manualdir%g" \
-e "s%@cgidir@%$cgidir%g" \
-e "s%@localstatedir@%$localstatedir%g" \
-e "s%@includedir@%$includedir%g" \
Changes with Apache 1.3.21
+ *) Parallel to a change in Apache-2.0, the manual directory was
+ moved out of the DocumentRoot tree to simplify the separation
+ of private content&configuration from server's on-line
+ documentation. An "Alias /manual/ ..." projects the manual/
+ directory (which resides now side-by-side with the icons/
+ directory) into the logical DocumentRoot. Note that a request
+ to http://server/manual (without the trailing slash) will now
+ behave different than before (it used to redirect to
+ http://server/manual/ but no longer does).
+ [Martin Kraemer]
+
*) Fixed ap_os_canonical_filename() so that it wouldn't try to
canonicalize an invalid file name. Also fixed
ap_os_is_path_absolute() so that it wouldn't recognize names