Annotated edit history of
SargeApache2Notes version 2, including all changes.
View license author blame.
Rev |
Author |
# |
Line |
1 |
JohnMcPherson |
1 |
!!! [Apache]2 and mod_perl |
|
|
2 |
The version of mod_perl for apache2 in Sarge (libapache2-mod-perl2) |
|
|
3 |
is 1.999.21. |
|
|
4 |
|
|
|
5 |
Only a short while after Sarge was released, mod_perl version 2.0 was released. Unfortunately, its behaviour changed in some significant ways, and the documentation on http://perl.apache.org/docs/2.0/ reflects this stable version. So if you are using Sarge and apache2 and mod_perl, you have some poorly documented features and mis-features. Wonderful. Instead, you can have hours of fun trying to figure everything out for yourself. |
|
|
6 |
|
|
|
7 |
!!mod_perl and ~DirectoryIndex |
|
|
8 |
<verbatim> |
|
|
9 |
[error] [client x.x.x.x] Attempt to serve directory: /var/www/path/to/directory/ |
|
|
10 |
</verbatim> |
|
|
11 |
|
|
|
12 |
This version of mod_perl for apache2 screws up ~DirectoryIndex directives, since perl gets the request for the directory before mod_dir gets a chance. I suggest using mod_rewrite or a redirect instead. |
|
|
13 |
See [this thread|http://www.spanner.org/lists/mod_perl/2005/04/13/710deb3f.html] for an explanation. |
|
|
14 |
|
|
|
15 |
|
|
|
16 |
There is a fix you can do by loading your own handler into mod_perl for handling directories - [this post|http://www.spanner.org/lists/mod_perl/2005/04/27/12c49991.html] in the above thread uses this solution. |
|
|
17 |
|
|
|
18 |
!!Apache2.pm module |
|
|
19 |
This version (1.999.21) of mod_perl expects you to do |
|
|
20 |
<verbatim> |
|
|
21 |
use Apache2; |
|
|
22 |
</verbatim> |
|
|
23 |
and then the old style |
|
|
24 |
<pre> |
|
|
25 |
use Apache::''module''; |
|
|
26 |
</pre> |
2 |
JohnMcPherson |
27 |
much the way that mod_perl for apache1 did. This changed in mod_perl 2.0, so that there is no Apache2.pm any more, and you should just do |
1 |
JohnMcPherson |
28 |
<pre> |
|
|
29 |
use Apache::''module''; |
|
|
30 |
</pre> |
|
|
31 |
This means that you should do |
|
|
32 |
<verbatim> |
|
|
33 |
PerlInitHandler Apache::Reload |
|
|
34 |
</verbatim> |
|
|
35 |
in your apache config file, not |
|
|
36 |
<verbatim> |
|
|
37 |
PerlInitHandler Apache2::Reload |
|
|
38 |
</verbatim> |
|
|
39 |
as stated in perl.apache.org's online documentation. |