You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Matthijs van der Klip <ma...@spill.nl> on 2004/06/21 10:10:49 UTC
[users@httpd] nested htaccess files in conjuction with allow/deny
Hi,
I've been trying to do the following:
1) Consider a virtualhost which has a document root configured as follows:
# Access Control
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order deny,allow
Deny from all
</Directory>
# Document Root
DocumentRoot /mnt/docs/PHP/test
2) Access to specific addresses granted by /mnt/docs/PHP/test/.htaccess:
Order deny,allow
Deny from all
# Grant access
Allow from 1.2.3.4
This works like expected, i.e. access is granted to 1.2.3.4 only.
3) Now consider a subdirectory /mnt/docs/PHP/test/test2/. I've been trying
to _additionaly_ grant access to a second ip-address using a htaccess
file /mnt/docs/PHP/test/test2/.htaccess:
# Grant additional access
Allow from 4.3.2.1
At first sight this seemed to work like expected. The test2 subdir is
accessible by both 1.2.3.4 and 4.3.2.1. Closer inspection however reveals
the test2 subdir is not only accessible by the mentioned ip-addresses, but
by anyone! This ofcourse is not the desired behaviour.
I've tried about a zillion variations of Order, Allow and Deny but cannot
get the desired behaviour. Does anyone have experience in a likewise
situation?
Note1: IP-addresses, paths etc. have been forged.
Note2: I do ofcourse now this can be solved by not trying to nest the
htaccess files and giving them each a seperate 'Deny from All'
line, but this is not the purpose, as in practice the first
htaccess is a symlink to a common htaccess containing a large
amount of ip-addresses. I do not want to make a copy of this file
as this increases administrative effort.
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Mon, 21 Jun 2004, Matthijs van der Klip wrote:
> I've been trying to do the following:
This all on Apache 1.3.31...
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Tue, 22 Jun 2004, Joshua Slive wrote:
> Start by reading the last paragraph of:
> http://httpd.apache.org/docs-2.0/mod/mod_access.html#order
> and perhaps:
> http://httpd.apache.org/docs-2.0/sections.html#mergin
Ah, thanks. I could not find any information like this in the 1.3 section.
I suppose 2.0 handles this similar to 1.3.
> Since the .htaccess processing happens in a different phase, the Order
> directive in httpd.conf does not apply. Placing an Allow directive in
> there probably resets order to its default "Deny,Allow" which resets the
> access state to Allow from all.
>
> This is, perhaps, surprising behavior, but not entirely undecipherable. I
> guess the trick is to ALWAYS explictly specify the Order directive
> wherever you use Allow/Deny.
An example copied almost directly (A and B from the examples) from
http://httpd.apache.org/docs-2.0/sections.html#mergin:
<Directory /mnt/docs/PHP/test>
Options FollowSymLinks
AllowOverride Limit
Order Allow,Deny
Allow from 1.2.3.4
</Directory>
<VirtualHost *>
ServerName test.mydomain
# Logs
ErrorLog /mnt/logs/apache/test/error_log
CustomLog /mnt/logs/apache/test/access_log vcombined
# Access Control
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order Allow,Deny
Allow from 127.0.0.1
</Directory>
# Document Root
DocumentRoot /mnt/docs/PHP/test
</VirtualHost>
So no htacces here, just two different Directory sections each allowing
access to a different IP-address.
Now when trying to access this virtualhost from 1.2.3.4 access is denied.
When trying to access it from 127.0.0.1 (using curl on the webserver
itself) access is granted. So the sections are indeed processed in the
order <Directory>, <VirtualHost><Directory> but it does not do additive
logic. My guess is that use of any of the mod_access directives in a
section resets all these directives to their defaults.
I had a look in the mod_access source code and looking at the module
structure I noticed it has a NULL config merger:
module MODULE_VAR_EXPORT access_module =
{
STANDARD_MODULE_STUFF,
NULL, /* initializer */
create_access_dir_config, /* dir config creater */
NULL, /* dir merger --- default is to override
*/
NULL, /* server config */
NULL, /* merge server config */
access_cmds,
NULL, /* handlers */
NULL, /* filename translation */
NULL, /* check_user_id */
NULL, /* check auth */
check_dir_access, /* check access */
NULL, /* type_checker */
NULL, /* fixups */
NULL, /* logger */
NULL, /* header parser */
NULL, /* child_init */
NULL, /* child_exit */
NULL /* post read-request */
};
>From what I understand from http://httpd.apache.org/docs/misc/API.html,
this means:
'To do that, the server invokes the module's per-directory config merge
function, if one is present. That function takes three arguments: the two
structures being merged, and a resource pool in which to allocate the
result.'
'As a note --- if there is no per-directory merge function present, the
server will just use the subdirectory's configuration info, and ignore the
parent's. For some modules, that works just fine (e.g., for the includes
module, whose per-directory configuration information consists solely of
the state of the XBITHACK), and for those modules, you can just not
declare one, and leave the corresponding structure slot in the module
itself NULL.'
I think this proofs mod_access does not do any additive logic and thus you
can only initialize it anew and override all settings from a lower level.
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Joshua Slive <jo...@slive.ca>.
On Tue, 22 Jun 2004, Matthijs van der Klip wrote:
> It seems to me the mod_access logic is simply not additive. Any use of one
> of it's directives on a higher level will override settings made on a
> lower level. If this is how it's supposed to be, that's fine and it's
> simply a limitation I have to live with, but I'm still not sure this is
> the way it should behave. Can anyone confirm mod_access (Apache 1.3) not
> being additive?
>
>
>> What happens if you put the Allow directive in httpd.conf rather than
>> the .htaccess?
>
> <Directory /mnt/docs/PHP/test>
> # Deny access by default
> # Grant access to specific adresses thru a htaccess file
> Options FollowSymLinks
> AllowOverride Limit
> Order Allow,Deny
> Allow from 127.0.0.1
> </Directory>
>
> As expected access is denied:
>
> test.mydomain 1.2.3.4 - - [22/Jun/2004:09:40:57 +0200] "GET /
> HTTP/1.1" 403 210 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
> .NET CLR 1.1.4322)"
>
> [Tue Jun 22 09:40:57 2004] [error] [client 1.2.3.4] client denied by
> server configuration: /mnt/docs/PHP/test
>
>
> But when I place this htaccess:
>
> Allow from 127.0.0.1
>
>
> Access is granted again, being caused (I think) by an implicit flush of
> all mod_access parms.
Start by reading the last paragraph of:
http://httpd.apache.org/docs-2.0/mod/mod_access.html#order
and perhaps:
http://httpd.apache.org/docs-2.0/sections.html#mergin
Since the .htaccess processing happens in a different phase, the Order
directive in httpd.conf does not apply. Placing an Allow directive in
there probably resets order to its default "Deny,Allow" which resets the
access state to Allow from all.
This is, perhaps, surprising behavior, but not entirely undecipherable. I
guess the trick is to ALWAYS explictly specify the Order directive
wherever you use Allow/Deny.
Joshua.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Mon, 21 Jun 2004, Joshua Slive wrote:
> Other than the fact that you obscured the most important part (the IP
> address), I don't see where the problem could be coming from.
Just assume that 1.2.3.4 is a valid internet IP-address, 127.0.0.1 was
chosen because it is a valid address and definitely should not give access
to any internet IP-addresses. It actually doesn't matter what i put after
the 'Allow from' in the htaccess. As soon as I use an 'Allow from'
directive in an htaccess the 'Order' directive seems to be reset to its
default (Deny,Allow). Setting the 'Order' directive explicitely to
'Allow,Deny' in the htaccess seems to reset the access list so any 'Allow'
or 'Deny' directives from the virtualhost specifications are flushed.
It seems to me the mod_access logic is simply not additive. Any use of one
of it's directives on a higher level will override settings made on a
lower level. If this is how it's supposed to be, that's fine and it's
simply a limitation I have to live with, but I'm still not sure this is
the way it should behave. Can anyone confirm mod_access (Apache 1.3) not
being additive?
> What happens if you put the Allow directive in httpd.conf rather than
> the .htaccess?
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order Allow,Deny
Allow from 127.0.0.1
</Directory>
As expected access is denied:
test.mydomain 1.2.3.4 - - [22/Jun/2004:09:40:57 +0200] "GET /
HTTP/1.1" 403 210 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
.NET CLR 1.1.4322)"
[Tue Jun 22 09:40:57 2004] [error] [client 1.2.3.4] client denied by
server configuration: /mnt/docs/PHP/test
But when I place this htaccess:
Allow from 127.0.0.1
Access is granted again, being caused (I think) by an implicit flush of
all mod_access parms.
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Joshua Slive <jo...@slive.ca>.
On Mon, 21 Jun 2004, Matthijs van der Klip wrote:
> Without the test/.htaccess file:
>
> test.mydomain 1.2.3.4 - - [21/Jun/2004:15:27:49 +0200] "GET /
> HTTP/1.1" 403 210 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
> .NET CLR 1.1.4322)"
>
> [Mon Jun 21 15:27:49 2004] [error] [client 1.2.3.4] client denied by
> server configuration: /mnt/docs/PHP/test
>
>
> With the (127.0.0.1) test/.htaccess file:
>
> test.mydomain 1.2.3.4 - - [21/Jun/2004:15:29:28 +0200] "GET /
> HTTP/1.1" 200 7 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
> .NET CLR 1.1.4322)"
>
>
> The .htaccess file contains a single line:
>
> Allow from 127.0.0.1
Other than the fact that you obscured the most important part (the IP
address), I don't see where the problem could be coming from. What
happens if you put the Allow directive in httpd.conf rather than the
.htaccess?
Joshua.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Mon, 21 Jun 2004, Joshua Slive wrote:
> You don't happen to be using mac osx with their http accellerator?
Nope. RedHat 8.0 with Apache 1.3.31 plus PHP 4.3.7.
> Show us the contents of the access and error log for a relevant request,
> along with the LogFormat in use from httpd.conf.
Log definitions:
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" vcombined
ErrorLog /mnt/logs/apache/test/error_log
CustomLog /mnt/logs/apache/test/access_log vcombined
Without the test/.htaccess file:
test.mydomain 1.2.3.4 - - [21/Jun/2004:15:27:49 +0200] "GET /
HTTP/1.1" 403 210 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
.NET CLR 1.1.4322)"
[Mon Jun 21 15:27:49 2004] [error] [client 1.2.3.4] client denied by
server configuration: /mnt/docs/PHP/test
With the (127.0.0.1) test/.htaccess file:
test.mydomain 1.2.3.4 - - [21/Jun/2004:15:29:28 +0200] "GET /
HTTP/1.1" 200 7 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
.NET CLR 1.1.4322)"
The .htaccess file contains a single line:
Allow from 127.0.0.1
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Joshua Slive <jo...@slive.ca>.
On Mon, 21 Jun 2004, Matthijs van der Klip wrote:
> 2) Single htaccess under /mnt/docs/PHP/test/.htaccess:
>
> Allow from 127.0.0.1
>
>
> BAD: Access to this virtualhost is granted to anybody...
You don't happen to be using mac osx with their http accellerator? Show
us the contents of the access and error log for a relevant request, along
with the LogFormat in use from httpd.conf.
Joshua.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Mon, 21 Jun 2004, Matthijs van der Klip wrote:
> So it really looks to me if I have no other choice than making a copy
> of my main htaccess file... Is this really true? :S
Narrowed this down to:
1) VirtualHost specification:
VirtualHost *>
ServerName test.mydomain
# Logs
ErrorLog /mnt/logs/apache/test/error_log
CustomLog /mnt/logs/apache/test/access_log vcombined
# Access Control
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order Allow,Deny
</Directory>
# Document Root
DocumentRoot /mnt/docs/PHP/test
</VirtualHost>
GOOD: Access to this virtualhost is denied by default as expected as the
result of the 'Order Allow,Deny' directive inside the 'Directory'
specification for my document root:
Allow,Deny
The Allow directives are evaluated before the Deny directives. Access is
denied by default. Any client which does not match an Allow directive or
does match a Deny directive will be denied access to the server.
2) Single htaccess under /mnt/docs/PHP/test/.htaccess:
Allow from 127.0.0.1
BAD: Access to this virtualhost is granted to anybody...
So, no nesting of htaccess files, just trying to combine an 'Order'
directive within a 'Directory' with an 'Allow' within an htaccess.
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Matthijs van der Klip <ma...@spill.nl>.
On Mon, 21 Jun 2004, Michael wrote:
> Generally, doesn't the .htaccess file dictate the behaviour down the
> directory tree? This is probably the root of the problem. In other words,
> the .htaccess is controlling all the directories from /test/ on down if
> that's where it's located. At least that's my understanding of how the
> .htaccess files work.
Define 'down'... You mean travelling from 'test' to 'test/test2'?
> If you have indeed placed it /test/ and then add another directory
> /test/test2 the .htaccess file located at /test/ is also controlling the
> access to any directories underneath this location.
This being the exact purpose... Access to the test dir should be
controlled by test/.htaccess and access to the test/test2 dir should be
controlled by both test/.htaccess and test/test2/.htaccess. I would expect
the Allow's and Deny's to be additive.
> You can probably structure it in a way (as you are requesting now) so
> that you can work around this, but I've found that there always seems to
> be holes or Apache just doesn't behave as you would expect.
I tried restructuring it like this:
# Access Control
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order deny,allow
Deny from all
</Directory>
<Directory /mnt/docs/PHP/test/test2>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order deny,allow
Deny from all
Allow from 4.3.2.1
</Directory>
# Document Root
DocumentRoot /mnt/docs/PHP/test
With no htaccess files in place, access to test/ is granted to nobody,
access to test/test2 is granted to 4.3.2.1. After placing a test/.htaccess
like follows:
Allow from 1.2.3.4
Access to test/ is (again) granted to anybody despite the 'Deny from All'
in the 'Directory' section in my virtualhost spec!
By placing a test/.htaccess like follows:
Order Allow,Deny
Deny from All
Allow from 1.2.3.4
This is fixed and access to test/ is granted to 1.2.3.4 only. However this
defeats the purpose as now an implicit 'Deny from All' is done on
test/test2 also...
> You are much better off in this case, by creating a completely different
> directory structure and allowing the access as you did in the first example.
> It's much simpler to control in this manner and there are less issues with
> holes being found such as the one you're trying to work around now.
I considered splitting them up in different virtualhosts but even this is
not likely to work as it seems I cannot combine some 'Allow/Deny'
statements within my virtualhost with my (centrally managed) htaccess
file (see above).
So it really looks to me if I have no other choice than making a copy
of my main htaccess file... Is this really true? :S
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] nested htaccess files in conjuction with allow/deny
Posted by Michael <xe...@xshellr8.com>.
Generally, doesn't the .htaccess file dictate the behaviour down the
directory tree? This is probably the root of the problem. In other words,
the .htaccess is controlling all the directories from /test/ on down if
that's where it's located. At least that's my understanding of how the
.htaccess files work. If you have indeed placed it /test/ and then add
another directory /test/test2 the .htaccess file located at /test/ is also
controlling the access to any directories underneath this location. You can
probably structure it in a way (as you are requesting now) so that you can
work around this, but I've found that there always seems to be holes or
Apache just doesn't behave as you would expect.
You are much better off in this case, by creating a completely different
directory structure and allowing the access as you did in the first example.
It's much simpler to control in this manner and there are less issues with
holes being found such as the one you're trying to work around now.
My 2 cents,
Michael
-----Original Message-----
From: Matthijs van der Klip [mailto:matthijs@spill.nl]
Sent: Monday, June 21, 2004 1:11 AM
To: Apache User Mailing List
Cc: lists@spill.nl
Subject: [users@httpd] nested htaccess files in conjuction with allow/deny
Hi,
I've been trying to do the following:
1) Consider a virtualhost which has a document root configured as follows:
# Access Control
<Directory /mnt/docs/PHP/test>
# Deny access by default
# Grant access to specific adresses thru a htaccess file
Options FollowSymLinks
AllowOverride Limit
Order deny,allow
Deny from all
</Directory>
# Document Root
DocumentRoot /mnt/docs/PHP/test
2) Access to specific addresses granted by /mnt/docs/PHP/test/.htaccess:
Order deny,allow
Deny from all
# Grant access
Allow from 1.2.3.4
This works like expected, i.e. access is granted to 1.2.3.4 only.
3) Now consider a subdirectory /mnt/docs/PHP/test/test2/. I've been trying
to _additionaly_ grant access to a second ip-address using a htaccess
file /mnt/docs/PHP/test/test2/.htaccess:
# Grant additional access
Allow from 4.3.2.1
At first sight this seemed to work like expected. The test2 subdir is
accessible by both 1.2.3.4 and 4.3.2.1. Closer inspection however reveals
the test2 subdir is not only accessible by the mentioned ip-addresses, but
by anyone! This ofcourse is not the desired behaviour.
I've tried about a zillion variations of Order, Allow and Deny but cannot
get the desired behaviour. Does anyone have experience in a likewise
situation?
Note1: IP-addresses, paths etc. have been forged.
Note2: I do ofcourse now this can be solved by not trying to nest the
htaccess files and giving them each a seperate 'Deny from All'
line, but this is not the purpose, as in practice the first
htaccess is a symlink to a common htaccess containing a large
amount of ip-addresses. I do not want to make a copy of this file
as this increases administrative effort.
Best regards,
--
Matthijs van der Klip
System Administrator
Spill E-Projects
The Netherlands
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org