{"id":103,"date":"2009-09-03T20:04:47","date_gmt":"2009-09-03T20:04:47","guid":{"rendered":"http:\/\/danmarsden.com\/blog\/?p=103"},"modified":"2009-09-03T20:09:32","modified_gmt":"2009-09-03T20:09:32","slug":"new-windows-installer-for-moodle","status":"publish","type":"post","link":"https:\/\/danmarsden.com\/blog\/2009\/09\/03\/new-windows-installer-for-moodle\/","title":{"rendered":"New windows installer for Moodle"},"content":{"rendered":"<p>A while ago I noticed <a title=\"Silverstripe\" href=\"http:\/\/www.microsoft.com\/web\/gallery\/SilverStripe.aspx\">Silverstripe<\/a> and <a title=\"Durpal\" href=\"http:\/\/www.microsoft.com\/web\/gallery\/AcquiaDrupal.aspx\">Drupal<\/a> had been added to the new <a title=\"MS Web Gallery\" href=\"http:\/\/www.microsoft.com\/web\/gallery\/\">Microsoft Web Gallery<\/a> for installing on Windows platforms &#8211; this installer looked really easy for people to use, so I wondered how much it would take to put one together for Moodle!<\/p>\n<p>Here&#8217;s the result: <a title=\"Moodle Installer\" href=\"http:\/\/www.microsoft.com\/web\/gallery\/Moodle.aspx\">http:\/\/www.microsoft.com\/web\/gallery\/Moodle.aspx<\/a><\/p>\n<p>If you&#8217;re running windows you can click the following button to trigger the install!<\/p>\n<div><a href=\"http:\/\/www.microsoft.com\/web\/gallery\/install.aspx?appsxml=www.microsoft.com%2fweb%2fwebpi%2f2.0%2fWebApplicationList.xml&amp;appid=119\u201d title=\"><br \/>\n<img decoding=\"async\" src=\"http:\/\/www.microsoft.com\/web\/media\/badge\/install_using_webpi_btn.png\" border=\"0\" alt=\" Install Moodle LMS using the Microsoft Web Platform Installer Button\" width=\"\u201d195\u201d\" height=\"\u201d43\u201d\" \/><br \/>\n<\/a><\/div>\n<p>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! &#8211; to see the scripts that build this package see: <a title=\"Moodle CVS\" href=\"http:\/\/cvs.moodle.org\/contrib\/tools\/m4wpi_builder\/\">http:\/\/cvs.moodle.org\/contrib\/tools\/m4wpi_builder\/<\/a> thanks to some help from <a title=\"Eloy\" href=\"http:\/\/www.ohloh.net\/accounts\/stronk7\">Eloy<\/a>, the package is being rebuilt each month with the latest weekly build. It&#8217;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.<\/p>\n<p>The packaging works a little like the LAMP installer for Windows, but it installs IIS\/FastCgi\/PHP instead. It doesn&#8217;t &#8220;automatically&#8221; install MySql but it does install the MySql odbc drivers, and it&#8217;s very simple to install mysql seperately.<\/p>\n<p>The WebPI Packaging process doesn&#8217;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&#8217;t be accessible via an http request &#8211; IIS 7.0 allows you to prevent this by using a web.config file to prevent the access &#8211; IIS 5\/6 doesn&#8217;t use the web.config in this manner, but the MS team have pointed me to <a title=\"IIS5\/6 lockdown script\" href=\"http:\/\/blogs.iis.net\/nazim\/archive\/2009\/03\/11\/script-to-lock-down-iis-paths.aspx\">this posting<\/a> which will allow the same thing to be achieved &#8211; I haven&#8217;t implemented this yet, but will have a look at some point and try to include it in the package.<\/p>\n<p>The other issue I came across is that there&#8217;s no easy way to determine the url that will be used to access the site on someone&#8217;s machine &#8211; according to some friendly help from the Microsoft Team:<\/p>\n<blockquote><p>Generating a wwwroot automatically is always challenging. The WebPI doesn&#8217;t do it because there&#8217;s no consistent way that the WebPI can know exactly which applicable host name you want to be used for your application. \u00a0There may be any number of legitimate host names for your server.<\/p><\/blockquote>\n<p>To get around this, the Moodle config file used by the package uses a combination of $_SERVER[&#8216;SERVER_NAME&#8217;] and $_SERVER[&#8216;SERVER_PORT&#8217;] however this may cause issues in the long term&#8230;.but it would be relatively easy for someone to configure this manually post-install if needed.<\/p>\n<p>At the moment &#8211; the package I&#8217;ve put together only supports installation with MySql, but it&#8217;s possible to allow users to choose between MySql and MS Sql during installation &#8211; When I get some free time, I might look at how easy this would be to add!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while ago I noticed Silverstripe and Drupal had been added to the new Microsoft Web Gallery for installing on Windows platforms &#8211; this installer looked really easy for people to use, so I wondered how much it would take to put one together for Moodle! Here&#8217;s the result: http:\/\/www.microsoft.com\/web\/gallery\/Moodle.aspx If you&#8217;re running windows you [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[3],"class_list":["post-103","post","type-post","status-publish","format-standard","hentry","category-moodle","tag-moodle"],"_links":{"self":[{"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":7,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"predecessor-version":[{"id":113,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions\/113"}],"wp:attachment":[{"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danmarsden.com\/blog\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}