Running Moodle on Windows

6 03 2008

Part of what I love about Moodle, when compared to other VLEs, is the active developer community. Users from all over are constantly adding new modules (registration required) that help extend the functionality of the base Moodle package. When investigating a new module, I need a quick way to test its functionality to determine if the module is stable and works as intended. Only then would I consider installing it to my production box.

Moodle for Windows to the rescue! provides a complete installer package using XAMPP. XAMPP is basically a all-in-one program that installs PHP, MySQL, and Apache and provides a simple interface that can be used to stop and start the database and web server, configure PHP extensions, and edit configuration files. It takes about 10 minutes to install.

I try to keep the setup on my production server and my Windows box as similar as possible. It is very easy to dump the data from the production server and import it into my Windows test instance to ensure that my data is in sync.

Although you may be tempted to use a XAMPP/Moodle set up for your production server because it is so easy to use, there is one caveat. Most would say that this set up is not secure enough to run on a server that is accessible on the Internet without some tweaking.



LDAP authentication and Moodle

20 02 2008

moodle1.png openldap.png

I now have the Moodle server authenticating users against our Windows 2003 domain controller, and things are working great. The bind settings were a bit tricky because we have teachers, students and staff in different OUs, but thankfully Moodle allows users to define more than one OU, as well as search through subcontexts.


Other LAMP/WAMP systems rarely offer this sort of flexibility in their configuration options and require some tweaking of the PHP code to get it to work properly. Moodle has a decent tutorial on their site discussing the configuration necessary to configure LDAP authentication in Moodle if you want more information.

Now, when users log in for the first time, profile information is automatically populated by the user data in Active Directory. Users only need to fill in a few missing pieces of data and are ready to use Moodle. Using LDAP helps in 2 ways:

  1. It helps to reduce the number of different login credentials that users must keep track of.
  2. It helps to reduce the likelihood of garbage data and spelling errors ending up in Moodle user profiles.

All in all, it was relatively easy. If you need help working through the steps, let me know.