Moodle is an Open Source Learning Management System (LMS) application that enables you to make online training courses available to your customers.

This tutorial covers some of the basics of how to get your first Moodle 2.5 course up and running including:

If you are just starting in Moodle development, be sure to check out the free Introduction to Moodle Programming course.

Installing Moodle Locally for Development

The fastest way to install Moodle locally for development and testing on a Windows computer is to download the complete package which is bundled which includes XAMPP and Moodle from

  1. Download the file associated with Moodle 2.5+. If there is a newer version, update this documentation.
  2. To avoid a conflict with Skype, launch Skype and click Tools > Options > Advanced > Connections. Uncheck Use port 80 and 443 as alternatives for incoming connections if it is checked and click Save.
  3. To avoid a conflict with IIS, stop this service using the following command: NET STOP W3SVC. To keep IIS from restarting when you reboot your computer, run services.msc and set the World Wide Web Publishing Service to manual instead of automatic start
  4. Unzip the file you downloaded in step #1 above.
  5. In the Moodle folder, double click on Start Moodle. (to stop it, double click on Stop Moodle, don’t just close the window).
  6. Go to http://localhost/
  7. Complete the setup screens. Please be patient as it can take a long time for the setup process to complete… sometimes as much as 30-45 minutes depending on the speed of your computer.

The next step will be to configure Moodle.

Installing Moodle on your Web Server

It is not recommended that you use the above installation process for a publicly accessible website.  Either contact your website administrator or follow the platform specific instructions on

Once installed, go to the address of your Moodle website and complete the setup screens. Please be patient as it can take a long time for the setup process to complete… sometimes as much as 30-45 minutes depending on the speed of your computer.

The next step will be to configure Moodle.

Configuring Moodle

Once Moodle is installed, the first steps are usually going to be:

  1. Login as admin. The password will have either been provided to you or you will have specified it during the installation of Moodle.
  2. In the Administration section of the side navigation menu, click Front page settings > Turn editing on (if it is set to off).

Before we get started, here are a couple of quick tips to keep in mind:

  • You can get a brief explanation of any field by clicking on question marks in a circle next to them.
  • The Administration side menu will change depending on the page you are currently viewing. If you can't find the option you are looking for in the Administration menu, you are probably not on the right page.

Creating a New Category

Categories group your training courses together under related topics. For example, you could group your beginner (101), intermediate (102) and advanced (103) classes on creating websites together under a category called Website Development. If you skip this step, all of your courses will appear under the Miscellaneous category.

From the Home page:

  1. In the Administration section of the side navigation menu, click Site administration > Courses.
  2. Click
  3. Click Add/Edit courses
  4. Click the Add new category button.
  5. Specify your new Category name. Example: Website Development.
  6. Although optional, it is a good idea to add a short description. Example: Learn how to create a website.
  7. Finally, click the Create category button.

That's it! You've created your first category. The next step will be to add a new course.

Quick Tip: If you don't plan on using the Miscellaneous category, simply remove it to avoid confusing your users.

Creating a New Course

  1. Click Site administration in Administration section of the side navigation menu.
  2. Click Courses
  3. Click Add/Edit courses
  4. Click the Add a new course button

Editing Existing Course Settings

To edit the settings for an existing course:

  1. In the side Navigation menu, click the triangle next to Courses to expand the list
  2. Next, click the category for your course and then on the name of the course you want to modify.
  3. In the side Administration menu, expand the Course administration list and click on Edit Settings.

Don't forget to click the Save Changes button at the bottom when you have finished making any changes.

General section

  1. Enter the Course full name. This is the full name for your course. This is the name that will appear in the list of courses. Example: 101 -- Learning HTML
  2. Enter the Course short name. This is a short version of your course name which will appear in the breadcrumb trail. Example: HTML 101
  3. Select the appropriate category from the pull-down list. The default is Miscellaneous. If you are following the example above, change this to Website Development.
  4. Set Visible to Show if you want your course to appear in the list of courses.
  5. Set the Course start date to the date when you want the course to start.
  6. Course ID number is optional. You can skip this for now.

Description section

  1. The information entered into the Course summary will be displayed in the list of courses and included in site search results. This is where you would describe what people will learn in the course.
  2. If you want to add an image to the Course summary, you can upload it to the Course summary files section.

Course Format section

  1. Format: Moodle offers several ways to present courses. You will likely be looking to either use the Topics format, where the course is organized into topics, or a Weekly format, where a different section of the course is presented each week.
  2. Number of sections: If you chose the Topics format above, this will represent the number of topics covered by your course. If you chose the Weekly format, this number represents the number of weeks in your course. So, if your course covers 5 topics or spans 5 weeks, set this field to 5.
  3. Hidden sections: These are sections that you may want to hide for some reason. For example, you may want to include a hidden section for a class that falls on a holiday. This field will determine whether the class appears or not in the list of classes.
  4. Course layout: This setting will determine whether all the classes in a course are shown at once on a page or whether only one will appear on a page at a time.

Appearance section

  1. Force language: Unless you are making your course available in multiple languages or you are presenting second language course where, for example, you have English speaking students learning the basics of French, set this field to the language in which your course is presented.
  2. News items to show: If you are just starting out or have a reason to use news, you can skip this field.
  3. Show gradebook to students: If you will be testing students understanding of the material being presented and want them to be able to see their grades, set this to Yes.  Otherwise set it to No.
  4. Show activity reports: This setting determines whether students can see their activity, such as participation, completion, course access. While this can be useful, it can also lead students to feel like they are being monitored. If this is your intention, set it to Yes.

Files and uploads section

If you allow students to upload files, place an upper limit on the maximum size of files that can be uploaded to the site. This will prevent people from uploading excessively large files in an attempt to cause your web server to run out of space.

Guest access section

Do you want to allow guest access to your course? This means that anyone will be able to access the course material even if they don't have an account. This can further be restricted by added a shared password.

Groups section

This is an advanced topic. You can skip this section for now.

Role renaming

This is an optional section where you can rename labels used throughout the course. For example, you may prefer "Instructor" to "Teacher" or "Employee" to "Student".

Once you are done making changes to the settings on this page, click the Save changes button. Keep in mind that you can always come back and make changes to these course settings at any time.

Adding Content to Your Course

  1. In the Navigation side menu, click Courses > the name of the course you want to modify.
  2. Click the Turn editing on button if it is currently turned off.
  3. In the Topic or Date area, click the + Add an activity or resource link.
  4. In the Activities popup window, select the activity you wish to create. For regular course content, select Lesson and click the Add button.


This is the heading for the section of your course. Enter a subject for the topics covered in the section.

All of the other sections in this page are optional. Feel free to browse through them. Otherwise, click Save and Display.

Click the Add a content page link. Note: You can have several of these in a section.

Add a Page title. This is the lesson title for the page.

Add Page content. This is the lesson information that will be displayed to the student.

Content 1 through Content 4 are labels to be used for navigation at the bottom of the page. For example, specify "Previous" and "Next" in the Description field of Content 1 and Content 2 correctly selecting the appropriate Jump option for each. Unless you plan on having an option to skip directly to a particular lesson, Previous should jump to the Previous page and Next should jump to the Next page. That way, if you insert or delete lessons, you won't have to go adjust the navigation.

Be sure to set the Jump field to End of lesson in the Content 1 field at the end of the last lesson in the section.

When you are done making changes, click the Save page button at the bottom of the page.

Modifying the Appearance of Your Moodle Site

In the Administration section of the side navigation menu, click on Site Administration > Appearance > Themes > Theme selector.

Here you can choose a different theme for each type of device: Default, Legacy, Mobile (Smartphones) and Tablet. You can set them each individually or just set the Default theme. Any of the other device types that don't have a theme selected will end up using the Default theme. This can be a good idea if your theme already includes support for mobile devices.

Tip: There are additional themes available for download on the website under Downloads > Plugins. Be sure that the theme you download is compatible with your version of Moodle. To install it, unzip the file locally on your computer and then upload the theme folder along with everything inside it to the /themes/ folder of your Moodle website using FTP. Before it will appear in the Theme Selector, you will need to activate it by clicking on Site administration > Notifications link and following any instructions that might appear there.

Enrolling Students

Information to be added.

Automatically Logging in Guests

Do you have courses on your site that are open to guests and are not password protected? Don't want people to have to login as a guest? Details on how to auto-login guests is available on Moodle's Docs site.


Purge the cache / Reload Settings and Language Files

Should you ever make changes to your Moodle site and the changes don't show up, click Site Administration > Advanced Features > Development > Debugging > Purge all caches

Enabling Debugging

(Development environment only)

  1. Click Site Administration > Advanced Features > Development > Debugging
  2. Set Debug messages to DEVELOPER: extra Moodle debug messages for developers
  3. Click Save Changes at the bottom of the page.

You may find other settings in this page that might be helpful.

For production environments, ensure that this is set to NONE: Do not show any errors or warnings.

Increasing the Moodle Timeout

(Development Environments Only)

Tired of having to login over and over again? Try this…

Step 1: Edit Apache’s httpd.conf

Add the following lines at the top of the file:

# ============================================
# Extends session timeout
# ============================================
php_admin_value memory_limit 128M
php_admin_value session.auto_start 0
php_admin_value session.save_handler files
# ============================================

Restart the Apache Server.

Step 2: Increase Moodle Session timeout to 4 hours

  1. Click Site Administration > Advanced Features > Server > Session Handling
  2. Change the Timeout field to 4 hours
  3. Click Save Changes

Fixing “Init: Session Cache is not configured [hint: SSLSessionCache]” error in Apache error.log

To get rid of the SSLSessionCache message in XAMPP, complete the following steps using a text editor:

  1. Open the file called [xampp folder]\apache\conf\httpd.conf
  2. Somewhere in the LoadModule area, add the following line:
    LoadModule socache_shmcb_module modules/
  3. Save the file and close it.
  4. Now open the file called [xampp folder]\apache\conf\extra\httpd-ssl.conf
  5. At line 70, add the following line:
    SSLSessionCache "shmcb:logs/ssl_scache(512000)"
  6. Save the file and close it.
  7. Restart Apache