How to install & configure Apache on a Windows serverThis article is the first in our three part series "How to install pre-requisites needed for running a self-hosted edition of MIDAS from a Windows server".
It applies to self-hosted installations of a MIDAS room booking and resource scheduling system on Windows-based servers only.
This first article outlines how to install Apache on Windows. Other web servers (such as Microsoft's Internet Information Services (IIS)) are also available for Windows.
Please note that this article is provided "as is" and is correct at time of writing. For further assistance installing or configuring Apache, please refer to the vendor's own documentation/support.
- Step 1 - Download Apache for Windows
- Step 2 - Unzip
- Step 3 - Configure Apache
- Step 4 - Start Apache
- Step 5 - Check Apache
- Step 6 - Install Apache as a Windows service
- Step 7 - Monitor Apache (optional)
Step 1 - Download Apache for WindowsApache for Windows may be freely download from ApacheLounge. 32-bit (x86) and 64-bit (x64) versions are available, depending upon whether your Windows server runs a 32 or 64-bit version of Windows:
For this guide, we'll assuming the Windows server is running a 64-bit operating system, and we'll download Apache 2.4.17 (httpd-2.4.17-win64-VC14.zip)
As per the information on the ApacheLounge download page, you'll also need to ensure that you have the relevant C++ Redistributable for Visual Studio installed on your server too. It's likely that this will already be installed, but if in doubt, download and run the "vc_redist_x64/86.exe" application from the link on the ApacheLounge site first.
Step 2 - UnzipOnce the download has completed, open the downloaded "httpd-2.4.17-win64-VC14.zip" file, and extract its contents to a suitable location on your server i.e. C:\Apache24 or D:\Apache, etc
Step 3 - Configure ApacheOnce you've extracted Apache, we'll need to configure it. Start by locating the file "httpd.conf" (which will be in the "conf" sub directory), and open this in a standard text editor.
By default, this configuration file assumes that you've extracted Apache to C:\Apache24. If however you've extracted Apache to a different location (i.e. D:\Apache), you'll need to update all references to "C:/Apache24" in the http.conf file accordingly, i.e:
ServerRoot "C:/Apache24" → ServerRoot "D:/Apache"
DocumentRoot "C:/Apache24/htdocs" → DocumentRoot "D:/Apache/htdocs"
<Directory "C:/Apache24/htdocs"> → <Directory "D:/Apache/htdocs">
ScriptAlias /cgi-bin/ "C:/Apache24/cgi-bin/" → ScriptAlias /cgi-bin/ "D:/Apache/cgi-bin/"
Regardless of where you extracted Apache to, you'll also need to make the following modifications to the http.conf file:
- A) Add "ExecCGI" to "Options" directive:
Locate the following line:Options Indexes FollowSymLinks...and append "ExecCGI":Options Indexes FollowSymLinks ExecCGI...this tells Apache that CGI/Perl scripts are allowed outside of the cgi-bin directory
- B) Locate and uncomment the following line: (by removing the # symbol at the start of the line)
AddHandler cgi-script .cgi...and also add the following line:AddHandler cgi-script .pl...These two lines tell Apache how to handle .cgi/.pl files (i.e. execute them rather than present them to as text to a web browser)
- C) Add the following line to the end of the httpd.conf file:
ScriptInterpreterSource Registry...this allows Apache to ignore the very first line of .cgi/.pl files which direct Apache to the install location of Perl, and instead determine the location of Perl from the Windows Registry
Step 4 - Start ApacheOpen an command/PowerShell prompt in the "bin" folder at the location where you extracted Apache (Hold "Shift" whilst right-clicking and select "Open command window here" or "Open PowerShell window here"):
If you opened a command prompt, start Apache by entering the following command:
If you opened a PowerShell prompt, start Apache by entering the following command:
If you see a Windows Firewall prompt, allow access as appropriate:
Step 5 - Check ApacheWith the previous command window still open, open your web browser and navigate to http://127.0.0.1
If Apache is running, you should see the words "It works!" displayed in your browser:
Step 6 - Install as a Windows service:When you close the command/PowerShell window, Apache will exit.
However, to ensure that Apache is running all the time, it can quickly be installed as a Windows service.
Simply open an administrative command prompt or PowerShell prompt again, and this time enter the following, for a Command Prompt:
You can then start the service by typing:
Step 7 - Monitor Apache (optional)To allow you to monitor the current state of your Apache server, as well as allow you to quickly start/stop/restart the server, Apache comes with a small utility called "Apache Monitor".
Double click ApacheMonitor.exe from the bin folder to run the utility, or place a shortcut to in in your Startup folder so that it automatically runs whenever Windows starts.
TIP: To quickly locate your Startup folder on Windows 10 and later, press WinKey + R and then type "shell:startup"
Next In This Series...
Part 3: How to install & configure MySQL on a Windows server
← Return to Knowledgebase