9c4edfc0d0aa1365b4539c0ff7ff2498cdfffc20
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Installation.pod
1 head1 NAME
2
3 Catalyst::Manual::Installation - Catalyst Installation
4
5 =head1 DESCRIPTION
6
7 How to install Catalyst.
8
9 =head1 INSTALLATION
10
11 On one hand, Catalyst gains immediate power and flexibility
12 through its use of CPAN (the Comprehensive Perl Archive
13 Network, an enormous global repository containing over 10,000
14 free modules).  On the other hand, Catalyst's reliance on CPAN
15 can complicate initial installations, especially in
16 shared-hosting environments where you, the user, do not have
17 easy control over what versions other modules are installed.
18
19 It is worth stressing that the difficulties found in installing
20 Catalyst are caused not by anything intrinsic to Catalyst
21 itself, but rather by the interrelated dependencies of a large
22 number of required modules.
23
24 Fortunately, there are a growing number of methods that can
25 dramatically ease this undertaking:
26
27 =over 4
28
29 =item * 
30
31 Matt Trout's C<cat-install> script
32
33 Available at
34 L<http://www.shadowcatsystems.co.uk/static/cat-install>,
35 C<cat-install> can be a quick and painless way to get Catalyst
36 up and running.  Just download the script from the link above
37 and type C<perl cat-install>. This script automates the
38 process of installing Catalyst itself and its dependencies,
39 with bits of overriding so that the process does not require
40 user interaction.
41
42 =item * 
43
44 Chris Laco's CatInABox
45
46 Download the tarball from
47 L<http://handelframework.com/downloads/CatInABox.tar.gz> and unpack it
48 on your machine.  Depending on your OS platform, either run C<start.bat>
49 or C<start.sh>.
50
51 =item * 
52
53 Pre-Built VMWare Images
54
55 Under the VMWare community program, work is ongoing to develop a number
56 of VMWare images where an entire Catalyst development environment has
57 already been installed, complete with database engines and a full
58 complement of Catalyst plugins.
59
60 =back
61
62 =head2 OTHER METHODS
63
64 In addition to the "all-in-one" approaches mentioned above, there are a
65 variety of other installation techniques:
66
67 =over 4
68
69 =item * 
70
71 CPAN
72
73 The traditional way to install Catalyst is directly from CPAN using
74 C<Task::Catalyst> bundle:
75
76         $ perl -MCPAN -e 'install Task::Catalyst'
77
78 Unless you have a particularly complete set of Perl modules already
79 installed, be prepared for a large number of nested dependencies.
80
81 =item * 
82
83 Gentoo Linux
84
85 For users of Gentoo, see
86 C<http://gentoo-wiki.com/HOWTO_Catalyst_Framework> for automated
87 installations.  In short, simply mount the portage overlay and type
88 C<emerge catalystframework>.
89
90 =item * 
91
92 FreeBSD
93
94 FreeBSD users can get up and running quickly by typing C<cd
95 /usr/ports/www/p5-Catalyst && make install>, or C<portinstall
96 p5-Catalyst> if C<portinstall> is installed on your system.
97
98 =item * 
99
100 Windows ActivePerl
101
102 Windows users can take advantage of the PPM tool that comes with
103 ActivePerl to jumpstart their Catalyst environment.  Directions are
104 available at L<http://catalyst.infogami.com/katalytes/cat_on_windows>.
105
106 =item *
107
108 Subversion Repository
109
110 Catalyst uses Subversion for version control. To checkout the latest:
111
112     $ svn co http://dev.catalyst.perl.org/repos/Catalyst/trunk/Catalyst/
113
114 =back
115
116 B<NOTE:> Although all of the above methods can be used to
117 install a base Catalyst system, only the VMWare image is
118 likely to have all of the plugins and modules you need to use
119 Catalyst properly, and to complete the tutorial.  When you
120 start the C<script/myapp_server.pl> development server, it
121 will tell you about any modules that are missing.  To add
122 them, type something along the lines of the following
123 (C<Catalyst::Model::DBIC::Schema> is used here as a
124 representative example):
125
126     # perl -MCPAN -e 'install Catalyst::Model::DBIC::Schema'
127     ...
128