I myself have in mind python(language). Check out http://learnpythonthehardway.org/ (text book) or http://www.udacity.com/overview/Course/cs101/CourseRev/apr20... (video tutorials) or both. Then learn django(framework).
Addendum: I've tried using Flask because of its simplicity. Then, had to go back to rails because I missed some features.
There are many web frameworks available for PHP, my favorite being CakePHP but other notables being Drupal, Zen Framework, and CodeIgniter.
You should first learn to program--I'd use JSFiddle.net and some PHP books to teach you that.
Then, you'll need to learn the frameworks, which all have lots of documentation to get you started.
As another commented pointed out, RoR (Ruby on Rails) is simply another web framework for the programming language Ruby, and you could choose to learn Ruby first and then move to Ruby on Rails in the same way I described, if you wish.
I'd say learn PHP - Ruby is like 2 steps from just typing an essay about what you want your app to do.
If you don't wish to use ASP.NET then I would highly recommend Python and Django as a platform. It can be a huge pain to install if you're a beginner, but it's a fantastic language and framework.
Python on Linux would be a much better option.
PHP is probably more mature than Rails for web apps (please don't hurt me, Rubyists) but strictly for speed of setup of new products Rails is probably faster.
My answer would likely be different if you were looking to learn to program as a professional.
For those coming from PHP, Python and Rails the thought of using something based on Java frameworks may be a turnoff but I assure you all the boilerplating and configuration complexity is hidden away with the preference being the convention over configuration approach.
The beauty though is if you need to reach down and leverage some specifics you are free to do so, Grails doesn't tie your hands allowing you to have your cake and eat it to.
So in a nutshell, Grails gives you all the things you love with frameworks like Rails while under the Hood you can leverage the power of Java and all the supporting libraries and frameworks developed for it over the years. Anywhere it can go Grails&Groovy can go to (well almost). Oh and in terms of performance, the upcoming version of Groovy 2.0 will provide performance enhancements that will bring it seriously close to Java execution through static type checking and compilation. These two options are once again free to use or ignore as the developer sees fit.