How-to Create a Windows Vista IIS7 MySQL PHP Web Server


Recommended Posts

How-to Create a Windows Vista IIS7 MySQL PHP Web Server

By: Brent Trahan, published on 09.03.07 modified 10.01.07.

Introduction

This guide shows you how to create a Windows Vista powered web server using IIS7, MySQL, and PHP (WIMP). I know, I know, a WIMP server doesn’t sound too appealing. Trust me, this server is far from a wimp and will blow your socks off if you provide the right hardware.

Note: This is a generic WIMP server that’s capable of running WordPress, PHPbb, and other popular PHP and MySQL powered web sites. You might have to change a few things to get your WIMP server running just right depending on your usage.

The Limitations

Before you go too far you need to know that IIS7 running on Windows Vista is full featured with a few limitations.

Before you right this type of server off because it’s limited you need to realize if you ever reach one of the limitations you’ll have so much traffic you could probably buy an actual server with one day’s pay from the web site.

The Limitations

Request Execution Limit: IIS7 running on Windows Vista Basic, Starter, Home, and Home Premium have a Request Execution Limit of 3. Vista Ultimate is limited to 10. Request Execution Limit is how many simultaneous pages the web server can give out at one time. That means Vista Basic, Starter, and Home editions can serve up to 259,200 pages per day and Ultimate can serve up to 864,000 pages per day!

FTP: FTP is very limited. You can only download files as anonymous. No uploading via FTP to your web server. If this is a problem, check out the FileZilla FTP Server.

Install IIS7

First thing first, we need to install a web server.

Open the Control Panel in classic view.

Double-click Programs and Features.

Click Turn Windows features on or off on the left.

Check off Internet Information Services.

Expand Internet Information Services, World Wide Web Services, Application Development Features, and then check off ISAPI Extensions. ISAPI will be needed later when we install PHP.

Click OK to install IIS7.

When the Windows Features box disappears IIS7 is installed and should be running. Test IIS7 by going to http://localhost in your web browser. You should see an IIS7 test page like the screenshot below.

The root of the default web site is located at C:\inetpub\wwwroot. Your web site goes there.

Install PHP

Now that we have a web server we need support for PHP. In this example I’m installing PHP 5.2.4.

Create a folder called php in the root of the C: drive.

Download the Windows Binaries Zip package from http://www.php.net/downloads.php.

Extract the files and save them in the php folder you just created.

Copy C:\php\php.ini-dist and save it on your desktop so we can work with it.

Rename php.ini-dist you just copied on your desktop to php.ini.

Right-click php.ini and select Edit.

Search for extension=php_mysql.dll and uncomment it by deleting the ; in front of it. This allows php to login a MySQL database.

Now move up in the php.ini code and look for extension_dir = “./”. Change “./” to “C:\php\ext”. This shows php where to load the extension=php_mysql.dll extension you just uncommented.

Save php.ini.

Copy php.ini and save it in C:\Windows.

Open the IIS Manager by typing IIS Manager in the Start Menu’s search box and click Internet Information Services (IIS) Manager in the search results.

Double-click Handler Mappings.

Click Add Script Map located on the right.

Fill out the Add Script Map window like the screen shot below.

Click OK to save the changes.

Click Yes in the window that asks you if you want to enable this ISAPI extension.

Click the back button in the IIS Manager and then double-click Default Document.

Type index.php, with a space behind , in the File names list.

Click Apply on the top right of IIS Manager.

Now you need to copy libmysql.dll from C:\php and save it in C:\WINDOWS\System32. Thanks for the fix Oruba.

Lets test to make sure php is installed and running correctly.

Open notepad.

Type < ? phpInfo() ?> in the blank document.

Note: Remove the space between < ? in < ? phoInfo() ?>. I had to add the space so the command doesn’t execute on this page.

Save it as test.php on your desktop and then move it to C:\inetpub\wwwroot.

Note: A common mistake when saving test.php is to save it as test.php.txt. Don’t forget to select All files under Save as type and then name the file test.php in notepad.

Go to http://localhost/test.php. You should get a php information page similar to the screen shot below.

Install MySQL

Before we can install MySQL we need to disable UAC in Windows Vista.

Open the Control Panel in classic view.

Click User Accounts.

Click Turn User Account Control on or off.

Uncheck Use User Account Control and then click OK.

Restart your computer.

Note: You can turn UAC back on after everything has been installed and working.

Now we can install MySQL. In this example I’m going to install MySQL Community Edition 5.0.45.

Download the Windows ZIP/setup.exe version http://dev.mysql.com/downloads/mysql/5.0.html#win32.

Unzip it and save setup.exe on your desktop.

Run Setup.exe.

The welcome window will popup. Click Next.

Since this is a general guide on creating a WIMP server leave Typical selected and click Next.

Let MySQL install in its default directory by simply clicking Install in this window.

Click Next to move through a few advertisements.

Leave Configure the MySQL Server now checked and click Finished.

Click Next at the welcome window.

I’m assuming that you don’t need to configure any advanced MySQL settings. If you did you probably wouldn’t need this guide or you should leave this job to an expert. Select Standard Configuration and then click Next.

Leave Install As Windows Service, the service name MySQL, and Launch MySQL Automatically checked and click Next.

Type the MySQL administrator (root) password twice and then click Next.

This part is VERY important. Hold your mouth just right, cross your fingers and click Execute to configure MySQL. If you did it just right you should get 4 check marks when it’s done.

Note: If you get a Connection Error, click Retry and it should work. This is caused by a slower computer not starting the MySQL service fast enough.

Click Finished.

Now that you have MySQL installed and running lets install the GUI Tools to make managing databases easy.

Download the GUI Tools (Windows x86) at http://dev.mysql.com/downloads/gui-tools/5.0.html.

Install it just like any other software.

Click Start, All Programs, MySQL, MySQL Administrator.

Fill in the fields just like the screen shot below.

Remember: Root’s password is the one you set when you installed MySQL.

Once MySQL Administrator is open, you can create a new database by clicking Catalogs and then right-clicking under test and select Create Schema.

Give it a name and there you go!

Open Port 80

Now that you have a working WIMP lets open it up to the world. All internet (HTTP) traffic passes through port 80. Let’s open port 80 to the world.

Search for firewall in the search box in the Start Menu and click Windows Firewall in the search results.

Click the Exceptions tab in the Windows Firewall Settings window.

Click the Add port button.

Type HTTP as the name and 80 as the port number.

Adjust Vista for Web Server Performance

Because Windows Vista is not meant to be a server out of the box its priorities are backwards when it’s being used as a web server. Windows Vista prioritizes programs like Word before background services like IIS7 to give the end user the best experience possible. Since we’re configuring Windows Vista as a web server background services need to be Vistas priority instead of programs.

Let’s set Windows Vista’s services as a higher priority than programs to squeeze the most speed out of it as we can.

Right-click Computer in the Start Menu and then select Properties.

Click Advanced system settings.

Click Settings under Performance in the Advanced tab of the System Properties window.

Click the Advanced tab in the Performance Options window.

Select Background services.

Click OK and then restart your computer.

Hardware

A web server with low to modest traffic doesn’t have to be a powerful machine to get the job done. Any modern PC with at least 1GBs of RAM (2GBs recommended for MySQL) will do fine. If you become one of the fortunate ones who receives enough traffic to need a high performance web server here are a few hardware tips.

Memory: If you’re expecting any kind of modest traffic (many thousands of hits per day) memory is very important. 2GBs is a good start but 3 or 4 are better.

IIS7: A powerful processor(s) and a good amount of memory are important.

MySQL: A fast hard drive and lots of memory are important for a MySQL database.

Source: http://www.maximumpcguides.com/how-to-crea.../#

http://www.maniacomputer.com/webServer/IIS.html

http://www.iis.net/default.aspx?tabid=7

http://www.maniacomputer.com/webServer/WebServer.html

Edited by Fred Derf
added clearer link to source, title and author

All of this stuff can be achieved a lot easier by Xampp which is a hell of a lot more powerful than IIS and does not have any page serving or FTP limits at all, and is increadibly easy to setup, and what is even better still, it is frequently updated with the newest versions of PHP and MySQL. Personally I would recommend using xampp over IIS

:rolleyes: The best choice with IIS7 is going with FastCGI.

Read this for a much better alternative. That guide may be for Server 2008, but Vista has IIS7, so it should be the same.

Agreed. If you use php with IIS7, use must use FastCGI to get acceptable performance and stability. The ISAPI php dll is unstable, and the CGI method has poor performance (it spawns php.exe FOR EACH REQUEST!). FastCGI uses a configurable pool of php.exe processes to handle all of the incomming requests, and is the most desirable solution.

All of this stuff can be achieved a lot easier by Xampp which is a hell of a lot more powerful than IIS and does not have any page serving or FTP limits at all, and is increadibly easy to setup, and what is even better still, it is frequently updated with the newest versions of PHP and MySQL. Personally I would recommend using xampp over IIS

Ok I will only say this once if it is better post a guide of your own :whistle:

[Thread Cleaned]

It is the general understanding that linking to other people's content, much in the same way that others link to our content, helps everyone's search rankings and increases web traffic.

If there is concern that this content was taken from another site then please contact our Public Relations staffer Marshalus. This is not the place to discuss such matters. Please note that Marshalus is likely only interested in hearing from the original author (Brent Trahan) or the site from which it was originally posted (maximumpcguides.com) or someone who officially represents either party.

If you do not represent either party but still wish to discuss the matter then you can contact me via PM and I will clarify our policy on the matter.

From this point on, please discuss the content of the thread and not the particulars of where it was from.

Thanks for the guide. (Y)

Personally I've always had better experience with Apache than IIS. Possibly because I use mostly PHP and MySQL, whereas I see IIS suited to ASP and MSSQL, although it runs PHP and MySQL if you're persistent enough to fiddle with it.

Nice guide, IIS7 looks nice but, what advantage does it offer to have PHP work with IIS over Apache? I don't use wamp though, I just install Apache and then PHP, find it less troublesome.

IIS's main advantage is its easyness, in seconds you can get a site up and running as opposed to Apache but once everything is setup, it's pretty much the same?

IIS's main advantage is its easyness, in seconds you can get a site up and running as opposed to Apache but once everything is setup, it's pretty much the same?

I should imagine it's for people who intend to use ASP.NET aswell, so need/want IIS.

  • 1 year later...
  • 1 month later...

Hi

I would like to gain any kind of help possible, URGENT:

This below is my local offline development server only:

I was on XP - > iis 5.1 >> had mysql, php installed manually,.. >> later i installed xampp since some of the scripts wont work..

Now >> I am on Windows 7 >> iis 7 >> (Fresh install)

Installed fresh xampp

Just copied all the DB files from 1 folder to xampp mysql data folder

I can access all my db's from phpmyadmin running on my local,...

Some time >> the mysql - winmysql tool >> could only see 2 DB;s >> schema and test >>

now i dont see any DB's after changing a few things here andthere..

If i try to install WP (wordpress) locally >> I can access my DB server >> but it doesnot actually create any DB Tables ...

My other local websites >> cannot see the old DB's but they can access the server >> asking for a new DB Tables to be made >>

Please help

Thank you

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Hmm wonder if I can share/resell the 'physical' edition like I can now.
    • Movavi Video Editor Plus 26.18.0 by Razvan Serea With Movavi Video Editor Plus, you can either enhance your video files with two or three simple steps, or turn them into something completely new. Create your own movies using multiple filters, transitions, and special effects: show multiple videos on one screen with the Picture in picture effect or change the background with the Chroma Key effect, imitate the camera zoom or make your video look like an old-style movie. Adjust video parameters such as brightness, contrast and colors. Stabilize shaky footage, improve video quality and remove defects. Create video presentations, tutorials or educational videos: add titles and record your own narration to create a video with voiceover. Import video from any source: TV-tuner, webcam, camcorder, or VHS. Drop multiple media files onto a timeline and let your imagination do the rest! Features at a glance: Video and audio editing on a timeline Edit, enhance videos Add background music Apply titles and effects Image quality improvement Hollywood-worthy effects High-grade titles and fades Digitize VHS tapes, record video from TV tuners Stabilize any shaky sections Support for a wide range of formats Prepare your videos for uploading to YouTube, Facebook, Vimeo, or any other website New in Movavi Video Editor 2026: 30+ fresh subtitle styles. Upgrade your automatic captions with new designs. Customize your text in the Styles tab with a single click. Optional advanced settings are also available in the dedicated Design tab. Subtitles in English – instantly! Translate auto-subtitles into English with a click – no dictionaries or online services needed. Once translated, configure and fine-tune the subtitles using the standard editing tools. 40+ adjustable effects. Enhance your videos in a click with new realistic effects – from dust particles and light leaks to retro-style and VHS. Every effect is fully customizable – so it will fit any clip perfectly and bring an extra spark to your edits. Ultra-fast playback. Show more in less time with video speed control of up to 100x. Perfect for epic time-lapses, long process recaps, or whenever you want to add some extra energy to your content. Magnetic zones are marked with dots, and the 1x value is indicated by a vertical line. Silence removal – in a click. Cut out unwanted pauses automatically or fine-tune the pause length and volume threshold yourself. Skip the tedious cleanup and make your videos more dynamic. Fast effect copying. Effortlessly duplicate any effect from one video to another: click Clip effects in the dropdown menu and proceed to copy or paste. Movavi Video Editor Plus 26.18.0 changes: This version includes small improvements for better editing. Download: Movavi Video Editor Plus 26.18.0 | 2.7 MB (Shareware) View: Movavi Video Editor Plus Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • JBL BAR 800 5.1.2 Dolby Atmos soundbar is an amazing deal today by Sayan Sen This Amazon Prime Day 2026 sales so far we have had a couple of nice deals related to sound and audio. First we have the Sennheiser HD 600 at its lowest ever price of just $225. Next we also have the Beats Studio Pro at its lowest price ever at just $150. However perhaps you prefer your gear to sound great on a larger scale, like throughout the room. In that case an all-in-one soundbar system can help and currently JBL's BAR 800 is a great deal for sure as it's up for grabs at just $600 (purchase link under the specs table down below). One thing that should be appreciated a lot about these JBL soundbars is their spec sheet and the frequency response data it provides. The firm is honest about it as JBL confirms the subwoofer is able to go down to 35 Hz at -6dB or F6. This means it should be covering 40Hz and up very well, where most of the bass lies. You miss out on a lot of sub-bass but that is to be expected given the price point and the subwoofer driver size. Speaking of which, it is a 10-inch driver and promises a max output power of 300 watts at 1% THD (total harmonic distortion). JBL also claims the system will provide you with a "True Dolby Atmos" experience. The surround speakers are wireless and battery-powered which means setting them up should be really convenient. The technical specs of the JBL BAR 800 are given in the table below: Specification Value Channel Configuration 5.1.2-channel soundbar system Dolby Atmos Yes, with 2 up-firing drivers Total System Power Output 720 W Soundbar Power Output 340 W Surround Speaker Power Output 2 × 40 W Subwoofer Power Output 300 W Soundbar Drivers 3 × 46×90 mm racetrack drivers, 3 × 20 mm tweeters, 2 × 70 mm up-firing full-range drivers Surround Speaker Drivers 1 × 46×90 mm racetrack driver (each speaker) Subwoofer Driver 10-inch (260 mm) wireless subwoofer Frequency Response 35 Hz – 20 kHz (-6 dB) Audio Inputs Optical, Bluetooth, Chromecast built-in, AirPlay, Alexa Multi-Room Music (MRM), USB* HDMI Inputs 1 HDMI video input HDMI Output 1 HDMI eARC output HDCP Version 2.3 HDR Pass-Through HDR10, Dolby Vision Bluetooth Version 5.0 Wi-Fi Version 6, 6E Streaming Services Chromecast built-in, Apple AirPlay, Alexa MRM Get it at the link below: JBL Bar 800-5.1.2-Channel Dolby Atmos soundbar with Detachable Surround Speakers (Black): $599.85 (Sold and Shipped by Amazon US with Prime) Prime subscription can be cancelled within three business days. Good to know This Amazon deal is U.S. specific, and not available in other regions unless specified. We only use first-party seller links (at the time of article publishing); ensure that you purchase from a first-party seller link only. Check out Today's Deals on Amazon | or our recent tech deals. Become a Prime member (for Students or SNAP) via Neowin Get Prime Access - Prime for half price (for qualifying Medicaid, EBT, SNAP) Subscribe to Prime Video, Audible Plus, Music Unlimited or Kindle Unlimited via Neowin As an Amazon Associate, we earn from qualifying purchases.
    • Microsoft releases PowerToys v0.100.1, fixes a bug that made remapped keys misbehave by Ivan Jenic Microsoft just released PowerToys v0.100.1, a patch update that addresses several stability and behavior issues found in v0.100.0. The v0.100.0 patch was a significant update for PowerToys, as it introduced all sorts of new features and additions, such as a rebuilt Shortcut Guide, a Command Palette Extension Gallery, webcam overlay support in ZoomIt, and more. However, the v0.100.0 version also introduced some bugs and stability issues. And now, Microsoft is addressing these issues in the new patch. The most impactful fix in this release perhaps is in Keyboard Manager, where remapped modifier keys were being delivered as system-key events, causing unexpected behavior in apps. The clearest example of this was Alt-to-Backspace remaps, deleting whole words instead of a single character. So, if you thought there was an issue with your keyboard, Microsoft just confirmed that it was PowerToys. Beyond the Keyboard Manager fix, v0.100.1 also addresses several other issues. It fixes a bug with Power Display that was preventing monitors from waking from standby correctly. Additionally, the new update patches Quick Access crashes on launch, and resolves a Shortcut Guide crash that occurred when switching between sidebar sections. Here’s the full changelog: Color Picker Fixed a bug where the main Color Picker window could appear inside the zoomed-in picker view Command Palette Fixed Run history initialization in AOT builds Fixed a bug where the Performance Monitor dock item could show ??? after restart Fixed the Hibernate command using the Sleep icon Limited the "pin to dock" dialog to displays where the dock is enabled Keyboard Manager Fixed modifier keys remapped to non-modifier keys being delivered as system-key events, which caused unexpected behavior in apps such as Alt-to-Backspace deleting whole words Power Display Fixed a bug where selecting On in the monitor power-state control did not wake a monitor from standby Fixed built-in display detection and brightness control on dual-GPU laptops where the internal panel is driven by the discrete GPU PowerToys Run Fixed VS Code Workspaces discovery after VS Code moved recently opened workspace data to shared storage Quick Access Fixed Quick Access flyout crashes caused by unhandled XAML exceptions during launch or page navigation Shortcut Guide Fixed a crash when navigating between Shortcut Guide sidebar sections Fixed number-key rendering in shortcut manifests and added a Postman shortcut manifest Updated bundled shortcut manifests to use the literal number-key token so number keys render correctly across apps ZoomIt Fixed a race condition in audio initialization for ZoomIt video recording You can download PowerToys v0.100.1 from the official GitHub releases page.
    • OBS Studio 32.2.0 Beta 2 by Razvan Serea OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. It is the re-write of the widely used Open Broadcaster Software, to allow even more features and multi-platform support. OBS Studio supports multiple sources, including media files, games, web pages, application windows, webcams, your desktop, microphone and more. OBS Studio Features: High performance real time video/audio capturing and mixing, with unlimited scenes you can switch between seamlessly via custom transitions. Live streaming to Twitch, YouTube, Periscope, Mixer, GoodGame, DailyMotion, Hitbox, VK and any other RTMP server Filters for video sources such as image masking, color correction, chroma/color keying, and more. x264, H.264 and AAC for your live streams and video recordings Intel Quick Sync Video (QSV) and NVIDIA NVENC support Intuitive audio mixer with per-source filters such as noise gate, noise suppression, and gain. Take full control with VST plugin support. GPU-based game capture for high performance game streaming Unlimited number of scenes and sources Number of different and customizable transitions for when you switch between scenes Hotkeys for almost any action such as start or stop your stream or recording, push-to-talk, fast mute of any audio source, show or hide any video source, switch between scenes,and much more Live preview of any changes on your scenes and sources using Studio Mode before pushing them to your stream where your viewers will see those changes DirectShow capture device support (webcams, capture cards, etc) Powerful and easy to use configuration options. Add new Sources, duplicate existing ones, and adjust their properties effortlessly. Streamlined Settings panel for quickly configuring your broadcasts and recordings. Switch between different profiles with ease. Light and dark themes available to fit your environment. …and many other features. For free. At all. OBS Studio 32.2.0 Beta 2 changelog: Beta 2 Changes Fixed a CI deployment issue. There are no application changes since Beta 1. 32.2 New Features Replaced add source dropdown with new dialog [Warchamp7] Improved FPS selector UX [jcm93] Added missing file support for filters [exeldro] Added ability for plugins to set custom icons for new source types [cg2121] Included .webp files when adding a directory to Image Slide Show source [TarunCore] Added copy paste functions to frontend API [exeldro] Added filter to compose SDR into HDR [jpark37] Added delete as a hotkey to delete sources on macOS [PatTheMav] Added dynamic bitrate support to multitrack video [lexano-ivs] 32.2 Changes Forced Intel-based installations to update to Apple Silicon version on macOS [PatTheMav] This change means that OBS Studio versions built for Intel-based Macs but running on Apple Silicon Macs will automatically update to OBS Studio built for Apple Silicon Macs. If an installation was using third-party plugins, those plugins will no longer load until replaced with Apple Silicon versions. Fixed audio mixer state getting out of sync when changing settings via websockets or plugins [Warchamp7] Added theming for checked QToolButtons [glikely] Improved OpenGL performance slightly on low-end machines [kkartaltepe] Set minimum size for color source to 1 pixel [exeldro] Added minimum width to spinboxes [Warchamp7] Disallowed overwriting the crash handler [sebastian-s-beckmann] Applied process mitigation policies for Windows [notr1ch] Adjusted description of multitrack video [jhnbwrs] Changed new capture devices to use fallback frame rate by default [PatTheMav] Improved DLL loading behavior on Windows [notr1ch] Limited multitrack video config to Custom service [PatTheMav] 32.2 Bug Fixes Fixed OAuth and dock state save corruption [PatTheMav] Fixed group bounds not resizing when removing items [howellrl] Fixed canvas mixes not being restored after video reset [dsaedtler] Fixed some erroneous crashes during shutdown [Warchamp7] Fixed display capture sometimes capturing black after a duplicator failure [ThrowTop] Fixed color of controls dock output buttons in System theme [shiina424] Fixed virtual camera reset failures [stephematician] Fixed potential crash when user discards changes in the settings window [suogesi] Fixed incorrect return value in virtualcam filter [xtfo] Fixed source toolbar buttons not working after dragging a source into a group [Warchamp7] Fixed properties hint icon spacing [Warchamp7] Fixed potential crash when a video device reconnects on macOS [jcm93] Fixed an issue where PipeWire could fail on NVIDIA GPUs [hoshinolina] Fixed obs_canvas_get_video_info returning incorrect framerate [dsaedtler] 32.2 Deprecations Deprecated obs_properties_add_button [sebastian-s-beckmann] Download: OBS Studio 32.2.0 Beta 2 | Portable | ARM64 | ~200.0 MB (Open Source) View: OBS Studio Homepage | Other Operating Systems | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Year In
      OHI Accounting earned a badge
      One Year In
    • First Post
      Almohandis earned a badge
      First Post
    • Rookie
      DaviKar went up a rank
      Rookie
    • Dedicated
      HidekoYamamoto94 earned a badge
      Dedicated
    • One Month Later
      timbobit earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      474
    2. 2
      +Edouard
      172
    3. 3
      PsYcHoKiLLa
      122
    4. 4
      Michael Scrip
      81
    5. 5
      Xenon
      72
  • Tell a friend

    Love Neowin? Tell a friend!