There is a mistake in "Modifying the Project Web Root" paragraph in Chapter 19 of "The Book".
According to 'Listing 19-5 - Example of Custom Directory Structure for a Shared Host' the change of config.php file should be:
sfConfig::add(array(
'sf_web_dir' => SF_ROOT_DIR.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'www',
'sf_upload_dir' => SF_ROOT_DIR.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'www'.DIRECTORY_SEPARATOR.sfConfig::get('sf_upload_dir_name'),
));
There is missing the one level up step (/../) in the path of sf_web_dir and sf_upload_dir variables.
And it is really confusing for newbies as I am :-)