What is a Web Server?
A web server is software that listens for requests and returns data
(usually a file). When you type “www.mysite.com”, the request is
forwarded to a machine running web server software which returns a file
back to your browser, e.g. the contents of index.html. The browser might
then make further requests based on the HTML content, e.g. CSS,
JavaScript, and graphic files.
Since the web server sits between your browser and the requested
file, it can perform processing that is not possible by opening an HTML
file directly. For example, it can parse PHP code which connects to a
database and returns data.
You can use your host’s web server for testing, but uploading will
become tiresome and changes could go live before they had been fully
tested. What you need is a local web server installation.
Why Apache?
In general, I would recommend using the web server software that your
web host uses. Unless you are creating ASP.NET applications on
Microsoft IIS, your host is likely to use Apache:
the most widespread and fully-featured web server available. It is
open-source project so it does not cost anything to download or install.
The following instructions describe how to install Apache on Windows.
Mac OSX comes with Apache and PHP, although you might need to enable them. Most Linux users will have Apache pre-installed or available in the base repositories.
All-in-One packages
There are some excellent all-in-one Windows distributions that
contain Apache, PHP, MySQL and other applications in a single
installation file, e.g. XAMPP (including a Mac version), WampServer and Web.Developer.
There is nothing wrong with using these packages, although manually
installing Apache will help you learn more about the system and its
configuration options.
The Apache Installation Wizard
An excellent official .msi installation wizard is available from the Apache download page. This option is certainly recommended for novice users or perhaps those installing Apache for the first time.
Manual Installation
Manual installation offers several benefits:
- backing up, reinstalling, or moving the web server can be achieved in seconds
- you have more control over how and when Apache starts
- you can install Apache anywhere, such as a portable USB drive (useful for client demonstrations).
Step 1: configure IIS
If you have a Professional or Server version of Windows, you may already have IIS installed. If you would prefer Apache, either remove IIS as a Windows component or disable its services.
Apache listens for requests on TCP/IP port 80. The default
installation of Skype also listens on this port and will cause
conflicts.
Step 2: download the files
We are going to use the unofficial Windows binary from Apache Lounge.
This version has performance and stability improvements over the
official Apache distribution, although I am yet to notice a significant
difference. However, it is provided as a manually installable ZIP file
from www.apachelounge.com/download/
You should also download and install the Windows C++ runtime from Microsoft.com. You may have this installed already, but there is no harm installing it again.
As always, remember to virus scan all downloads.
Step 2: extract the files
We will install Apache in C:Apache2, so extract the ZIP file to the root of the C: drive.
Apache can be installed anywhere on your system, but you will need to change the configuration file paths accordingly…
Step 3: configure Apache
Apache is configured with the text file confhttpd.conf contained in the Apache folder. Open it with your favourite text editor.
Note that all file path settings use a ‘/’ forward-slash rather than
the Windows backslash. If you installed Apache anywhere other than
C:Apache2, now is a good time to search and replace all references to
“c:/Apache2”.
There are several lines you should change for your production environment:
Line 46, listen to all requests on port 80:
Listen *:80
Line 116, enable mod-rewrite by removing the # (optional, but useful):
LoadModule rewrite_module modules/mod_rewrite.so
Line 172, specify the server domain name:
ServerName localhost:80
Line 224, allow .htaccess overrides:
AllowOverride All
Step 4: change the web page root (optional)
By default, Apache return files found in its htdocs folder. I would
recommend using a folder on an another drive or partition to make
backups and re-installation easier. For the purposes of this example, we
will create a folder called D:WebPages and change httpd.conf
accordingly:
Line 179, set the root:
DocumentRoot "D:/WebPages"
and line 204:
<Directory "D:/WebPages">
Step 5: test your installation
Your Apache configuration can now be tested. Open a command box (Start > Run > cmd) and enter:
cd Apache2bin
httpd -t
Correct any httpd.conf configuration errors and retest until none appear.
Step 6: install Apache as a Windows service
The easiest way to start Apache is to add it as a Windows service. From a command prompt, enter:
cd Apache2bin
httpd -k install
Open the Control Panel, Administrative Tools, then Services and
double-click Apache2.2. Set the Startup type to “Automatic” to ensure
Apache starts every time you boot your PC.
Alternatively, set the Startup type to “Manual” and launch Apache whenever you choose using the command “net start Apache2.2”.
Step 7: test the web server
Create a file named index.html in Apache’s web page root (either htdocs or D:WebPages) and add a little HTML code:
<html>
<head><title>testing Apache</title></head>
<body><p>Apache is working!</p></body>
</html>
Ensure Apache has started successfully, open a web browser and enter the address http://localhost/. If all goes well, your test page should appear.
No comments:
Post a Comment