New windows installer for Moodle

A while ago I noticed Silverstripe and Drupal had been added to the new Microsoft Web Gallery for installing on Windows platforms – this installer looked really easy for people to use, so I wondered how much it would take to put one together for Moodle!

Here’s the result:

If you’re running windows you can click the following button to trigger the install!

 Install Moodle LMS using the Microsoft Web Platform Installer Button

Early on the documentation seemed a bit on the limited side, but has improved a bit now and the Web Application Team from Microsoft were very helpful! – to see the scripts that build this package see: thanks to some help from Eloy, the package is being rebuilt each month with the latest weekly build. It’s not an automated process getting the links in the Web Gallery updated though, so I expect it to take a bit of time before the Microsoft site is updated each month with the new build.

The packaging works a little like the LAMP installer for Windows, but it installs IIS/FastCgi/PHP instead. It doesn’t “automatically” install MySql but it does install the MySql odbc drivers, and it’s very simple to install mysql seperately.

The WebPI Packaging process doesn’t allow configuration of folders outside the webroot which can be a problem as the moodledata folder should really sit ouside the webroot for security and shouldn’t be accessible via an http request – IIS 7.0 allows you to prevent this by using a web.config file to prevent the access – IIS 5/6 doesn’t use the web.config in this manner, but the MS team have pointed me to this posting which will allow the same thing to be achieved – I haven’t implemented this yet, but will have a look at some point and try to include it in the package.

The other issue I came across is that there’s no easy way to determine the url that will be used to access the site on someone’s machine – according to some friendly help from the Microsoft Team:

Generating a wwwroot automatically is always challenging. The WebPI doesn’t do it because there’s no consistent way that the WebPI can know exactly which applicable host name you want to be used for your application.  There may be any number of legitimate host names for your server.

To get around this, the Moodle config file used by the package uses a combination of $_SERVER[‘SERVER_NAME’] and $_SERVER[‘SERVER_PORT’] however this may cause issues in the long term….but it would be relatively easy for someone to configure this manually post-install if needed.

At the moment – the package I’ve put together only supports installation with MySql, but it’s possible to allow users to choose between MySql and MS Sql during installation – When I get some free time, I might look at how easy this would be to add!


4 Responses to “New windows installer for Moodle”

  1. Helen Foster says:

    Great work Dan, thanks a lot! I notice Moodle is now the highest rated windows web app!

    • dan says:

      Thanks Helen – that’s great! – available for 1 day, and now it has more reviews that most of the other applications in the gallery!

  2. David Rogers says:

    Great install – works well, but does not have LDAP dlls required for authentication to AD or eDir authentication. Could you either include them or give instruction on how to add them after the install?

  3. dan says:

    Hi David! thanks for the feedback! – to enable ldap support you should be able to find the following line in your php.ini:

    and remove the semi-colon at the start to make it:

    If you’re not sure where your php.ini is, from moodle goto admin > server > php info and it should tell you where it’s loading the php.ini from!

    hope that helps!