In this post I’m going to explain how to install Apache and PHP without using the WAMP or XAMPP distributions, I’m using this approach because I think you can have more control over configurations, modules and services installed.
Installing Apache 2.4.25
- To download Apache you have two popular options: Apache Lounge or Apache Haus. Go to the download section of any of this projects located on Apache Lounge or Apache Haus, just make sure:
- To choose the binary distribution.
- Download the binaries that matches your operative system bitness (32 or 64 bit).
At the moment of writing this post I’ve used Apache Lounge binaries because they are compiled with the latest Windows Visual Studio C++ 2015 (VC14).
- Then download and install the Microsoft Visual C++ 2015 Redistributable Update 3 (VC14) version 14.0.24215.
- Unzip Apache binaries to the C:\Apache24 folder.
- To install Apache as a Windows service you have to open the command prompt window (cmd.exe) as administrator and execute:
rem # Or whatever path you unzipped the Apache files cd "C:\Apache24\bin" rem #Command to install Apache 2.4 as a Windows Service httpd.exe -k install -n "Apache 2.4"
If you do this you can use the Apache Monitor (located at C:\Apache24\bin\ApacheMonitor.exe) to start and stop Apache.
Installing PHP 7
- To get the latest stable version download the thread safe binaries from the PHP for Windows site. You can always download a release candidate at the QA site (if you downloaded the 32 bit version of Apache then download PHP x86, don’t mix versions).
Other common question is whether you should download the thread safe or non-thread safe PHP version, I’m using the thread safe version, because on the Windows PHP main site says:
If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
- Then unzip the PHP binaries to the C:\php7 folder.
- Open the Apache Configuration file C:\Apache24\conf\httpd.conf
- Locate the ServerRoot to configure the server root to c:/Apache24, the following should be used:
Remember to use slashes “/” instead of backslashes “\” on the path.
- Locate the Listen string to configure port of Apache to 8080, the following can be used:
You can use telnet to see which port is available in your computer.
- Locate the DocumentRoot to configure the directory from which Apache will serve pages to c:/Apache24/htdocs, the following should be used:
- Copy the following lines on the top of the file:
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
LoadModule php7_module "c:/php7/php7apache2_4.dll"
- The only thing you have to do is to rename the file C:\php7\php.ini-development to C:\php7\php.ini. It’s a good idea to make a backup of this file as well.
Testing the Apache and PHP Installation
- You have to start Apache Windows service, to do this, use Apache monitor C:\Apache24\bin\ApacheMonitor.exe.
The other alternative is to open the command prompt window (cmd.exe) as administrator and execute:
rem #Command to start the Apache Windows service net start "Apache 2.4"
And the last alternative is to use the services console (services.msc).
I use the first option.
- Create the following text file C:\Apache24\htdocs\phpinfo.php:
<?php phpinfo(); ?>
Then go to your browser and write http://localhost:8080/phpinfo.php, this page should show the details of your PHP installation.
If you have any problem when starting Apache because of its configuration, you can see the detailed error by executing:
rem # Or whatever path you unzipped the Apache files cd "C:\Apache24\bin" rem #Command to install Apache 2.4 as a Windows Service httpd.exe -t
The -t parameter test the syntax of the configuration files, and then exits.
You can find the specification of the others parameteres here.