Today I took my chances and decided to move to Windows Server and IIS 7. I see that not much information on IIS is available, so decide to share my experience.
Why Windows Server and IIS?
Everyone would recommend linux + Apache or Nginx. I tried it for a while and was having very hard time with linux commands(I' m a windows guy). Besides I got 1TB onedrive which won't work on linux. On windows I could use it for backup.
Benchmark test shows IIS to be faster than Nginx or Apache. Also it is more stable and reliable.
What you need?
Change to configurations need
The "requestLimits maxAllowedContentLength=" is specified to override the default upload file limit of 30MB.
Known Issues#
1. Image upload issue after upgrade to 3.6.2
Why Windows Server and IIS?
Everyone would recommend linux + Apache or Nginx. I tried it for a while and was having very hard time with linux commands(I' m a windows guy). Besides I got 1TB onedrive which won't work on linux. On windows I could use it for backup.
Benchmark test shows IIS to be faster than Nginx or Apache. Also it is more stable and reliable.
What you need?
- Windows Server 2008 or above
- IIS 7 or later (install web server role)
- PHP 5.4 or above for IIS
- MySQL for IIS
- SMTP server (optional)
Change to configurations need
- web.config: This is the equivalent of .htaccess. The below config was working for me.
Code:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="200000000" />
</requestFiltering>
</security>
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
</configuration>
The "requestLimits maxAllowedContentLength=" is specified to override the default upload file limit of 30MB.
- PHP.ini : Not much change required. But may have to consider increasing the default uplad limit of 2MB
- MIME type: You need to add .svg to MIME type in IIS else chevereto logo in .svg format won't show. Add .svg as image/svg+xml in MIME type.
- SMTP server(optional): In order for phpmail function to work, you need to install SMTP server feature on your windows server and configure it to allow access to localhost. Also update php.ini to use localhost as SMTP with port 25. Note: It is recommended to use mail providers like Zoho Mail than setting up your own mail server.
Known Issues#
1. Image upload issue after upgrade to 3.6.2
Last edited: