2/16/2021 – I still plan to update this more, just been busy with a new job!
This is a work in progress – pictures will be added, stories will be written, coffees will be spilled.
- Use MySQL Workbench to create a user with a Standard Password, and create a Schema, then give your user permissions on the Schema.
- Open PHP Manager in IIS Manager after installing so it can make some changes to php.ini..enable the extra modules in there as well.
- You probably want to reboot after updating your PATHs and things just so IIS can find everything
- I know this is vague…just trying to get it started.
 If this helps you in the mean time, great!
- Dependencies for ImageMagick and other things…- VC15 Dependencies (PHP7): https://windows.php.net/downloads/php-sdk/deps/vc15/x64/
- VS16 Dependencies (PHP8): https://windows.php.net/downloads/php-sdk/deps/vs16/x64/- PHP8 doesn’t have ImageMagick deps yet
 
 
- IIS Installation- Control Panel – Programs & Features – Add/Remove Windows Components- [X] Internet Information Services- Web Management Tools -> [X] IIS Management Console
- World Wide Web Services -> Application Development Features -> [X] CGI
- Common HTTP Features- All except Directory Browsing (unless wanted), WebDAV Publishing
 
- Health and Diagnostics- [X] HTTP Logging, Request Monitor
- [X] Performance Features (both Dynamic + Static)
 
- Security- [X] Basic, IP, Request Filtering, URL Authorization, (if needed) Windows Auth
 
 
 
- [X] Internet Information Services
 
- Control Panel – Programs & Features – Add/Remove Windows Components

- Downloads- 7-Zip (for extracting MSI files if needed)
- PHP 7.4.14- https://windows.php.net/download/ (7.4.14)- must use “Non Thread Safe” version on IIS
- extract to e.g. C:\PHP\7.4.14
 
 
- https://windows.php.net/download/ (7.4.14)
- PHP Manager for IIS 10
- WinCache for PHP Windows Cache Extensions 2.0- https://sourceforge.net/projects/wincache/files/
- https://sourceforge.net/projects/wincache/files/development/
- For PHP 7.4 – https://sourceforge.net/projects/wincache/files/development/wincache-2.0.0.8-dev-7.4-nts-vc15-x64.exe/download- extract with 7zip/etc and copy the php_wincache.dll to PHP\7.4.14\ext
 
 
- MySQL Community Installer – install server, workbench (during setup)
 - WordPress- https://wordpress.org/download/#download-install
- https://wordpress.org/latest.zip- extract to C:\inetpub\wwwroot
 
 
- ImageMagick… + deps etc- http://windows.php.net/downloads/pecl/releases/imagick/ – for PHP\7.4.14\ext\ folder
- https://windows.php.net/downloads/php-sdk/deps/vc15/x64/ImageMagick-LATEST-x64.zip – for binaries & dependencies – extract to a folder in your PATH (NOT your ImageMagick install folder if you decide to install it anyway even though you don’t need it..you should not be overwriting anything.. e.g. C:\PHP\7.4.14\extras\imagick and then add this folder to your global PATH)
- A lot of guides on the Internet specify to also install ImageMagick itself – this is not necessary. The dependencies come with everything that is needed, and all the versions will match.
 
- URL Rewrite- https://www.iis.net/downloads/microsoft/url-rewrite (scroll to bottom of page for downloads)
- https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi
 
- OpenSSL (incl. x64 despite URL)
- Web Platform Installer- I do not recommend you use this. It installs old versions of things.
 
- I do not recommend you use this. It installs old versions of things.
 
- Folder Permissions- Give IIS_IUSRS read access to c:\inetpub
- Give IIS AppPool\DefaultAppPool (or IIS AppPool\yoursite.com) access to c:\inetpub\wwwroot or whatever folder you have created inside c:\inetpub- yes, the second part of the ‘test settings’ in IIS will fail…this is normal if you’re using local accounts
 
- yes, the second part of the ‘test settings’ in IIS will fail…this is normal if you’re using local accounts
 
- web.config- This is IIS equivalent of .htaccess which does not exist nor get used on IIS.
- It seems WordPress was able to update web.config for pretty link creation and you shouldn’t have to manually do this.
- Force SSL redirect is one you’ll need if you enable SSL and needs to go before the pretty links rule
- <rule name="HTTPs 301 redirect" stopProcessing="true">- <match url="(.*)" />- <conditions logicalGrouping="MatchAll" trackAllCaptures="false">- <add input="{HTTPS}" pattern="^OFF$" />- </conditions>- <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />- </rule>
 
