Do you want to get started with Moodle?

Do you want to get started with Moodle?My first article of 2012, and here’s a quick “How to” guide for teachers, directors of studies, academic managers or anyone who wants to get started with Moodle from a non-IT background. It’s easy, cheap (free) and doesn’t require you to make any commitments or sign any contracts.

About Moodle

As you may already know, Moodle is free and open source software. It’s distributed under a GNU GPL3 licence which means you get it for free and there’s no restrictions on what you can do with it, except that you have to maintain the same free and open licensing with any subsequent modifications you make to the software. However, any learning content, courses, teaching ideas, etc. that you develop on Moodle are yours to decide how you want to copyright, share, distribute, license or sell.

Why learn about Moodle?

Elearning is growing exponentially. At some point in the not-too-distant future, many job ads for teaching positions will include either a requirement or a preference for teachers with experience of using a learning management system (LMS). The best known open source LMS in the world is Moodle. I recommend having a look at Moodle’s statistics page to see just how widely used it is. If you have Moodle experience on your CV/Resume, it’ll make you a more attractive candidate for a teaching or teaching management job and broaden your horizons.

Also, Moodle is founded on a Social Constructivist approach to learning and teaching, making it an ideal platform for trying out or implementing alternative, progressive learning and teaching approaches such as collaborative or group learning, informal learning, second language acquisition, etc. as well as some of the more traditional approaches in EFL/ESL such as Communicative Language Teaching.

Getting started

I’m going to describe a 4 stage process in which you can install a working version of Moodle on your computer. It won’t be connected to the internet and so it’s a very safe way to play around, explore and learn about what it can do and how it works. The steps are as follows:

  1. Download and install a localhost server on your computer.
  2. Download and install a good text editor on your computer.
  3. Download and install Moodle on your localhost server.
  4. Participate in the Moodle community.

WampServerDownload and install a localhost server on your computer

This is the easiest part. I recommend using the free and open source (GPL3+) WampServer, assuming that you’re running Microsoft Windows on your computer. They give very clear installation instructions and support on their website so I won’t repeat any of that here. WampServer requires that you run it as an administrator on your computer. If Windows firewall asks you to let “Apache” to access the internet, click “Yes” or “Allow”. It isn’t actually connecting to the internet, it’s connecting to itself. If you’re running Linux, then you already know how to do this stuff (Why are you reading this?) and if you’re running Apple OSX, there are a number of localhost (MAMP) servers available.

Unless you know what you’re doing (in which case why are you reading this?), whatever you do, DON’T CLICK ON “Put Online” in WampServer. It’ll expose your computer to the ravages of the open internet; something that your poor home computer is not set up to cope with.

NotepadDownload and install a good text editor on your computer

Microsoft Notepad is unsuitable for editing web files and pages. A good, free and open source (GPL3+) alternative is Notepad++. It’s also useful for “cleaning” text, i.e. removing formatting, before you paste it into a web page editor, wiki, forum, etc. Your web pages will look much tidier, more consistent and easier to read.

MoodleDownload and install Moodle on your localhost server

Installing Moodle is a little bit more difficult. You may not get it right first time but be patient and don’t be shy about asking for help (See “Participate in the Moodle community”). If you can install Moodle on your computer, then installing it on a server is basically the same process. First, download the latest build of the version of Moodle you want to use, either Moodle 1.9 or Moodle 2.x. Generally, Moodle 1.9 is easier to run on a public server and, since it’s been around longer, has a bigger selection of stable 3rd party activity modules to choose from, i.e. you can add on more features. Moodle 2.x has quite high requirements for servers and may not work on all web hosting services. If you start with 1.9, you can upgrade to 2.x or later at any time if you want to but you can’t downgrade from Moodle 2.x to 1.9.

  1. Extract (unzip) the Moodle download and put the /moodle/ directory and all its contents into WampServers’ /www/ directory. (directory = folder)
  2. If you have Skype on, shut it down completely (Quit). Start WampServer and wait for the (W) icon to turn from red, to amber, to green. Open your favourite web browser and type “localhost” into the address bar. You should see the WampServer contents page. You can start Skype again, once WampServer has started.
  3. On the WampServer contents page, under Tools, click on the phpmyadmin link and this is where you’ll create a database for Moodle to install on. phpMyAdmin is standard database management software that you’ll find on most server hosting providers. The installation steps here will be much the same as you’ll use for your final public installation of Moodle and any other database driven software such as WordPress, MediaWiki, Joomla, Drupal and Mambo, so it’s really useful to know.
  4. Create a new database, e.g. “moodledb”, and set the collation to “utf8_general_ci” from the (very long) drop-down list. The default user name is “root” and the default password is blank, i.e. no password. You can change these if you wish but since you’re not connecting Wampserver to the internet, this is unnecessary.
  5. With a good text editor, e.g. Notepad++, open the file (/wamp)/www/moodle/config-dist.php and re-save it as (/wamp)/www/moodle/config.php. This is the file that you’re going to put the database name and password in so that Moodle can install correctly. In config.php, you need to locate and edit 5 lines so that they look like the lines after point 6*.
  6. In your web browser address bar, type in localhost/moodle/. The Moodle installation page should appear. Follow the instructions. If you have any installation problems, please don’t post questions here. REMEMBER TO WRITE DOWN YOUR MOODLE USER NAME AND PASSWORD. It’s very difficult to recover them if you forget them. forums and docs have everything you need to know to resolve almost any issue with Moodle, which brings us to the final part of, “Do you want to get started with Moodle?”

PHPEdit these lines in config.php:

$CFG->dbtype    = ‘mysql’;       // mysql or postgres7 (for now)
$CFG->dbhost    = ‘localhost’;   // eg localhost or
$CFG->dbname    = ‘moodledb’;      // database name, eg moodle
$CFG->dbuser    = ‘root’;    // your database username
$CFG->dbpass    = ”;    // your database password

* In later builds of Moodle, the installer edits these lines for you so it’s possible to skip this step and enter the details in the Moodle installation form. I just think it’s quicker and more reliable to do it manually.

Moodle communityParticipate in the Moodle community

If you’ve successfully got to this part, you now have a fully working installation of Moodle on your computer. You can do anything you like with it, safe in the knowledge that you have a secure sandbox to play around and experiment in. I strongly recommend joining Moodle forums. It’s a huge community of teachers, academic directors, course content developers, software developers, admins, education researchers, etc. who all use Moodle with varying degrees of experience who are very helpful and supportive. This is the best place to ask questions and get help with all aspects of using Moodle. You may even get help from me on there if it’s a Flash or multimedia issue you’re asking about.

If you like instruction manuals and specialised guides, PacktPub have a wide range of books and ebooks (currently 28) on many different aspects of Moodle.

Learning and teachingWhat’s next?

When you’ve played around with Moodle for a while and have some learning and teaching ideas that you’d like to try out, then you’re ready to install Moodle on your server or web hosting service provider (or find a web hosting provider), set up some courses and enroll some learners and teachers on them.

Useful links

[EDIT] Thanks to Dr Saurabh Bhatia for pointing out that there’s self-installing versions of Moodle on for both Windows and Macs. However, I don’t recommend these for two main reasons: (a) They aren’t fully functioning localhost servers and so some web services won’t work on them thereby limiting what you can try out on Moodle, and (b) they install Moodle as the only application and at the WWW root so that you can’t install any other web apps on it, for example if you want to try out other open source software such as WordPress, Joomla, Drupal, Mahara, or safer, more private alternatives to Facebook, like Elgg or StatusNet.


Installation issues with Moodle 2.5 and later

You may find that when you try to install Moodle 2.5, it stops at a blank screen or displays an error message about a memory limit or code execution timeout. Don’t panic, it’s easy to fix:

  1. Click on the green WampServer “W” icon – A context menu will appear
  2. Click on PHP > php.ini – This will open the php.ini file in a text editor
  3. Search for “memory_limit”
  4. Change the line memory_limit = 512M (or whatever it’s set at) to memory_limit = 1024M
  5. Search for “max_execution_time”
  6. Change the line max_execution_time = 60 (or whatever it’s set at) to max_execution_time = 160
  7. Save the changes and close the text editor
  8. Click on the green WampServer “W” icon – The context menu will appear again
  9. Click on “Restart All Services”
  10. Restart the Moodle installation again from the beginning