~ubuntu-branches/ubuntu/warty/libapache2-mod-perl2/warty

« back to all changes in this revision

Viewing changes to docs/os/win32/install.pod

  • Committer: Bazaar Package Importer
  • Author(s): Andres Salomon
  • Date: 2004-02-13 22:22:35 UTC
  • Revision ID: james.westby@ubuntu.com-20040213222235-x0ggyscn50jvab2v
Tags: upstream-1.99.12
ImportĀ upstreamĀ versionĀ 1.99.12

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=head1 NAME
 
2
 
 
3
mod_perl 2.0 Win32 Installation Instructions
 
4
 
 
5
=head1 Description
 
6
 
 
7
This document deals with installation specifics on Win32 platforms.
 
8
 
 
9
=head1 Synopsis
 
10
 
 
11
As described in the discussion of issues in L<multithreaded
 
12
win32|docs::1.0::os::win32::multithread>, a mod_perl 1.0 enabled server
 
13
based on Apache 1.3 on Win32 is limited to a single thread serving a
 
14
request at a time. This effectively prevents concurrent processing,
 
15
which can have serious implications for busy sites. This problem is
 
16
addressed in the multi-thread/multi-process approach of mod_perl
 
17
2.0/Apache 2.0.
 
18
 
 
19
There are some threading issues in perl-5.6
 
20
(upon which ActivePerl builds 6xx are based) which cause
 
21
problems with mod_perl 2.0 on Win32. Consequently, the minimum
 
22
required perl version is 5.8 (ActivePerl builds 8xx) 
 
23
for use with mod_perl 2.0 on Win32.
 
24
 
 
25
Note that, at the present time, mod_perl 2 is in a development
 
26
stage, with a version number C<1.99_xx>.
 
27
 
 
28
=head1 Installing
 
29
 
 
30
Unless you are using an all-in-one package, you should
 
31
first install Perl and Apache, either from the sources or as binaries.
 
32
The Perl sources are available from L<http://www.cpan.org/src/>,
 
33
with directions for building contained in F<README.win32>.
 
34
ActiveState also makes the sources available for their binary
 
35
builds at L<ftp://ftp.activestate.com/ActivePerl/src/>,
 
36
which may contain, in particular, Win32-specific fixes not in the
 
37
CPAN Perl sources. As a binary, at present, an ActivePerl-compatible 
 
38
Perl, compiled with Visual C++, is the most common one used in the Win32 
 
39
mod_perl/Apache environment; you can obtain such a prebuilt Perl
 
40
binary from L<http://www.activestate.com/>.
 
41
 
 
42
The Apache sources and binaries are available at
 
43
L<http://httpd.apache.org/>.
 
44
 
 
45
As of this writing, mod_perl 2.0 is known to compile and work
 
46
with an ActivePerl-compatible perl-5.8.0 (ActivePerl build 8xx). 
 
47
See the section on Apache/mod_perl binaries 
 
48
below for details on a suitable repository containing mod_perl
 
49
ppm packages, and also how to obtain other Win32 binary packages.
 
50
 
 
51
When installing Perl or other related binaries, subtleties may arise
 
52
in using path names that have spaces in them - you may, for example, 
 
53
have to specify F<C:\Program Files\> by the DOS 8.3 path name 
 
54
F<C:\Progra~1\> in certain Apache directives. If you want to avoid
 
55
this, install, if possible, these packages to locations without spaces
 
56
in their names (eg, F<C:\Perl> for Perl and F<C:\Apache2> for Apache 2.0).
 
57
 
 
58
In the following, it may be necessary to invoke certain commands 
 
59
through a DOS prompt. A DOS window may be opened either through
 
60
a I<Command Prompt> option of the I<Start> menu, or by choosing
 
61
to run, from the Start menu, C<command> or C<cmd>, as appropriate. 
 
62
 
 
63
=head2 Building from sources
 
64
 
 
65
If you are building mod_perl 2.0 from sources, it is probably also
 
66
best to do the same for Apache 2.0. The Apache 2.0 sources can be
 
67
obtained from L<http://httpd.apache.org/>, which when unpacked will
 
68
contain at the top-level a Visual Studio project file
 
69
(make sure to obtain the I<win32-src.zip> archive). Choose the
 
70
C<InstallBin - Win32 Release> target to build and install Apache 2.0,
 
71
which by default will be placed in F</Apache2>. At the present
 
72
time you must have version 2.0.47 or greater of Apache2 in
 
73
order to build mod_perl.
 
74
 
 
75
Having built and installed Apache 2.0, next obtain the mod_perl 2.0
 
76
sources. First obtain the L<mod_perl 2.0
 
77
sources|download::source/Development_mod_perl_2_0_Source_Distribution>
 
78
as a C<tar.gz> file - when unpacked, using Winzip or similar tools, a
 
79
subdirectory F<mod_perl-x.xx> will be created. Next, run the command
 
80
 
 
81
    C:\modperl_src> perl Makefile.PL MP_AP_PREFIX=\Path\to\Apache2
 
82
 
 
83
Then
 
84
 
 
85
    C:\modperl_src> nmake
 
86
    C:\modperl_src> nmake test
 
87
 
 
88
will build and test mod_perl 2.0. mod_perl 2.0 on Win32 is considered
 
89
at an alpha stage of development, so not all the tests may pass.
 
90
 
 
91
The final command,
 
92
 
 
93
    C:\modperl_src> nmake install
 
94
 
 
95
will install the necessary mod_perl 2.0 files into your Perl directory
 
96
tree, and also copy F<src/modules/perl/mod_perl.so> into
 
97
your F</Path/to/Apache2/modules/> directory. If you are installing
 
98
mod_perl 2.0 on a system that also contains mod_perl 1.0, then some
 
99
mod_perl 1.0 files will be overwritten by this procedure. This can be
 
100
avoided by preparing the build as
 
101
 
 
102
  C:\modperl_src> perl Makefile.PL MP_AP_PREFIX=\Path\to\Apache2 MP_INST_APACHE2=1
 
103
 
 
104
which will subsequently lead to the mod_perl 2.0 files being installed
 
105
under an F<Apache2> subdirectory in your Perl tree.  You will then
 
106
have to employ either a C<use Apache2;> line in your scripts/packages
 
107
or else a C<PerlModule Apache2> directive in Apache's F<httpd.conf>.
 
108
 
 
109
If this build fails, or you want features not present in the official
 
110
releases, you may want to try the sources obtained from cvs - see the
 
111
discussion on the L<2.0 Development Source
 
112
Distribution|download::source/Development_mod_perl_2_0_Source_Distribution>
 
113
for details. Be aware, though, that as well as providing bug fixes,
 
114
there may be new features being added and tested in the cvs versions,
 
115
so at any given time there are no guarantees that these packages will
 
116
build and test successfully.
 
117
 
 
118
=head2 PPM Packages
 
119
 
 
120
The following assumes you already have ActivePerl 8xx (I<not> 6xx)
 
121
from L<http://www.activestate.com/> and a Win32 Apache 2.0 binary from 
 
122
L<http://httpd.apache.org/>. In installing this, you might avoid
 
123
some future problems by choosing installation directories that do
 
124
not have spaces in their names (eg, F<C:/Apache2>). At this time
 
125
you must have version 2.0.47 or greater of Apache2 in order to
 
126
install the mod_perl 2 ppm package.
 
127
 
 
128
After installing Perl and Apache 2.0, you can then install mod_perl
 
129
via the C<PPM> utility. ActiveState does not maintain mod_perl in
 
130
their ppm repository, so you must get it from a different location
 
131
other than ActiveState's site. A quick way to do this is to download
 
132
the script F<mpinstall> and save it as, for example, I<mpinstall>.
 
133
Invoking this as C<perl mpinstall> on a command line
 
134
will take you through a dialogue, based on your configuration, 
 
135
which will determine and install, via C<ppm>, the desired 
 
136
mod_perl ppm package.
 
137
 
 
138
The direct way to install mod_perl via ppm is simply as (broken over two
 
139
lines for readability)
 
140
 
 
141
  C:\> ppm install
 
142
       http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd
 
143
 
 
144
Another way, which will be useful if you plan on installing 
 
145
additional Apache modules, is to set the repository
 
146
within the C<ppm> shell utility to
 
147
 
 
148
   http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58
 
149
 
 
150
using the C<repository add alias location> for I<ppm3> (the
 
151
default with ActivePerl 8xx), and using C<set repository alias location> 
 
152
for C<ppm2>; see the help utility within the C<ppm> shell for
 
153
details. mod_perl 2.0 can then be installed as C<install mod_perl>
 
154
within the ppm shell, which
 
155
will install the necessary modules under an F<Apache2>
 
156
subdirectory in your Perl tree, so as not to disturb a possible existing
 
157
F<Apache> directory from mod_perl 1.0. See the section below on
 
158
configuring mod_perl to add this directory to the C<@INC> path for
 
159
searching for modules.
 
160
 
 
161
The mod_perl PPM package also includes the necessary Apache DLL
 
162
F<mod_perl.so>; a post-installation script should be run which will
 
163
offer to copy this file to your Apache2 modules directory (eg,
 
164
F<C:/Apache2/modules/>). If this fails, you can get
 
165
F<mod_perl.so> from L<http://theoryx5.uwinnipeg.ca/ppms/x86/>
 
166
and install it to your Apache2 modules directory by hand. 
 
167
 
 
168
Note that, because of binary incompatibilities, one should
 
169
I<not> install packages for ActivePerl 8xx from a repository
 
170
containing packages for ActivePerl 6xx, and vice-versa, particularly
 
171
if these packages contain XS-based modules.
 
172
 
 
173
The mod_perl package available from this site will always
 
174
use the latest mod_perl sources compiled against the latest official
 
175
Apache release; depending on changes made in Apache, you may or may
 
176
not be able to use an earlier Apache binary. However, in the Apache
 
177
Win32 world it is particularly a good idea to use the latest version,
 
178
for bug and security fixes. If you encounter problems loading
 
179
F<mod_perl.so>, ensure that the mod_perl version you are using matches
 
180
that of Apache, make certain C<Perl> is in your C<PATH> environment
 
181
variable, or try adding the Apache directive
 
182
 
 
183
  LoadFile "C:/Path/to/your/Perl/bin/perlxx.dll"
 
184
 
 
185
before loading F<mod_perl.so>. If all else fails, a reboot may help.
 
186
 
 
187
If the I<theoryx5.uwinnipeg.ca> repository is down, you can
 
188
access these packages at 
 
189
L<http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/>,
 
190
for builds 8xx, and
 
191
L<http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppmpackages/>,
 
192
for builds 6xx.
 
193
 
 
194
=head2 All in one packages
 
195
 
 
196
There is an IndigoPerl Perl/Apache 2 binary package available from
 
197
L<http://www.indigostar.com/> containing mod_perl 2. As well,
 
198
at L<http://www.apache.org/dyn/closer.cgi/perl/win32-bin/> 
 
199
there is a self-extracting
 
200
archive F<Perl-5.8-win32-bin.exe> containing a binary version
 
201
of perl-5.8 (compatible with ActivePerl 8xx), together with Apache 2.0
 
202
and mod_perl 2.0. See the file F<Perl-5.8-win32-bin.readme> for
 
203
a description. If you have trouble
 
204
fetching the whole file at once, the directory
 
205
L<http://www.apache.org/dyn/closer.cgi/perl/win32-bin/Perl-5.8-win32-bin/>
 
206
contains this distribution split across multiple files -
 
207
see F<README.join> for instructions on how to join them. Alternatively,
 
208
if you have Perl already, you can get the script
 
209
F<distinstall> which, when invoked as
 
210
C<perl distinstall>, will fetch and join
 
211
the files for you.
 
212
 
 
213
=head1 See Also
 
214
 
 
215
The directions for L<configuring mod_perl 2.0 on
 
216
Win32|docs::2.0::os::win32::config>, the L<mod_perl
 
217
documentation|docs::index>, L<http://take23.org/>,
 
218
L<http://httpd.apache.org/>, L<http://www.activestate.com/>,
 
219
and the
 
220
L<FAQs for mod_perl on Win32|docs::general::os::win32::faq>.  
 
221
Help is also available through the archives of and subscribing to
 
222
the L<mod_perl mailing list|maillist::modperl>.
 
223
 
 
224
=head1 Maintainers
 
225
 
 
226
Maintainer is the person(s) you should contact with updates,
 
227
corrections and patches.
 
228
 
 
229
=over
 
230
 
 
231
=item * 
 
232
 
 
233
Randy Kobes E<lt>randy@theoryx5.uwinnipeg.caE<gt>
 
234
 
 
235
=back
 
236
 
 
237
 
 
238
=head1 Authors
 
239
 
 
240
=over
 
241
 
 
242
=item *
 
243
 
 
244
Randy Kobes E<lt>randy@theoryx5.uwinnipeg.caE<gt>
 
245
 
 
246
=back
 
247
 
 
248
Only the major authors are listed above. For contributors see the
 
249
Changes file.
 
250
 
 
251
 
 
252
=cut
 
253