Update DBIX_CLASS_STORAGE_DBI_DEBUG to DBIC_TRACE.
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Installation.pod
CommitLineData
488736aa 1=head1 NAME
4d583dd8 2
64ccd8a8 3Catalyst::Manual::Installation - Catalyst Installation
4d583dd8 4
4d583dd8 5=head1 DESCRIPTION
6
ca993681 7How to install Catalyst.
4d583dd8 8
ca993681 9=head1 INSTALLATION
4d583dd8 10
86418559 11One of the frequent problems reported by new users of Catalyst is that
12it can be extremely time-consuming and difficult to install.
13
14One of the great strengths of Perl as a programming language is its use
15of CPAN, the Comprehensive Perl Archive Network, an enormous global
16repository containing over 10,000 free modules. For almost any basic
17task--and a very large number of non-basic ones--there is a module on
18CPAN that will help you. Catalyst has taken advantage of this, and uses
19a very large number of CPAN modules, rather than reinventing the wheel
20over and over again. On the one hand, Catalyst gains power and
21flexibility through this re-use of existing code. On the other hand,
22Catalyst's reliance on CPAN can complicate initial installations,
23especially in shared-hosting environments where you, the user, do not
24have easy control over what versions of other modules are installed.
25
26It is worth stressing that the difficulties found in installing Catalyst
27are caused not by anything intrinsic to Catalyst itself, but rather by
28the interrelated dependencies of a large number of required modules.
29
30Fortunately, there are a growing number of methods that can dramatically
31ease this undertaking. Note that for many of these, you will probably
32need to install additional Catalyst-related modules (especially plugins)
33to do the things you want. As of version 5.70, Catalyst has split into
34two packages, L<Catalyst::Runtime>, which includes the core elements
35necessary to deploy a Catalyst application, and L<Catalyst::Devel>,
36which includes the Helpers and other things necessary or useful for
37developing Catalyst applications. In a purely deployment environment
38you can omit L<Catalyst::Devel>.
4d583dd8 39
40=over 4
41
42=item *
43
da62e298 44Matt Trout's C<cat-install> script
45
9b0ec7a1 46Available at L<http://www.shadowcatsystems.co.uk/static/cat-install>,
47C<cat-install> can be a quick and painless way to get Catalyst up and
48running on your system. Just download the script from the link above
49and type C<perl cat-install>. This script automates the process of
50installing Catalyst itself and its dependencies, with bits of overriding
86418559 51so that the process does not require user interaction. C<cat-install>
52installs Catalyst and its dependencies using the L<CPAN> module, so that
53modules are installed the same way you would probably install them
54normally--it just makes it easier. This is a recommended solution for
55installation.
4d583dd8 56
57=item *
58
59Chris Laco's CatInABox
60
9b0ec7a1 61CatInABox is a complete version of Catalyst that is installed locally on
62your system, so that you don't need to go through the effort of doing a
63full install. Simply download the tarball from
64ccd8a8 64L<http://handelframework.com/downloads/CatInABox.tar.gz> and unpack it
65on your machine. Depending on your OS platform, either run C<start.bat>
9b0ec7a1 66or C<start.sh> to set your bin/PERLLIB paths. This tarball contains
67everything needed to try out Catalyst including Catalyst itself,
68Template Toolkit, several Authentication modules, StackTrace, and a few
69other plugins.
70
71A special Win32 version is available upon request that contains many
72more plugins and pre-compiled modules, including DBIx::Class, DBI,
73SQLite, and Session support. If you are interested in this version,
74please send e-mail to C<claco@chrislaco.com>.
4d583dd8 75
76=item *
77
78Pre-Built VMWare Images
79
64ccd8a8 80Under the VMWare community program, work is ongoing to develop a number
81of VMWare images where an entire Catalyst development environment has
82already been installed, complete with database engines and a full
83complement of Catalyst plugins.
4d583dd8 84
85=back
86
4d583dd8 87=head2 OTHER METHODS
88
64ccd8a8 89In addition to the "all-in-one" approaches mentioned above, there are a
90variety of other installation techniques:
4d583dd8 91
92=over 4
93
94=item *
95
96CPAN
97
86418559 98The traditional way to install Catalyst is directly from CPAN using the
bc384c9d 99C<Task::Catalyst> bundle and C<Catalyst::Devel>:
4d583dd8 100
64ccd8a8 101 $ perl -MCPAN -e 'install Task::Catalyst'
bc384c9d 102 $ perl -MCPAN -e 'install Catalyst::Devel'
4d583dd8 103
64ccd8a8 104Unless you have a particularly complete set of Perl modules already
105installed, be prepared for a large number of nested dependencies.
4d583dd8 106
107=item *
108
109Gentoo Linux
110
64ccd8a8 111For users of Gentoo, see
112C<http://gentoo-wiki.com/HOWTO_Catalyst_Framework> for automated
113installations. In short, simply mount the portage overlay and type
114C<emerge catalystframework>.
4d583dd8 115
ca993681 116=item *
4d583dd8 117
118FreeBSD
119
64ccd8a8 120FreeBSD users can get up and running quickly by typing C<cd
ca993681 121/usr/ports/www/p5-Catalyst && make install>, or C<portinstall
122p5-Catalyst> if C<portinstall> is installed on your system.
4d583dd8 123
124=item *
125
126Windows ActivePerl
127
64ccd8a8 128Windows users can take advantage of the PPM tool that comes with
129ActivePerl to jumpstart their Catalyst environment. Directions are
130available at L<http://catalyst.infogami.com/katalytes/cat_on_windows>.
4d583dd8 131
ca993681 132=item *
4d583dd8 133
ca993681 134Subversion Repository
4d583dd8 135
ca993681 136Catalyst uses Subversion for version control. To checkout the latest:
4d583dd8 137
2f61bdd0 138 $ svn co http://dev.catalyst.perl.org/repos/Catalyst/trunk/Catalyst-Runtime/
4d583dd8 139
140=back
141
86418559 142B<NOTE:> Although all of the above methods can be used to install a base
143Catalyst system, only the VMWare image is likely to have all of the
144plugins and modules you need to use Catalyst properly. When you start
145the C<script/myapp_server.pl> development server, it will tell you about
146any modules that are missing. To add them, type something along the
147lines of the following (C<Catalyst::Model::DBIC::Schema> is used here as
148a representative example):
ca993681 149
150 # perl -MCPAN -e 'install Catalyst::Model::DBIC::Schema'
151 ...
4d583dd8 152