{"id":296,"date":"2026-10-13T10:21:19","date_gmt":"2026-10-13T10:21:19","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2011\/01\/18\/installing-apache-web-server-on-windows-7\/"},"modified":"2026-10-13T10:21:19","modified_gmt":"2026-10-13T10:21:19","slug":"installing-apache-web-server-on-windows-7","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/installing-apache-web-server-on-windows-7\/","title":{"rendered":"Install Apache on Windows 7 (Legacy): MSI Setup, UAC Prompts, and PHP Integration"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2011\/01\/apache-web-server-on-window.png\" alt=\"apache-web-server-on-windows-7-installation-guide\" width=\"600\" height=\"400\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><em>Originally published on 2011-01-18; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide explains how to install Apache HTTP Server on <strong>Windows 7<\/strong> for local development, based on the original post and its Magento-oriented context. You will learn how to pick the correct Apache package, handle Windows UAC prompts during setup, validate that Apache is running, and apply the key PHP configuration change referenced in the original article.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The original narrative referenced <a href=\"http:\/\/notepad-plus-plus.org\/\">Notepad++<\/a>, Magento prerequisites from <a href=\"http:\/\/www.magentocommerce.com\/knowledge-base\/entry\/magento-installation-cheat-sheet\">this cheat sheet<\/a>, and a third-party walkthrough at <a href=\"http:\/\/webdevcodex.com\/tutorial-installing-apache2-php5-mysql5-phpmyadmin3-windows-7-vista\/\">webdevcodex.com<\/a>. Those links are preserved here for historical traceability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Legacy context and prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the original post, the local stack was being prepared for Magento installation. The cited requirements at that time were:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Apache 1.3.x or Apache 2<\/li><li>PHP 5.2.0 and above (Safe mode off)<\/li><li>MySQL 4.1.20 and above<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> these version baselines are historical and no longer considered secure for internet-facing use. Treat this as a legacy\/local-dev guide only.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Choose the Apache package type before installing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original post highlights a common mistake: downloading the <strong>source package (src)<\/strong> instead of the <strong>Windows installer (msi)<\/strong>. For most Windows 7 users, MSI is the simplest route.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option<\/th><th>Best for<\/th><th>What to expect<\/th><\/tr><\/thead><tbody><tr><td>Apache source archive (src)<\/td><td>Custom builds and advanced users<\/td><td>No installer wizard; additional build\/setup effort<\/td><\/tr><tr><td>Apache MSI installer<\/td><td>Standard Windows 7 local setup<\/td><td>Guided install and easier service registration<\/td><\/tr><tr><td>Bundled local stack (WAMP\/XAMPP style)<\/td><td>Fast all-in-one local environment<\/td><td>Quicker start, but less transparent component-level control<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Installation workflow on Windows 7<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Confirm legacy prerequisites] --> B[Download Apache MSI]\n    B --> C[Run installer as administrator]\n    C --> D[Approve UAC prompt]\n    D --> E[Finish Apache setup]\n    E --> F[Validate service and localhost]\n    F --> G[Update PHP ini setting]\n    G --> H[Restart Apache]\n    H --> I[Test PHP page]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step-by-step: Apache install and basic validation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1) Download the MSI installer, not src<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If your goal is a quick local install, use the Windows installer package. The original post selected Apache 2.2.17 and verified the download with an MD5 source (<a href=\"http:\/\/www.pc-tools.net\/win32\/md5sums\/\">reference link<\/a>).<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css language-bash\"><span class=\"hljs-selector-tag\">certutil<\/span> <span class=\"hljs-selector-tag\">-hashfile<\/span> <span class=\"hljs-selector-tag\">C<\/span>:\\<span class=\"hljs-selector-tag\">path<\/span>\\<span class=\"hljs-selector-tag\">to<\/span>\\<span class=\"hljs-selector-tag\">apache-installer<\/span><span class=\"hljs-selector-class\">.msi<\/span> <span class=\"hljs-selector-tag\">MD5<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">2) Run installer and wait for UAC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On Windows 7, the installer may appear to pause briefly before the User Account Control prompt appears. Approve UAC to continue.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3) Verify Apache is up<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After installation, confirm the service state and port binding, then test <code>http:\/\/localhost<\/code> in a browser.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs language-bash\">sc query | findstr \/I Apache\nnetstat -ano | findstr :80<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">4) Apply the PHP ini change referenced in the original post<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The original article specifically called out uncommenting <code>extension_dir<\/code> in <code>php.ini<\/code> on Windows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-ini\">; Directory <span class=\"hljs-keyword\">in<\/span> which the loadable extensions (modules) reside.\n; extension_dir = <span class=\"hljs-string\">\".\/\"<\/span>\nextension_dir = <span class=\"hljs-string\">\"ext\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If you add PHP to the system PATH, a reboot may be needed before all tools pick it up.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">setx PATH <span class=\"hljs-string\">\"%PATH%;C:\\php\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">To test PHP processing, create a simple file under your Apache document root and open it in a browser:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml language-php\"><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\nphpinfo();\n<span class=\"hljs-meta\">?&gt;<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting quick reference<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Symptom<\/th><th>Likely cause<\/th><th>What to check<\/th><\/tr><\/thead><tbody><tr><td>Installer appears frozen<\/td><td>Pending UAC prompt<\/td><td>Look for background UAC dialog and approve it<\/td><\/tr><tr><td>Install does not match tutorial steps<\/td><td>Downloaded source package instead of MSI<\/td><td>Re-download the Windows installer package<\/td><\/tr><tr><td>localhost does not load<\/td><td>Apache service not running or port 80 conflict<\/td><td>Check service status and port listeners<\/td><\/tr><tr><td>PHP extensions fail to load<\/td><td>Incorrect or commented extension_dir<\/td><td>Set extension_dir correctly in php.ini and restart Apache<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices for legacy local setups<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Use this stack only for local learning or migration testing, not public production hosting.<\/li><li>Keep a backup of <code>httpd.conf<\/code> and <code>php.ini<\/code> before each change.<\/li><li>Document exact installer filenames and checksums used by your team.<\/li><li>Validate each layer in order: Apache first, then PHP, then database\/application.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A practical, legacy-focused guide to installing Apache HTTP Server on Windows 7 for local development. It covers package selection, UAC behavior, verification steps, and basic PHP wiring.<\/p>\n","protected":false},"author":1,"featured_media":3907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[420,2774,2773,2771,2775,254,1122,545,2772,237,593,399,230,732,1452,2769,2770,304],"class_list":["post-296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-apache","tag-apache-web-server-configuration-on-windows-7","tag-apache-web-server-installation-on-windows-7","tag-apache-web-server-installation-tutorial","tag-apache-web-server-setup-on-windows-7","tag-configure","tag-guide","tag-how","tag-how-to-install-apache-web-server-on-windows-7","tag-install","tag-process","tag-server","tag-setup","tag-steps","tag-ways","tag-web-server","tag-web-server-installation-guide","tag-windows-7"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":79134,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/296\/revisions\/79134"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/3907"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}