It is one thing to learn languages from a book and it is a totally different thing to try out these languages on your PC. Once you get feel of the languages and the technologies the next step is to set up the development and testing environment on your PC. Since we are focusing on web based application development using mostly open technologies we will be covering only these relevant areas.
Theoretically you could use vanilla editors like nano or notepad to create web applications. However it is always much more convenient to have some useful features like syntax highlighting, code completion, function listing etc. There are several popular freeware editors available for web development. Some of the more popular ones are
You should try out the different editors available before settling with one you are comfortable with. Initially it might not make any big differences but in the long run a user friendly editor could save yo u a lot of time in terms of increased efficiency.
The framework most commonly required for freelance projects would be Apache + PHP + MySQL. There could, however, be projects requiring you to set up other applications or servers like Java, Postgresql etc. Most Linux distributions comes with these three installed by default (atleast in the server mode installation), and even if not, adding these is a matter of few clicks through the package management application. On a windows PC the installation of these software is pretty straightforward and are documented in detail in their respective sites
MySQL - http://dev.mysql.com/doc/refman/5.0/en/installing.html
Apache on windows - http://httpd.apache.org/docs/1.3/windows.html
Apache on Linux - http://httpd.apache.org/docs/1.3/install.html
PHP - http://www.php.net/manual/en/install.php