If you’re developing from scratch I recommend you leave Apache out of the picture entirely and use script/server to develop.
Read the excellent Agile Web Development with Rails to learn how to build your first app. It’s a must read, and is something you will always be referred to when asking questions here.
When it comes time to deploy on Dreamhost, it’s not a trivial task. Dreamhost has a wiki page for Rails that shows how to do it (and how complicated it can get.)
There are better hosts available, but you can research that later. Focus on building your app locally. Once you understand how Rails works, deployment becomes easier.
About the book:
Do you think that I am best to start with this book rather than swamping
myself down with several different ones?
It’s the only one I recommend if you’re starting. Other books to read afterwards would be Ruby for Rails by David Black.
One more question regarding Oracle & Ruby on Rails:
How is it compared to MySQL, what are the advantages and disadvantages
to someone starting out? - I’m assuming that you can do this right?
Rails loves MySQL and that will be the easiest thing to start with. Oracle, MS Sql Server, SQLite3 (one of my favorites for starting projects), and DB2 are all supported.
I won’t go into advantages and disadvantages of database systems cos that, in my opinion, is mostly opinion. I’ve done administration of Oracle, SQL Server, and MySQL before, and I can honestly say I really like MySQL if given the choice between those three, just cos it’s easier to do things with.
One more question regarding Oracle & Ruby on Rails:
How is it compared to MySQL, what are the advantages and disadvantages
to someone starting out? - I'm assuming that you can do this right?
The advantage of using mysql with rails is that it's by far the most
stable and well tested. Personally I use Postgresql, but I've ran
into a few bugs over the last couple of years. One critical, the rest
not really important. I'm not sure about the state of Oracle, but
you might run into a few issues here and there.
My biggest challenge starting out was doing development on Windows and
deploying to Linux. I eventually figured out how to configure things,
but it took a lot of trial and error. Do as Brian suggested and get
comfortable working with RoR in your development environment, but DO
NOT wait until you have a complete app ready to start messing with
deployment. Give yourself plenty of time to learn the ins and outs of
deployment.
Do as Brian suggested and get
comfortable working with RoR in your development environment, but DO
NOT wait until you have a complete app ready to start messing with
deployment. Give yourself plenty of time to learn the ins and outs of
deployment.
I don’t necessarily mean 'wait till you’re done to worry about deployment" but deployment will go much easier once you have an app that works, and you understand what questions to ask. There are a ton of different ways to deploy Rails applications, and each has their ups and downs. However, I’ve found that the experts are more willing to help you if you already have a solid understanding of how Rails works.
The other reason I say to put off deployment till later is that people new to Rails tend to think that Rails is just like PHP, and they get really frustrated when they find out that deployment isn’t exactly easy. I’d hate to see someone become frustrated with Rails and not learn it at all just because they hear that deployment is hard (or that their shared host makes it harder than it needs to be - looking at you, Dreamhost.)
Had I known how hard (number of hours) it was going to be to get my
first app deployed I might have given up -- but I'm glad I didn't! I
have my first app successfully deployed (a fairly simple knowledge
base for a small software company) and (now that I understand it) I
love how easy it is for me to test and deploy updates.
I am in that category of people who spent years developing PHP+MySQL
apps. I would not go back...
There was one a while back with numeric/float types (can't remember
which one) that I had to monkey patch or it would completely break.
Now it's just mainly the bugs with trying to clone/dup objects that
don't support clone/dup. Causes a lot of (caught) exceptions to flow
across the screen, but it's harmless as far as I can tell.