I’ve never picked up any framework faster than Ruby On Rails. Documentation and various resources @hotpick mentioned really helped a lot. I still have to look up certain things in the docs. just because it takes time to memorize them all. I’m already building my very first web app, effortlessly using CRUD to interact with the database. The only thing that sucks is deployment. I’ve tried Dreamhost, forget about it! As a designer/developer I want to develop apps not configure VPNs. I settled with [Heroku](http://www.heroku.com), and various sources from above suggest to go with them. I agree. But do understand if you are getting high volume traffic you will need to get off their free plan.
If you develop with Ruby, Python, Node, PHP, etc., and need local server like Apache it’s all there in one place. If you need LAMP (Linux, Apache, MySQL and PHP) stack there is a nifty little program called tasksel.
Run this command in the terminal to install it:
`sudo apt-get install tasksel`
Then run it:
Then just select the LAMP stack and follow all the prompts.
And if you need to manage MySQL install phpMyAdmin by running:
`sudo apt-get install phpmyadmin`
to manage your database go to `http://localhost/phpmyadmin`
You should consider configuring your VirtualHosts to map to your user document folder instead of the one that defaults with Apache, which is located at `cd /var/www` because of permission issues. I’ve mapped mine to port :1000.
Installing WordPress, set up database using phpMyAdmin, then:
`cd ~/www/` my mapped out location, `~` is shortcut for your user folder;
`git clone git://github.com/WordPress/WordPress.git wordpress` you can also download/extract zip if you’re not working with Git;
`cd wordpress/` cd into the wordpress folder;
`ls -a` list all files, includes hidden with `-a` flag;
Then just head to, in my case, `http://localhost:1000/wordpress` and follow their 5min install guide. Done.
I believe most of these, if not all, will work on Mac. You might need to Google around to see how to manage all the dependencies specific to your system. Obviously, I am not telling you to use Linux, but for me it works. Use whatever you feel most comfortable with. But for anyone interested hopefully you’ll find the resources provided helpful.