This page explains installing SilverStripe manually, without the use of (the easy to use) Web Platform Installer, and instead of Apache on Windows. See installation-on-windows to learn about those ways to install SilverStripe on Windows.

IIS 7.0 and later

First we need to configure the server:

If you are using the SilverStripe development trunk and wish to use MS SQL server, you will need to perform the following additional server configuration:

  • Install SQL Server client tools
  • Install the SQL Server Driver for PHP 1.1, “sqlsrv”.
    • You will have to use the threadsafe version of the library (php_sqlsrv_ts.dll). On some configurations, PHP will just silently not load a non-threadsafe extension.
    • IMPORTANT: You should install a non-thread safe version of PHP AND a non-thread safe version of the SQL Server Driver for PHP 1.1 “sqlsrv”. VC9 of both is also preferred.

Then it’s time to install the SilverStripe installation package, and modify it to work with IIS:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="SilverStripe Clean URLs" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="sapphire/main.php?url={R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
  • Visit the folder that you just extracted in your web browser. For example, the URL might be http://localhost/silverstripe-v2.3/. You will be shown the install screen.
  • Enter your MySQL username and password in the boxes provided and press “re-check requirements”. You should be able to install now.
  • After the installation has finished, delete the index.html and index.php files.
  • You are encouraged to manually configure PHP to allow its mail() command to work, so that SilverStripe can send emails. This is used to email password reset, ecommerce checkouts, and other areas of the system.

Your site should be running at http://localhost/silverstripe-v2.3/

Troubleshooting

On high traffic sites you might find that you start getting “The FastCGI process exited unexpectedly” errors. This is related to PHP/IIS on FastCGI rather than anything SQL specific. There are plenty of resources on the internet if you Google “PHP The FastCGI process exited unexpectedly”.

To fix this, follow this guide on best practise setup for FastCGI applications on IIS.

IMPORTANT: You should ensure you are using the latest version of the sqlsrv driver. sqlsrv 1.1 is the latest, and works considerably better than 1.0. If possible, use PHP 5.3 as well.

Performance

You should ensure you are using the latest version of the sqlsrv driver. sqlsrv 1.1 is the latest, and works considerably better than 1.0 in terms of reliability and performance. If possible, use PHP 5.3 as well.

Try increasing the MaxInstances from 4 to a higher value. For quad core CPUs, a higher value such as 32 should prove to provide a performance enhancement.

You can also install wincache for IIS, to improve performance on live sites.

You can also try installing and enabling static and dynamic content compression for IIS on live sites.

Doing all of the above should provide a significant performance boost to your site.

Installing on IIS 5.1 and 6.0

Matthew Poole has expanded on these instructions with this tutorial: http://cubiksoundz.blogspot.com/2008/12/tech-note-installing-silverstripe-cms.html

 
installation-on-windows-manual-iis.txt · Last modified: 2009/12/02 22:52 by sharvey

Please use comments for notes, tips and corrections about the described functionality.
Use the Silverstripe Forum to ask questions.

blog comments powered by Disqus
 
Creative Commons LicenseSilverStripe Documentation by SilverStripe is licensed under a Creative Commons Attribution 3.0 New Zealand License.
Based on a work at doc.silverstripe.com
Recent changes RSS feed Driven by DokuWiki