Fix typo.
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Tutorial / 01_Intro.pod
index fa3a360..534d1a6 100644 (file)
@@ -70,21 +70,29 @@ form management).
 The most recent code for the tutorial is included on the Tutorial Virtual
 Machine you can download from:
 
+L<http://cattut.shadowcat.co.uk/>
+
+See L</STARTING WITH THE TUTORIAL VIRTUAL MACHINE> below for
+instructions getting and using the VM.
+
+Should you wish to download the code directly, you get pull it via the
+following command (note: will probably be switching to git soon):
+
     svn co http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial/ CatalystTutorial
 
 This will download the most recent code for each chapter of the
 tutorial into the CatalystTutorial directory on your machine.
 
-B<These reference implementations are provided so that when you follow
+These reference implementations are provided so that when you follow
 the tutorial, you can use the code to ensure that your system is set up
 correctly (which shouldn't be an issue if you use the Tutorial Virtual
 Machine), :-) and that you have not inadvertently made any typographic
-errors, or accidentally skipped part of the tutorial.>
+errors, or accidentally skipped part of the tutorial.
 
 B<NOTE: You can use any Perl-supported OS and environment to run
 Catalyst.> It should make little or no difference to Catalyst's
 operation, B<but this tutorial has been written using the Debian-based
-Tutorial Virtual Machine that you can download and use to work through
+Tutorial Virtual Machine> that you can download and use to work through
 the full tutorial step by step.  B<WE STRONGLY RECOMMEND THAT YOU USE
 THE VIRTUAL MACHINE IMAGE TO WORK THROUGH THE TUTORIAL> to avoid issues
 that may crop up if you are working with a different configuration.  We
@@ -176,8 +184,6 @@ applications can be found at
 L<http://wiki.catalystframework.org/wiki/resources/catalystexamples> and
 in the C<examples> area of the Catalyst Subversion repository at
 L<http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/>.
-***Todo: update link above?
-
 
 
 =head1 STARTING WITH THE TUTORIAL VIRTUAL MACHINE
@@ -187,29 +193,29 @@ Virtual Machine.  This document uses the term "host machine" to refer to
 the physical machine where you will run the virtualization software and
 boot up the VM.  The terms "guest machine" or just "VM" refer to the
 virtual machine itself -- the thing where you actually do the tutorial
-and that you boot up on the "host machine".
+(and that you boot up on the "host machine").
 
-Also, to reduce download size, the Tutorial VM just includes a minimal
-command-line environment.  In general, it is expected that people will
-boot up the Tutorial VM on their main desktop (the "host machine" using
-the terminology above) and then use that main desktop machine to SSH and
-web browse into the "guest VM" as they work through the tutorial.  If
-you wish to install X-Windows (or any other packages), just use the
-C<aptitude> (or C<apt-get>) Debian commands.
+B<Note:> Throughout the tutorial, we will shows the UNIX shell prompt as
+"C<$>".  If you are using the Tutorial VM, the prompt will really be
+"C<catalyst@catalyst:~$>" (where "C<~"> will change to show your
+current directory), but we will keep it short and just use "C<$>".
 
 
 =over 4
 
 =item 1 
 
-Download the C<debian-live-6.0.1-i386-rescue.iso> image from
-L<http://cdimage.debian.org/cdimage/release/current-live/i386/iso-hybrid/>.
+Download a Tutorial Virtual Machine image from
+L<http://cattut.shadowcat.co.uk/>
+
+B<A big thanks to Shadowcat Systems for hosting the virtual machines>
+B<(and everything else they do for the Perl community)!>
 
 =item 2
 
-Uncompress the image:
+Uncompress the image on the "host machine":
 
-    tar zxvf CatalystTutorial.tgz
+    MAINCOMPUTER:~$ tar zxvf CatalystTutorial.tgz
 
 =item 3
 
@@ -219,13 +225,14 @@ L<http://www.virtualbox.org/>.
 
 =item 4
 
-Once you get a login prompt, enter the username B<root> and a password
-for C<catalyst>.  You should now be at a prompt that looks like:
+Once you get a login prompt, enter the username B<catalyst> and a
+password for C<catalyst>.  You should now be at a prompt that looks
+like:
 
-    catalyst login: root
+    catalyst login: catalyst
     Password: catalyst
     ...
-    root@catalyst:~#
+    catalyst@catalyst:~$
 
 =item 5
 
@@ -243,7 +250,7 @@ The image it design to automatically use a DHCP-assigned address.
 Try to ping this IP address from your "host machine" (main desktop):
 
 
-    MainComputer:~$ ping 192.168.0.12
+    MAINCOMPUTER:~$ ping 192.168.0.12
     PING 192.168.0.12 (192.168.0.12) 56(84) bytes of data.
     64 bytes from 192.168.0.12: icmp_req=1 ttl=255 time=4.97 ms
     64 bytes from 192.168.0.12: icmp_req=2 ttl=255 time=3.43 ms
@@ -258,10 +265,10 @@ If you are not seeing a valid IP address or it's not responding to pings
 (for example, you get error messages along the lines of "Request timed
 out", "100% packet loss", or "Destination Host Unreachable"), there
 could be a few network-related issues you might need to sort out.  See
-the section below L<Sorting Out Virtual Machine Network-Related Issues>
+the section below L</Sorting Out Virtual Machine Network-Related Issues>
 for additional information and troubleshooting advice.
 
-L<Note:> Remember this IP address... you will be using it throughout the
+B<Note:> Remember this IP address... you will be using it throughout the
 tutorial.
 
 
@@ -270,13 +277,13 @@ tutorial.
 B<From your main desktop machine>, open an SSH client and connect to the
 IP address found in the previous step.  You should get a login prompt
 (accept the SSH key if you get a warning message about that).  Login
-with the same username and password as we used in Step 4: B<root> /
+with the same username and password as we used in Step 4: B<catalyst> /
 B<catalyst>
 
-    catalyst login: root
+    catalyst login: catalyst
     Password: catalyst
     ...
-    root@catalyst:~#
+    catalyst@catalyst:~$
 
 
 =item 7
@@ -286,7 +293,7 @@ Chapter 3 included with the Tutorial Virtual Machine and start the
 Catalyst Development Server:
 
     $ cd Final/Chapter03/MyApp
-    $ perl scripts/myapp_server
+    $ perl script/myapp_server.pl
 
 =item 8
 
@@ -308,26 +315,86 @@ back and carefully check each of the steps above.
 
 =item 9
 
-B<Optional:> The VI/VIM editor is already installed on the Tutorial
-Virtual Machine.  In order to reduce the size of the download, Emacs is
-not pre-installed.  Since people obviously have very strong opinions
-about which editor is best, :-) Debian fortunately make it very easy to
-install Emacs:
+B<Optional:> Also, to reduce download size, the Tutorial VM just
+includes a minimal command-line environment.  You are free to use
+Debian's very capable C<apt> package manager to install other packages.
+You will first want to pull the apt cache files with C<aptitude update>
+(or C<apt-get update> if you prefer apt-get).
+
+The VI/VIM editor is already installed on the Tutorial Virtual Machine.
+In order to reduce the size of the download, Emacs is not pre-installed.
+Since people obviously have very strong opinions about which editor is
+best, :-) fortunately it's very easy to install Emacs:
+
+    $ sudo aptitude update
+    $ sudo aptitude install emacs
+
+In general, it is expected that people will
+boot up the Tutorial VM on their main desktop (the "host machine" using
+the terminology above) and then use that main desktop machine to SSH and
+web browse into the "guest VM" as they work through the tutorial.  If
+you wish to install X Windows (or any other packages), just use the
+C<aptitude> (or C<apt-get>) Debian commands.
+
+For example, to install X Windows with Fluxbox (a lightweight
+WindowManager -- it is great for things like this tutorial since it's
+about 1/10th the size of other common X Windows environments), you can
+do:
+
+    $ sudo aptitude update
+    $ sudo aptitude install xorg fluxbox iceweasel
+
+And then start X Windows from the B<VM Console> with this command:
+
+    $ startx
+
+Note that if you want to start Fluxbox from an SSH session, you can use
+the C<sudo dpkg-reconfigure x11-common> and select "anybody" from the
+menu.  Otherwise, you will need to be on the actual "VM console" to
+start it.
+
+If you have a preference for the Gnome desktop environment, you can do:
+
+    $ sudo aptitude update
+    $ sudo aptitude install gnome iceweasel
+    $
+    $ # You can reboot or start with 'startx', we will just reboot here
+    $ reboot
+
+    $ sudo aptitude install kde iceweasel
+
+For KDE, just substitute the package name "C<kde>" for "C<gnome>" above.
+
+Note that C<iceweasel> is basically used to install Firefox on Debian
+boxes.  You can start it under X Windows with either the C<firefox>
+command or the C<iceweasel> command (or use the menus).  You can get
+more information on Iceweasel at L<http://wiki.debian.org/Iceweasel>.
+
+Also, you might need to add more memory to your virtual machine if you
+want to run X Windows (or other tools that might require additional
+memory).  Consult the documentation for you virtualization software
+for instructions on how to do this (it's usually pretty simple).
 
-    $ aptitude install emacs
 
 =back
 
 
 You may note that the Tutorial Virtual Machine uses L<local::lib> so
-that the Perl modules are run from ~/perl5 (in this case, /root/perl5)
-vs. the usual location of your "system Perl".  We recommend that you
-also consider using this very handy module.  It can greatly ease the
-process of maintaining and testing different combinations or Perl
-modules across development, staging, and production servers.  (The
-"relocatable Perl" feature can also be used to to run both the modules
-B<and> Perl itself from your home directory [or any other directory you
-chose]).
+that the Perl modules are run from ~/perl5 (in this case,
+/home/catalyst/perl5) vs. the usual location of your "system Perl".  We
+recommend that you also consider using this very handy module.  It can
+greatly ease the process of maintaining and testing different
+combinations or Perl modules across development, staging, and production
+servers.  (The "relocatable Perl" feature can also be used to to run
+both the modules B<and> Perl itself from your home directory [or any
+other directory you chose]).
+
+B<Note>: Please provide feedback on how the Virtual Machine approach for
+the tutorial works for you.  If you have suggestions or comments, you
+can reach the author through the email address at the bottom of this
+page or via an RT ticket at
+L<https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual>.
+
 
 
 =head2 Sorting Out Virtual Machine Network-Related Issues
@@ -371,11 +438,16 @@ other machine (including the "host machine") into the VM.  Some virtual
 machine host environments let you configure a "static NAT" or "port
 forwarding" to reach the guest OS, but others omit this functionality.
 
+Note: NAT mode can work fine if you install X Windows and do the whole
+tutorial locally on the actual VM vs. using SSH and a web browser from
+your host machine.
+
 "Local host only" mode let's the guest VM and the host machine talk on a
 "private subnet" that other devices in your network cannot reach.  This
 can work as long as you don't need to go from the VM to the Internet
 (for example, to install other Debian packages).
 
+
 Consult the documentation on your virtual machine host environment for
 help configuring the options above.  Here are some links that might
 help:
@@ -384,15 +456,15 @@ help:
 
 =item *
 
-L<VMFAQ.com|http://vmfaq.com/entry/34/>
+L<http://vmfaq.com/entry/34/>
 
 =item *
 
-L<VMWare Player Docs|http://www.vmware.com/support/pubs/player_pubs.html>
+L<http://www.vmware.com/support/pubs/player_pubs.html>
 
 =item *
 
-L<Virtual Box Documentation|http://www.virtualbox.org/manual/ch06.html>
+L<http://www.virtualbox.org/manual/ch06.html>
 
 =back
 
@@ -469,13 +541,14 @@ C<http://192.168.0.12:3000>.  Note that the development server
 defaults to port 3000 (you can change with with the "-p" option on the
 command line.
 
-B<Please Note:> Depending on the web browser you are using, you might need
-to hit C<Shift+Reload> or C<Ctrl+Reload> to pull a fresh page when
+B<Please Note:> Depending on the web browser you are using, you might
+need to hit C<Shift+Reload> or C<Ctrl+Reload> to pull a fresh page when
 testing your application at various points (see
-L<http://en.wikipedia.org/wiki/Bypass_your_cache> for a comprehensive
-list of options for each browser).  Also, the C<-k> keepalive option to
-the development server can be necessary with some browsers (especially
-Internet Explorer).
+L<http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache> for a
+comprehensive list of options for each browser).
+
+Also, the C<-k> B<keepalive option> to the development server can be
+necessary with some browsers (B<especially Internet Explorer>).
 
 =back
 
@@ -501,10 +574,10 @@ L<Catalyst Basics|Catalyst::Manual::Tutorial::02_CatalystBasics>
 
 Kennedy Clark, C<hkclark@gmail.com>
 
-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/Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Tutorial/>.
+Feel free to contact the author for any errors or suggestions, but the
+best way to report issues is via the CPAN RT Bug system at
+L<https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual>.
 
-Copyright 2006-2010, Kennedy Clark, under the
+Copyright 2006-2011, Kennedy Clark, under the
 Creative Commons Attribution Share-Alike License Version 3.0
 (L<http://creativecommons.org/licenses/by-sa/3.0/us/>).