=head1 NAME
-Catalyst::Manual::Installation::CentOS4 Catalyst Installation on CentOS 4
+Catalyst::Manual::Installation::CentOS4 - Catalyst Installation on CentOS 4
=head1 DESCRIPTION
-This document provides directions on how to install CentOS 4 (a rebuild of RedHat Enterprise 4) and then install Catalyst.
+This document provides directions on how to install CentOS 4 (a rebuild
+of RedHat Enterprise 4) and then install Catalyst.
+
+If you already have a functioning install of CentOS, RHEL, or a
+comparable Linux OS, you should be able to skip this first section and
+go straight to the C<INSTALL CATALYST> section.
+
+B<NOTE:> You might want to consult the latest version of this document. It
+is available at:
+L<http://dev.catalyst.perl.org/repos/Catalyst/trunk/Catalyst-Runtime/lib/Catalyst/Manual/Installation/CentOS4.pod>
-If you already have a functioning install of CentOS, RHEL, or a comparable Linux OS, you should be able to skip this first section and go straight to the C<INSTALL CATALYST> section.
=head1 INSTALL CENTOS
-These directions are written for CentOS 4.3 on an i386 machine; however, you can substitute other versions as they become available.
+These directions are written for CentOS 4.3 on an i386 machine; however,
+you can substitute other versions as they become available.
=over 4
=item *
-Go to L<http://isoredirect.centos.org/centos/4/isos/i386/> and click the nearest mirror.
+Go to L<http://isoredirect.centos.org/centos/4/isos/i386/> and click the
+nearest mirror.
=item *
=item *
-CD media test: you can either select C<OK> or C<Skip> depending on whether or not you trust your burn.
+CD media test: you can either select C<OK> or C<Skip> depending on
+whether or not you trust your burn.
=item *
-The installation GUI should start. Click next at the "Welcome to CentOS-4" screen.
+The installation GUI should start. Click next at the "Welcome to
+CentOS-4" screen.
=item *
=item *
-Leave C<Automatically partition> selected on the C<Disk Partitioning Setup> and click C<Next>.
+Leave C<Automatically partition> selected on the C<Disk Partitioning
+Setup> and click C<Next>.
=item *
-Uncheck C<Review (and modify if needed) the partitions created>, but leave the rest of the default settings on the C<Automatic Partitioning> screen. Then click C<Next>.
+Uncheck C<Review (and modify if needed) the partitions created>, but
+leave the rest of the default settings on the C<Automatic Partitioning>
+screen. Then click C<Next>.
=item *
=item *
-Check C<Remote Login (SSH)> and click C<Next> on the C<Firewall Configuration> screen.
+Check C<Remote Login (SSH)> and click C<Next> on the C<Firewall
+Configuration> screen.
=item *
=item *
-Scroll to the bottom of the C<Package Group Selection> screen and check C<Minimal> (the last option). Click C<Next>.
+Scroll to the bottom of the C<Package Group Selection> screen and check
+C<Minimal> (the last option). Click C<Next>.
=item *
=item *
-The installation will prepare the hard drive and then install the required rpm packages.
+The installation will prepare the hard drive and then install the
+required rpm packages.
=item *
=item *
-Type C<vi /etc/sysconfig/iptables> and add the following line as the third to last line of the file (I<above> the C<-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited> line):
+Type C<vi /etc/sysconfig/iptables> and add the following line as the
+third to last line of the file (I<above> the C<-A RH-Firewall-1-INPUT -j
+REJECT --reject-with icmp-host-prohibited> line):
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-This will allow Catalyst to make use of port 3000 (the default for the development server).
+This will allow Catalyst to make use of port 3000 (the default for the
+development server).
-Type C<service iptables restart> to restart the iptables firewall using the updated configuration.
+Type C<service iptables restart> to restart the iptables firewall using
+the updated configuration.
=item *
-Type C<yum y update> to retrieve the latest patches.
+Type C<yum -y update> to retrieve the latest patches.
=back
=item *
-Type <yum -y install gcc expat-devel sqlite3> to install several packages used by Catalyst.
+Type C<yum -y install gcc expat-devel sqlite3> to install several
+packages used by Catalyst.
=item *
Type the following:
- perl -MCPAN -e shell
+ $ perl -MCPAN -e shell
...
cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support available (try 'install Bundle::CPAN')
-
+
cpan> force install Module::Build
...
cpan> quit
+=item *
+
+B<Optional:> The remaining steps of the installation could run
+significantly faster if you configure a fast mirror that uses HTTP vs.
+FTP (both transfer data at the same rate once the transfer is in
+progress, but HTTP connects much more quickly... and a Catalyst
+installation involves many connections). One way to do this is to
+answer C<yes> to the C<Are you ready for manual configuration?> prompt
+when you ran C<perl -MCPAN -e shell> above. Or, you can rerun the
+script by entering the following command at the C<cpanE<gt>> prompt:
+
+ cpan> o conf init
+
+It will then take you through the configuration dialog.
+
+However, it's often easiesr to avoid the full configuration dialog and
+manually add a URL. To prepend a new URL to the B<front> of the list,
+use the C<unshift> option to C<o conf>:
+
+ cpan> o conf urllist unshift http://www.perl.com/CPAN/
+
+Where C<http://www.perl.com/CPAN/> is replaced by a nearby, HTTP-based
+mirror. You can get a list of all mirrors (including where they are
+located, their bandwidth, and their update frequency) at
+L<http://www.perl.com/CPAN/MIRRORED.BY>.
+
+Then, be sure to save your changes (or they will be lost the next
+time you restart the CPAN shell):
+
+ cpan> o conf commit
+
+You can view the current settings with C<o conf urllist> (or just
+C<o conf> to view all settings):
+
+ cpan> o conf urllist
+ urllist
+ http://www.perl.com/CPAN/
+ Type 'o conf' to view configuration edit options
+
+Note that multiple values can be entered for the C<urllist> option (the
+first entry will be used as long as it responds).
+
=item *
-Type C<wget http://www.shadowcatsystems.co.uk/static/cat-install> to retrieve a copy of the C<cat-install> script.
+Type C<wget http://www.shadowcatsystems.co.uk/static/cat-install> to
+retrieve a copy of the C<cat-install> script.
=item *
-Type C<vi cat-install> to open the installer script, then insert the following lines at the bottom of the file (after the C<install('Catalyst');> line):
+Type C<vi cat-install> to open the installer script, then insert the
+following lines at the bottom of the file (after the
+C<install('Catalyst');> line):
+ install('Catalyst::Devel');
+ install('ExtUtils::ParseXS');
+ install('Digest::SHA1');
+ install('Digest::SHA');
install('Class::DBI');
install('DBIx::Class');
install('DBIx::Class::HTMLWidget');
+ install('Module::Install');
+ install('Catalyst::Plugin::ConfigLoader');
install('Catalyst::Plugin::Session');
install('Catalyst::Plugin::Session::State::Cookie');
install('Catalyst::Plugin::Session::Store::FastMmap');
install('Catalyst::Plugin::DefaultEnd');
install('Catalyst::Plugin::StackTrace');
install('Catalyst::Plugin::Dumper');
+ install('Catalyst::Plugin::HTML::Widget');
install('Catalyst::Model::DBIC::Schema');
install('Catalyst::View::TT');
+ install('Test::WWW::Mechanize');
install('Test::WWW::Mechanize::Catalyst');
+ install('Test::Pod');
+ install('Test::Pod::Coverage');
=item *
=back
-You should now have a functioning Catalyst installation with the modules and plugins required to run the Catalyst tutorial.
+You should now have a functioning Catalyst installation with the modules
+and plugins required to run the Catalyst tutorial.
+=head1 TESTING THE INSTALLATION
-=head1 AUTHOR
+=over 4
-Kennedy Clark, C<hkclark@gmail.com>
+=item *
+
+Download the tarball of the final tutorial application:
+
+ $ wget http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial/Final_Tarball/MyApp.tgz
+
+=item *
+
+Untar it:
+
+ $ tar zxvf MyApp.tgz
+ $ cd MyApp
+
+=item *
+
+Run the tests:
-Please report any errors, issues or suggestions to the author.
+ $ CATALYST_DEBUG=0 prove --lib lib t
+ t/02pod...............skipped
+ all skipped: set TEST_POD to enable this test
+ t/03podcoverage.......skipped
+ all skipped: set TEST_POD to enable this test
+ t/01app...............ok
+ t/controller_Login....ok
+ t/live_app01..........ok 1/0[debug] ***Root::auto User not found, forwarding to /login
+ t/live_app01..........ok 2/0[debug] ***Root::auto User not found, forwarding to /login
+ t/live_app01..........ok 15/0[debug] ***Root::auto User not found, forwarding to /login
+ t/live_app01..........ok 16/0[debug] ***Root::auto User not found, forwarding to /login
+ t/live_app01..........ok
+ t/model_MyAppDB.......ok
+ All tests successful, 2 tests skipped.
+ Files=6, Tests=55, 11 wallclock secs ( 4.68 cusr + 4.84 csys = 9.52 CPU)
-Copyright 2006, Kennedy Clark, under Creative Commons License (L<http://creativecommons.org/licenses/by-nc-sa/2.5/>).
+You should see C<All tests successful>.
+
+=back
+
+
+
+=head1 AUTHOR
+
+Kennedy Clark, C<hkclark@gmail.com>
-Version: .01
+Please report any errors, issues or suggestions to the author. The
+most recent version of the Catalyst Tutorial can be found at
+L<http://dev.catalyst.perl.org/repos/Catalyst/trunk/Catalyst-Runtime/lib/Catalyst/Manual/Tutorial/>.
+Copyright 2006, Kennedy Clark, under Creative Commons License
+(L<http://creativecommons.org/licenses/by-nc-sa/2.5/>).