3. Focus on front-end first. It will make you a web designer if not a web developer. You don't need any web server to do this. Just write code in files and run it using your web browser.
- Learn how to make web pages using HTML5.
- Learn how to style it using CSS3.
5. Learn server side scripting using PHP. Use MYSQL as database if needed. Learn to use tools like phpmyadmin.
6. Do a small web development project like making your own Website/Blog. Don't use blogging softwares like wordpress. Make everything yourself.
7. Buy a domain for your personal website and a shared hosting account from a web hosting provider(e.g., http://www.webfaction.com/). Use a FTP client to upload your code and host your website online.
9. You can then choose to learn MVC architecture and any MVC php framework like codeigniter, kohana, symfony, etc. Rewrite your website/blog using framework.
10. Remember that it is a long and slow process and it will take you years to evolve as decent web developer. Focus on "learn-do-learn-do" approach. keep learning new things and use it to make new things. Best of luck.
There are a ton of resources online these days. I'd suggest you mainly stick to MIT OCW but many schools have online resources for programming these days. Khan academy is decent but I personally recommend you stick to official college lectures and try to work as many homework / project problems you can find.
Once you establish a solid foundation of programming, it will not take you but a week or two to build the requisite knowledge to put together professional-ish looking websites.
HTML is not a programming language, you can learn the basics in an afternoon.
CSS is a bit more difficult but you can learn it in a day or two.
- Find a computer
- Install a programming language of your choice (mine was PHP, but Ruby and Python are also fine)
- Learn the basics through some web tutorial, there are plenty, and only spend a week on this until you're comfortable in the language
- Find a website that you use often, like Facebook or Twitter. Clone it in your chosen language. It does not need to be webscale. You can use MySQL - in fact, you probably should.
- Once you are done with the above, throw away the shit you wrote, find a framework in your chosen language (preferably a popular one!) and learn the basics of that framework.
- Rewrite that site in the framework.
- Go to a meetup in your language of choice. When it comes time to say hi to people, just be friendly and ask for pointers.
- If you have time, redo these steps in a different language.
- PHP for the language. It is pretty simple to pick up, and while it won't win awards from the HN crowd, you're here to learn how to be an entry-level web developer, not a Node Ninja.
- CakePHP is my preferred framework. You could try CodeIgniter, FuelPHP, Lithium, Symfony, whatever. Just make sure the docs make sense to you and you can find answers somehow (IRC, Google Groups, the guy at the coffee shop)
- Just use Twitter Bootstrap for UI. Done.
At this point, you should know something about something. Good luck.
Then I'd recommend learning Ruby as a programmer. It's easy and fun to learn, there's a lot of demand for jobs (good jobs from startups to big companies to consultancies) so you can find a job pretty easily and there's a great community of people willing to help you out with it. Here's some resources for learning Ruby and Ruby on Rails:
http://tryruby.org/ (15 minutes beginner tutorial)
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minut... (basic intro to Ruby to read)
http://rubymonk.com/ (interactive learning ruby exercises)
http://tutorials.jumpstartlab.com/projects/eventmanager.html (Ruby project dealing with CSV files)
http://tutorials.jumpstartlab.com/projects/jstwitter.html (Ruby project integrating with twitter)
http://www.codeschool.com/courses/try-git (git tutorial, very important for web development with others)
http://railsforzombies.org/ (basic intro to rails)
http://ruby.railstutorial.org/ (Rails project to build a Twitter site- long and intense but VERY worth it)
http://tutorials.jumpstartlab.com/ (more tutorials and info on Rails along with Ruby)
http://railscasts.com/ (more advanced stuff on Rails, covers some basic stuff as well, video plus text)
http://www.rubyquiz.com/ (Ruby exercises to try with answers from others-these are more advanced)
More text based:
http://guides.rubyonrails.org/ (read these to really understand Rails)
Books to read:
Agile Web Development with Rails (newest edition, considered THE book on Rails)
Programming Ruby (considered THE book on Ruby)
The Rspec Book (about testing, super important to learn, AO3 gives free copies to coders there)
Metaprogramming Ruby (great for understanding the intricacies of Ruby and how to bend it to your will)
Crafting Rails Applications by Jose Valim (great for understanding how Rails really works, more advanced)
The MOST important part is after a week or so (or less) of reading and practicing tutorials in the like, find something you're passionate and try to build it. Ask for help from other programmers, Rubyists love to help and try to find RL meetups if you can.
In the worst case, if no one provides a good answer, I would approach it starting with the following. Refine as it makes sense to you.
web development: https://duckduckgo.com/?q=web+development&t=canonical
web development tools: https://duckduckgo.com/?q=web+development+tools&t=canoni...
(Your browser, Safari, Chrome or Firefox, has good to excellent front end tools and debuggers.)
(And, since you said complete newcomer, be sure to use a text editor (vim, emacs, notepad++, etc), not a text processor like wordpad, word or libre office.)
Go broad at first, not deep. Eventually you'll get a feel for what's most interesting to you; then go deep.
Identify the major pieces of web development. Decide where you want to start. Don't ignore the back end as a possible area of interest. Identify tools and languages. Decide which ones to focus on. You can't learn everything at once, you just have to choose, and it doesn't much matter which among the major choices.
The best way to learn something is to do it. Once you've decided what to focus on (for now, your career is never cast in stone, so don't worry too much about it), then build your first portfolio site or project. Keep it simple and narrowly focused.
You'll want a place to develop and host.
virtualbox, a virtual machine, is widely used by individuals, it will give you a place to experiment and develop, without messing up your physical machine's environment and without paying (yet) for hosting.
Linode, AWS (Amazon) and Slicehost are frequently recommended for VPS (Virtual Private Server). Linode's basic is more than enoough for a first portfolio site, at $20/month. AWS can be cheaper, but I don't understand the pricing model very well, nor the various offerings. [Anyone?] My impression is that google's app server is fading out of favor, but lots like it.
There are many more hosting services and options.
If you host a site somewhere you'll want a domain name. https://duckduckgo.com/?q=domain+name+registrars&t=canon...
I use pairnic.com, they're not the cheapest but they're not expensive. Don't use godaddy for anything, not hosting, not domain registration, nothing. They hate elephants, people and the internet.
Depending on the nature of your first portfolio projects, you may not even need a host and domain, it may be enough to put whatever you've done on github. But if your project is a site and pages, you'll need some sort of hosting.
People make sites and entire businesses on WordPress. You could look at that if it turns out to be interesting. I might not call that web development, others probably disagree. It doesn't matter what you call it, it just matters if it's interesting and you can make a living at it, and some people do.
Good luck, have fun.