A Hacker's Journey: from Cook to Chef

9 How to configure application development environment on Windows

Assume that you have installed the server applications and tools listed in last post Set up Application Development Environment. In order to test your web application before you deploy it to a product hosting site, you need to know how to configure your application development environment to make the multi-layer web application with all the server instances work together properly.

Here is basically what you need to know:

I'd like to recommend one good practice for setting up the server instances in both development and deployment environment. That is:

Keep the original server application installation and configuration untouched, and create separate server instances for each application or different versions of the application, so that you will not screw up the original configuration by one particular application and hard to have it recovered for other applications. This method applies for Apache HTTPD server, Tomcat server and MySQL server.

You may want to follow this way even if you only need one instance or clustering. For example, I only needed one WordPress application to be installed on one of my Linux production hosting site. I went ahead to manipulate the Apache HTTPD settings and enable PHP, etc. Later on, I found that I no longer need it any more. But I want a clean HTTPD server for the new blog application, I have to re-configure it which may cause a lot of unforeseeable problem. So the solution is: I stopped the original HTTPD service, and quickly configured another HTTPD instance without PHP enabled. I started the new HTTPD instance to run the blog site. And I can add SSL any time later once I need it. So follow the above instruction, you only need to go through the set up once. Next time, it's going to be very easy. After that, you will find that you have very clean set of server run-time environment with separate data storage, log files and configuration files which will not mess up with other applications. I'll discuss the details on how to configure and run separate Apache HTTPD server on Linux and other advanced topics later. Now let's keep it simple stupid (KISS) with the minimum tool set in place.