Development with IIS on Windows

It is possible to run ExamSys on Windows using IIS

Prerequisites

  1. You must have the World Wide Web Services and Web Management Tools enabled via Windows features

  2. Install PHP manager

  3. Download any versions of PHP you wish to test with

  4. Install MySQL

  5. Have a local ExamSys git repository with the develop branch checked out

  6. Use PHP Manager to select the versions of PHP you wish to use.

Setup web server

  1. Open the Internet Information Services (IIS) Manager tool

  2. Right click on the Default Web Site and select Add Virtual Directory

  3. Enter an alias (for example examsys) and set the physical path to be the directory your local ExamSys repository

  4. In the Default Web Site click on the Bindings… action and add a http port on 8001 (you can then use that port to run behat tests)

  5. Select the ExamSys directory that will not be showing up and open the PHP Manager

  6. Ensure that the version of PHP you need for ExamSys is selected

  7. Configure error reporting to be Development machine

  8. Ensure that the extensions that ExamSys requires are enabled

XDebug

Download and install xdebug for the version of PHP you are using.

Manually edit your php.ini file to add the configuration for xdebug

1 2 3 4 5 6 [XDEBUG] zend_extension=php_xdebug-your.version.details.dll xdebug.remote_enable=on xdebug.xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.remote_autostart=off

Node package manager (npm)

It is recommended to use a manager for npm such as nvm for Windows after you have installed it run the following set of commands:

1 2 nvm install 6.17.0 nvm use 6.17.0

You should replace the version numbers above with what ever the most current supported version of npm is for ExamSys

Composer

Download the latest version of composer into the root directory of ExamSys.

Install ExamSys

Before you can install ExamSys you will need to run several things to ensure all the dependencies are downloaded.

1 2 3 4 5 npm install php composer.phar install grunt cd plugins/texteditor/plugin_tinymce_texteditor npm install

The following can be used to create a batch script to do it (you will want to run this every time you pull new updates into ExamSys)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 @echo off echo Setting up development environment... echo ExamSys NPM: call npm install echo ExamSys composer: call php composer.phar install echo Tiny MCE: cd plugins/texteditor/plugin_tinymce_texteditor call npm install cd ../../.. echo Grunt: call grunt echo ExamSys development setup complete.

You will now be able to follow the normal ExamSys installation procedure (assuming you used the suggested virtual directory) by going to http://localhost/examsys/install, or you can use the command line installer

You will now probably want to setup both your unit testing and behat test suites.