30-second WAMP server setup
- 1 Introduction
- 2 Step 1 – Set up the web server
- 3 Step 2 – Expose your web site to the outside world
- 4 Step 2-1 – Modify the .htaccess file
- 5 Step 2-2 – Open and forward port 80
- 6 Step 2-3 – Success! Let’s test it!
- 7 Step 3 – Set up a static URL
- 8 Step 3-1 – Sign up for a free Dynamic DNS service
- 9 Step 3-2 – Set up a Dynamic DNS updating client
- 10 Conclusion
- 11 Supporting Links
You want to set up a personal web server, but setting up an Apache Web server with PHP, MySQL and phpMyAdmin support can be a painful process for a novice.
The following tutorial describes the simple steps necessary to turn a home Windows-based computer into a fully-configured WAMP (Windows, Apache, MySQL, PHP) web server in as little as 30 seconds using the Uniform Server.
Step 1 will get you fully set-up with a 100% pre-configured WAMP web server and shouldn't take longer than 30 seconds. No tinkering with INI files, no configuring anything. This is perfect for the web novice or amateur who wants to begin working with HTML, PHP or MySQL without having to delve into the confusing realm of configuring web servers, databases, and PHP interpreters.
The optional Steps 2 and 3 take about 20 mintues in total, and will teach you how to set up a static URL for your server so you or your clients can access it from anywhere. This is for intermediate users who understand IP addresses and are able to configure firewalls.
What you need to get started if you only want to complete Step 1:
What you need to get started if you want to complete Step 1 and the optional steps 2 and 3:
- Basic HTML skills, and basic knowledge of Internet jargon
- A computer with Windows and a broadband internet connection
- Understanding of how IP addresses work
- Knowledge and ability to configure your software firewall or hardware firewall
What this tutorial does not provide:
- In-depth explanations about the steps – The goal is to get up and running as quickly as possible and the tutorial assumes you have the technical know-how to do most of what is required. There are ample links at the bottom of this tutorial that provide more details.
- Rationales for the why a particular piece of software or online service was used. The goal is to get up and running as quickly as possible – not to debate why one service/software is better than the next.
Ok, let’s get started!
Step 1 – Set up the web server
- Download the Uniform Server to your desktop. (The Uniform Server is a free open source project which combines pre-configured versions of the Apache web server, MySQL database and PHP scripting language)
- Double-click the .EXE file to extract it
- Open up the Uniform Server folder, and double-click Server_Start.bat
- A web page will open up showing your web server control panel.
That’s it – your web server is running! To see your web page, type http://localhost into your browser’s address bar. You will see the default web page which simply shows the Uniform Server logo.
This demonstrates that the web server is working and serving web pages. You can turn on the MySQL server or shut down the web server using the control panel, which is found by typing http://localhost/a/ into your browser's address bar.
The web page files are located in the following folder \Uniform Server\diskw\www. You can start customizing the index.html page now, but I recommend that we save the re-design for later.
If you only want to get the web server running on your machine so you can practice your HTML, PHP and MySQL skills, you may scroll past Steps 2 and 3, read the Conclusion, and then quit this tutorial.
If you want to ensure your WAMP web server is accessable from a static URL from anywhere else in the world, continue on to Steps 2 and 3.
Step 2 – Expose your web site to the outside world
As it stands now, your web server is running and serving web pages, but it is not visible to the outside world.
Step 2-1 – Modify the .htaccess file
The .htaccess file controls connections to your web server. By default, it is configured to refuse all connections from the outside world. Let’s change that.
Open the .htaccess file in Notepad. The file is located in the following folder: \Uniform Server\diskw\www. Change the line that reads “Deny from all” to “Allow from all”. Delete the line that reads “Allow from 127.0.0.1”. Save and close the file.
Step 2-2 – Open and forward port 80
Your newly-installed web server listens for incoming requests on port 80. If you have a software firewall or a NAT firewall (router), chances are it is set to block those incoming requests. You will need to configure your firewall to allow incoming requests on port 80.
If you’ve ever opened/forwarded a port so that you could play an online multiplayer game or download files using a bitTorrent client, then chances are that you already have experience configuring your firewall.
If you’re having trouble configuring your firewall, check out the 'firewall' links at the bottom of this tutorial for help.
Step 2-3 – Success! Let’s test it!
The server is up and running, your firewall is configured to allow incoming requests on port 80, but how do other people view your site? Well, they simply have to type your IP into their browser’s address bar.
If you don’t know how to determine your IP address, this site will tell you: WhatIsMyIP.com
Typing in an IP address to access the web site is quite clumsy and unprofessional, so in the next step I’ll show you how to acquire a static URL.
Step 3 – Set up a static URL
There are two problems with entering your IP address to access your web site: 1) it’s hard to remember and it looks unprofessional; 2) your IP address is always changing and that makes the system somewhat unreliable. (Imagine if you sat down to demo your work-in-progress web site to a client, and suddenly you can't access your server anymore because your IP address has changed.)
Here is how to work around these issues:
Step 3-1 – Sign up for a free Dynamic DNS service
For this tutorial, we’re going to use www.dyndns.org. Without going into too much detail, dyndns.org is a free service that provides you with a URL that points to the IP address of your web server. The URL will look something like this: WhateverNameYouChoose.dyndns.org.
Once you have created your account on www.dyndns.org, log in to their site and:
- Click Dynamic DNS
- Click Add Dynamic DNS
- Pick whatever host name you like (ex: myDynamicHost), and select dyndns.org from the drop-down
- If the IP address field isn’t automatically filled in, enter your IP address (find out what your IP address is at WhatIsMyIP.com)
- Click Add Host
It will take about 15 minutes for the records to update, but once complete, you can access your web site by entering your new URL into your browser’s address bar. For example: http://myDynamicHost.dyndns.org
Step 3-2 – Set up a Dynamic DNS updating client
Recall that your IP address is always changing. When it does change, the URL provided by dyndns.org will no longer work because it will still be pointing to your old IP address.
You need to run an update client on your computer. This update client will continually monitor your system and automatically detect when your IP address changes. When it does change, it will report your new IP address back to dyndns.org. Therefore your URL will never break.
Update clients are freely available. To get one, follow these steps:
- Log into www.dyndns.org
- Click the Support tab
- Click Download Update Clients
Congratulations on setting up your own WAMP web server. There’s something empowering about the whole thing, wouldn’t you agree? Now have fun learning HTML, PHP and MySQL!
Some things to take note of:
- Your ISP may not permit you to run an externally-accessible web server, so check your user-agreement to ensure that you are not violating the terms of service. (Most ISP’s will allow you to)
- Your web server will not be able to support high levels of external traffic and should not be used for commercial use.
Software firewall configuration
Hardware firewall configuration
PHP Official Site
MySQL Official Site
This tutorial was written by iamtheshadow. Please ensure http://iamtheshadow.blogspot.com is always cited as the source.