Open-Source Learning Management with Moodle

Combining the features of a content management system, bulletin board, and on-line grade book, Moodle meets a growing demand for on-line education.
Installation and Configuration

At the time of this writing, the latest stable release of Moodle is version 1.3.1, which was released on June 5, 2004. If you are interested in experimenting with the newest features, you also can download the nightly development packages. Both the stable release and the development versions are available from anonymous CVS. In our experience, we have been able to upgrade Moodle installations by way of CVS without problems. The stable CVS branch is new in v.1.3 and promises a convenient way to maintain a Moodle installation.

Installing Moodle on a LAMP system is straightforward and well-documented. After unpacking the downloaded package, place all files and folders into your Web server's documents directory. Create a MySQL database and account. Moodle needs a separate data directory to store some files, such as user-uploaded images. This directory should not be accessible directly over the Web. You can protect it either by using an .htaccess file or by placing the directory outside the Web server's documents directory.

The default Apache and PHP settings on most Web servers should be adequate. PHP sessions support and file uploading need to be enabled. Also, PHP safe mode needs to be disabled. Some Web hosting providers do not allow disabling PHP safe mode while others do, so check in advance.

A single file, config.php, stores the basic configuration settings, such as database information, Web site URL, directory paths and permissions. Make a copy of the config-dist.php file provided by Moodle, name it config.php and edit it using your favorite text editor. This thoughtful arrangement is useful when you upgrade Moodle. Moodle's config-dist.php is upgraded, but your config.php, which contains settings specific to your installation, is left untouched. The config.php contains detailed instructions and examples.

Next, visit the main page of your Moodle Web site with a Web browser. From this point on, Moodle handles its own installation over the Web, setting up the database and creating tables. The defaults should work to get you started, and you always can customize them later. Finally, you are asked to create an administrator user account. Successful creation of the user account completes the Moodle installation, and you are returned to the home page of your new Moodle site.

Once Moodle is installed, almost all regular administrative activities can be carried out by using a Web browser. When logged in as the administrator, a block containing administration links appears in the left column of the main page after installation (Figure 1). The Configuration link in this block opens up a control panel that allows the administrator to control all aspects of the Moodle site using a Web browser. Again, every setting is meticulously documented and examples are provided.

Figure 1. Moodle Main Page after Installation

The Variables panel controls the basic operation of the Moodle site. In most cases, the defaults should work fine. The Site Settings panel is where you set the name of the Web site. This also is where you can change the words used to refer to teachers and students—another example of Moodle's flexibility. For example, you can specify that teachers should be referred to as moderators or facilitators and students should be referred to as participants. At this point, the Moodle site is ready. You can start creating courses and adding users.


To add a new course, while logged in as the administrator, follow the Courses link in the Administrator block on the main page of the Moodle site and choose the button to add a new course. Courses are classified into categories and each course has to belong to a category. Miscellaneous is the default category. You can add, delete or hide categories as needed.

Moodle provides three course formats: weekly, topics and social. The weekly format is suitable for courses organized into weekly activities. The topics format is suitable for courses organized into topics instead of weeks. The social format is organized around a single discussion forum. Choose a format and create the course (Figure 2). Once a course has been created, the assigned teacher for that course can modify course settings at any time.

Figure 2. Creating a New Course

After you create the course, you are taken to the main page of the newly created course. Choose the Turn editing on button at the top right corner of the page. With the editing turned on, tiny icons appear all over the page. These icons allow you to reposition blocks of content on the page as well as add, edit or delete resources and activities in the course (See Figure 3).

Figure 3. Adding Course Materials

The Users link in the administrator block allows the administrator to add users to the Moodle site. Moodle has convenient user management features. New users can create user accounts themselves by providing an e-mail address. Moodle handles the signup process by confirming the e-mail address, creating the account and generating a password. A user that has forgotten the password can request to have it sent to his or her e-mail address. The administrator also can import multiple users from an external comma-delimited file. The administrator can assign teachers for a course and enroll students to that course.