Thank you for posting this excellent walk-through. I'm sure that this is 
a question that will periodically recur on this list and now we need 
only point questioners to this.

Curt

gander wrote:
> At Curt's (excellent) request, here's how I got Typo running on WinXP,
> Apache, with Craig's guidance:
> 
> Http://localhost ruturned the "Congratulations, you've put Ruby on
> Rails!" screen.  Except, there was no index.html in my typo/public
> directory, so that "Congrats" page was coming from somewhere else.
> 
> I had been messing around with the ToDo tutorials, so I suspected it
> might be the "Congrats" page from ToDo.  So I edited
> ToDo/public/index.html and added some markup to identify this
> particular "Congrats" page as living in the ToDo/public directory.
> 
> Back in the browser, I refreshed http://localhost and, lo, I saw the
> ToDo "Congrats" page.  At this point I saw it wasn't a Rails issue, but
> an Apache issue.
> 
> In Apache's httpd.conf, I had this, left over from the ToDo tutorial:
> 
> <VirtualHost *>
>     ServerName todo
>     DocumentRoot /www/webroot/ToDo/public
>     <Directory /www/webroot/ToDo/public/ >
>         Options ExecCGI FollowSymlinks
>         AllowOverride all
>         Allow from all
>         Order allow,deny
>     </Directory>
> </VirtualHost>
> 
> So I commented out that block.
> 
> Whenever you change httpd.conf, you must restart Apache so the new
> config is loaded. So I restarted Apache.
> 
> Back in the browser; refresh http://localhost and I get
> 
> ------------------------------------------
> Application error (Apache)
> 500 Error
> 
> Change this error message for exceptions thrown outside of an action
> (like in Dispatcher setups or broken Ruby code) in public/500.html
> ------------------------------------------
> 
> I knew the typo/public directory had a 500.html file in it, so I edited
> that file and changed "500 Error" to "Typo: 500 Error."  Save the
> changes.
> 
> Refresh http://localhost and I get the 500 error again, but this time I
> see "Typo: 500 Error" so I know Apache is serving the right directory.
> Now I need to figure out what's causing the 500 error.
> 
> I thought really, really hard about it.  And for a long time.  But that
> didn't work.  Not at all.  So it then dawned on me to read the log
> files, which turned out to be much more productive than just thinking.
> 
> By luck, I started poking around in the typo/log directory looking for
> the most recently modified file.
> 
> The file "fastcgi.crash.log" been very recently modified.  That fit
> with the scenario since 500 errors are "web server errors" which means
> something, typically below the level of code you right for your web
> site, crashed, choked or blew up.  Fastcgi qualifies as something below
> the level of my code and the name of the file ("fastcgi.crash.log")
> validated the fact that something went amiss with the process.
> 
> Opening the log, the first line of the bottom block (the block relevant
> to the date/time I was now working) showed:
> -------------------------------------------
> [Sat May 14 22:04:19 Eastern Daylight Time 2005] Dispatcher failed to
> catch: #42000Unknown database 'typo_dev' (Mysql::Error)
> -------------------------------------------
> 
> Unknown database 'typo_dev'?  I was using 'ganderson_typo' for my
> database, no wonder it crashed.  So now the question: What in my code
> said I was using 'typo_dev' as my database (and was ultimately
> responsible for crashing fastcgi and producing the 500 error)?
> 
> I didn't know the answer to that question, but I knew that
> typo/config/database.yaml held info on "my" databases.  So I changed
> "development," "test," and "production" to:
> 
>      database: ganderson_typo
> 
> I restarted Apache and refreshed http://localhost.
> 
> BANG!  It worked.
> 
> Later I found the settings for which database is used are in
> typo/config/environment.rb.  I believe when you make changes to this
> file, you need to restart Apache because, and I may be completely
> wrong, fastcgi causes some of these config options to be cached by
> Apache.  Changes to such files may not be reflected until the Apache
> service is restarted.
> 
> One last thing I forgot to mention:
> 
> I have this in httpd.conf:
> 
> <VirtualHost *>
>     ServerName typo
>     DocumentRoot /www/webroot/typo/public
>     <Directory /www/webroot/typo/public/ >
>         Options ExecCGI FollowSymlinks
>         AllowOverride all
>         Allow from all
>         Order allow,deny
>     </Directory>
> </VirtualHost>
> 
> and I had to remove this line:
> 
>     ServerName typo
> 
> which left me with this:
> 
> <VirtualHost *>
>     DocumentRoot /www/webroot/typo/public
>     <Directory /www/webroot/typo/public/ >
>         Options ExecCGI FollowSymlinks
>         AllowOverride all
>         Allow from all
>         Order allow,deny
>     </Directory>
> </VirtualHost>
> 
> Craig pointed this out in his original response.
> 
> Now everything is being served out of http://localhost.
> 
> Can anyone tell me how to serve typo out of http://localhost/typo?  I
> know it's a change in Apache's httpd.conf, I just don't know what to
> change.
> 
> Thanks for your help.
> 
> --George
> 
> 
> 
>