Installation Wiki

Moodle

From InstallationWiki

Jump to: navigation, search
Moodle
Official Page
Project Documentation
Download
Source Book
200px-1847193536.jpg
ISBN 978-1-847193-53-7
Publisher Packt Publishing
Author(s) William Rice
Additional Info
Moodle E-Learning Course Development
Moodle E-Learning Course Development
ISBN 978-1-904811-29-9
Publisher Packt Publishing

Moodle is a course management system (CMS) - a free, Open Source software package designed using sound pedagogical principles, to help educators create effective online learning communities. You can download and use it on any computer you have handy (including webhosts), yet it can scale from a single-teacher site to a 50,000-student University.

The title of this tutorial makes it sound as if it applies only to the person who installs Moodle. If your system administrator or webmaster has installed Moodle for you, you might be tempted to skip this tutorial. Don't!

Many of the configuration choices that are made during the installation process affect the student and teacher experience in Moodle. These are found on the Variables and Site Settings pages, which will be covered later in this tutorial. This tutorial's focus is on helping you create the user experience you want by making the right configuration choices. While someone else may have installed Moodle and made these configuration choices for you, you can always go back and change them.

Contents

Go Ahead, Experiment

While this article describes the effects of different configuration choices, there is no substitute for experiencing them yourself. Don't be afraid to experiment with different settings. You can try this method:

1. Install two different browsers in your computer. For example, Internet Explorer and Firefox.

2. In one browser, log in as an administrator. Go to the Site Settings or Variables page (I will tell you how), and experiment with the settings that you read about here.

3. In the other browser, go to your site as a useran anonymous visitor, student, or teacher. Each time you change a configuration setting, refresh the user's browser and observe the change to your site.

Using This Tutorial

If you did not install Moodle, you should at least read the following sections later in this article:

  • Installation Step 7d: Specify Site Variables. The site variables described affect how the site functions. Some of them affect the user experience, and others affect the teachers and course creators.
  • Configuration Choices after Installation. Most of these configuration choices affect the student experience, and some affect the teachers and course creators.
  • If you want, work with your system administrator to select the settings you want. Your administrator can create a site administrator account that you can use for this.

Moodle's online installation instructions provide a good step-by-step reference for installing Moodle. However, they do not cover the implications of the choices you make while configuring Moodle. This tutorial covers the effects of the:

  • Choices you make while installing Moodle
  • Choices you make immediately after installing Moodle
  • Ways of authenticating Moodle users, and how your choice affects the operation of your site

Accessing the Site Variables and Site Settings Pages

The fastest way to access the Variables and Site Settings pages is to:

1. Log in to Moodle with an administrator account.

2. In your browser bar, enter the URL of your site and add /admin. For example, moodle.williamrice.com/admin.

3. The Administration page displays. From here, you can select Variables or Site Settings.

Installing Moodle

Installing Moodle consists of:

1. Obtaining space and rights on a web server that has the capabilities needed to run Moodle

2. Creating the subdomains and/or directories needed for Moodle and its data

3. Getting and unpacking Moodle, and uploading it to your web server

4. Creating the data directory

5. Creating the Moodle database

6. Setting up the cron job

7. Activating the installation routine and specifying settings for your Moodle site

Each of these is covered in the following sections.

The official Moodle website, http://moodle.org/, contains detailed installation instructions. These instructions might change slightly with each version, or be occasionally updated. The material in this tutorial supplements and expands on those directions. You should use the official Moodle installation directions, supplemented with this material.

Installation Step 1: The Web Server

Moodle is run from a web server. You upload or place Moodle in your directory on the server. Usually, the server is someone else's computer. If you're a teacher, or are in the corporate world, your institution might have their own web server. If you're an individual or have a small business, you will probably buy web-hosting services from another company. In either case, we are assuming that you have an account on a web server that offers Apache, PHP, and MySQL. If you must install your own Apache web server and MySQL software, the easiest way to do so is to use another open-source tool: XAMPP from http://www.apachefriends.org. Apache Friends is a non-profit project to promote the Apache web server. XAMPP is an easy, all-in-one installer that installs Apache, MySQL, PHP, and Perl. It is available for Linux, Windows, Mac, and Solaris.

How Much Hosting Service Do You Need?

With only a few dozen students, Moodle runs fine on a modest web-hosting service. At this time, many hosting companies offer services that can run a small Moodle installation for less than $10 a month. Base your decision upon the factors discussed below.

Disk Space

A fresh Moodle installation will occupy about 60MB of disk space, which is not much. Most of the space will be occupied by content that is added while users create and take courses. Base your decision about how much space to obtain upon the kinds of courses you plan to deliver. If the courses will contain mostly text and a few graphics, you'll need less space than if they contain music and video files. Also, consider the disk space occupied by files that the students will upload. Will students upload small word processing files? Large graphics? Huge multimedia files? When determining how much disk space you will need, consider the size of the files that your courses will serve and that your students will submit.

Bandwidth

Moodle is a web-based product, so course content and assignments are added over the Web. Whenever a reader or user connects to a website, they're using bandwidth. When a user reads a page on your Moodle site, downloads a video, or uploads a paper, he or she uses some of your bandwidth. Most commercial hosting services include a fixed amount of bandwidth in their service. If your account uses more bandwidth than allowed, some services cut off your site's access. Others keep your site up, but automatically bill you for the additional bandwidth. The second option is preferable in case of unexpected demand. When deciding upon a hosting service, find out how much bandwidth they offer and what they do if you exceed that limit.

Installation Step 2: Subdomains

A subdomain is a web address that exists under your web address, and acts like an independent site. For example, my website is www.williamrice.com. I have a subdomain, http://www.moodle.williamrice.com, which holds a demonstration site for this tutorial. They are independent sites. However, they exist on the same server, under the same account, and they both count towards the disk space and bandwidth that I use:

In this example, Moodle is installed in the subdomain http://www.moodle.williamrice.com. Using a subdomain offers me several advantages. As you can see, I can manage them both from the same interface. Second, I can use a subdomain as a test site for my Moodle installation. I can install and test Moodle in the subdomain, and then copy it over to my main site when it's ready. Having a site to test updates and add-ons may be helpful if uninterrupted service is important to you. Later, you'll see how easy it is to copy a Moodle installation to a different location, change a few settings, and have it work. If you want to do this, make sure the hosting service you choose allows subdomains.

Installation Step 3: Getting and Unpacking Moodle

Get Moodle from the official website, http://www.moodle.org/. Go to the Download Moodle page and select the version and format that you need:

Which Version?

For a new installation, the Latest Stable Branch is usually your best choice. The Last build: information tells you when it was last updated with a bug-fix or patch. This is usually irrelevant to you; the version number determines which features you get, not the build time.

Which Format?

Moodle is downloaded as a single, compressed file. This compressed file contains the many small files and directories that constitute Moodle. After downloading the compressed file, you must decompress (or unzip) the file. Unzipping will extract many files and directories that you must place on your server.

If you're using a hosting service, you probably do not have the ability to decompress the file on the server. Instead, you must decompress the file on your PC and then upload the extracted files to the server. If you're using a hosting service, you will probably:

1. Download the Moodle package (ZIP file) to your local hard drive.

2. Decompress,or unzip, the package. This will extract many files from the package. In the example overleaf, you can see from the title bar that I'm using the freeware program ZipGeniusto unzip the package. Each file will be extracted to a specific directory. For example, near the bottom of the window, you can see that the file module.php will be extracted to the directory moodle\admin\.

3. Uploadthe files to your web server. You'll need to use a special program to upload the files, which we'll cover later. In this example, I'm using Macromedia Dreamweaver to upload the file help.php from my local PC to my hosting service.

Whether you're using Windows, Mac, or Linux on your personal computer, you can find a decompression program that will unzip .zip files. If your system doesn't have a decompression program that works with .zip files, and you're using Windows, try www.nonags.com for freeware unzip programs. If you're using a web page editor like Dreamweaver or Microsoft FrontPage, your program has the ability to upload files to the server. If you're not using a web page editor that can upload files, you'll need an "FTP client". Again, try www.nonags.com for freeware FTP clients.

If your school or company has given you space on its web server, you might have access to the directory just as if it were another folder on your PC. In that case, you can download the .tgz file, put it into your directory on the web server, and then decompress it. Tell the system administrator who gave you access what you want to do, and ask how to decompress a file in your directory.

Installation Step 4: The Moodle Data Directory

When you run the Moodle install script, the installer asks you to specify a directory in which to store course material. For security, this directory should be outside the main Moodle directory. This gives you two choices:

You can install Moodle into a subdirectory, and the data into another subdirectory. For example, suppose your domain is www.williamrice.com. Your Moodle site might be located in www.williamrice.com/moodle, and the data at www.williamrice.com/moodledata.

Alternatively, you can install Moodle into its own domain, and the data into another domain. For example, if you own the domain www.williamrice.com, you could create a subdomain for Moodle at www.moodle.williamrice.com and a subdomain for the course materials at www.moodledata.williamrice.com. This is usually the easiest option.

The two screenshots below illustrate this setup. The screen on the left is when I used my hosting service's control panel to create the moodledata subdirectory. The screen on the right appears while the configuration script runs. By entering /home/williamr/www/moodle, I specified the subdomain http://moodle.williamrice.com as the Moodle Directory. /home/ williamr/www/moodledata specifies the subdomain, http://moodledata.williamrice.com as the Data Directory:

Installation Step 5: Creating the Moodle Database

While themoodledata directory stores files uploaded by students, and some larger files, the Moodle database stores most of the information in your Moodle site. By default, the installer uses the database name moodle and the username moodleuser. Using these

default settings gives any hacker a head start on breaking your site. When creating your database, change these to something less common. At least make the hackers guess the name of your database and the database username.

Whatever username you use, that user will need the following privileges for the Moodle database: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, and ALTER. The screenshot here shows the settings for my demo Moodle database, moodledata. If your hosting service provides you with the popular cPanel control panel for your account, you can use cPanel to create the database and database user. For instructions on using cPanel,see http://www.cpanel.net/docs/cpanel/. Installation Step 6: Setting up the Cron Job

Some of Moodle's functions happen on a regular, timed schedule. The most visible example is mailing out notices to the subscribers of a forum that a new message has been posted. A script called cron.php checks periodically to see if new messages have been posted to any forum. If so, the script causes the notice to be emailed to the members of that forum.

The script cron.php must be triggered at regular intervals. You can set this interval. The mechanism that triggers the script is called a cron job. Directions for setting up the cron job are in the http://moodle.org/ installation guide.

Some web-hosting services allow you to set up cron jobs. If you're buying hosting services, look for one that offers this. If you've been given space on your school's or company's web server, speak to the system administrator about setting up the cron job. If neither of these applies, then your only other option is to set up the cron job on a Windows machine that you control. The cron job will reach out over the Internet to your Moodle site, and activate the script cron.php. Again, directions for this are in the http://moodle.org/ installation guide. However, if you choose this option, you must keep that Windows PC running all the time, and it must also be connected to the Internet at all times. If the Windows PC goes down or offline, the Moodle functions that requires periodic triggering will also go down.

The following is a screenshot of installing the MoodleCron application, where I specify the location of the cron.php script. In the following figure, you can see the line Location: /www/moodle/admin, which on my server corresponds to www.moodle.williamrice.com/ admin. This is the directory that holds cron.php.

Installation Step 7: The Installer Script

The installer script walks you step by step through the creation of Moodle's database tables, and setting variables that determine how the site operates. In this section, we discuss how the setting of each variable affects the user experience.

Installation Step 7a: Run install.php

In the Moodle directory, a script called install.php creates the Moodle configuration file when the script is run. You run the script by just launching your browser and calling the script. The configuration file, config.php, holds information about your Moodle installation.

In the following screenshot, I've launched my browser and accessed install.php on my server:

Installation Step 7b: Specify Settings for config.php

Stepping through the install routine creates config.php, among other things. Here's the config.php for www.moodle.williamrice.com:

<?php /// Moodle Configuration File

unset($CFG);

$CFG->dbtype = 'mysql';
$CFG->dbhost = 'localhost';
$CFG->dbname = 'moodledata';
$CFG->dbuser = 'moodleusr';
$CFG->dbpass = 'badpassword';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';

$CFG->wwwroot = 'http://moodle.williamrice.com';
$CFG->dirroot = '/home/williamr/www/moodle';
$CFG->dataroot = '/home/williamr/www/moodledata';
$CFG->admin = 'admin';

$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode

require_once("$CFG->dirroot/lib/setup.php");
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>

This site uses a mysql database. On most servers, the hostname will be localhost. In a previous subsection we covered creating the Moodle database, which in our example we called moodledata. We created a user called moodleusr, with the proper privileges. Note that the configuration file stores the password for the Moodle database, which in this example is badpassword. The dbpersist setting is specified by the installer script; do not change it without a good reason.

The prefix mdl_ is added to the beginning of each table that Moodle adds to your database. A table is a section of a database. Think of each table as a database inside a database. On the running of install.php, Moodle adds all the tables it needs to the database that you created. It adds the prefix to the name of each of these tables, so that you (and Moodle) can recognize them when you look at the database. You could use the same database for Moodle and something else, or for two Moodle installations, if each program used its own tables with its own prefix. The different prefixes would prevent the two programs from becoming confused and reading each other's tables. If you're running more than one copy of Moodle, you might consider using the same database and different tables. You could back up the data for both copies by backing up the one database.

The settings in the first part of config.php are specified while running the installation script:

Thesecond part of config.php specifies the directories used by the Moodle application and data:

$CFG->wwwroot = 'http://moodle.williamrice.com';
$CFG->dirroot = '/home/williamr/www/moodle';
$CFG->dataroot = '/home/williamr/www/moodledata';
$CFG->admin = 'admin';

These settings are also specified while running the installation script:

Installation Step 7c: Database Tables Created by install.php

After stepping through a few more screens, install.php creates the tables in your Moodle database. You don't need to do anything during this part of the installation except click to see the next screen. The installation script tells you when this is complete:

Installation Step 7d: Specify Site Variables

After creating the database tables, the installation script displays the Variables page. The values you enter on this page affect the behavior of the entire site. Of course, you want to enter them correctly the first time. However, after Moodle is installed, you can return to this page at any time to change these variables.

The next screenshot shows the top of the Variables page for my demonstration site. Notice the breadcrumbs line at the top shows that I'm on the site whose short name is wildskills, and that to get to this page I've selected Administration, then Configuration, and then Variables:

The page itself does a good job of explaining the purpose of each variable. However, the directions do not tell you the implications of the choices you make on this page. Below I've added some commentary to help you determine how your choices will affect the operation of your site, and information to help you decide upon the right choices for your needs.

lang and langmenu

The default language is specified by the variable lang. This is the language users will see when they first encounter your site. The variable langmenu determines whether users will see a language menu on your Front Page:

Notice that the site title, in this case Wilderness Skills, does not get translated. Neither does the content that you create. Only menus and field names are translated. In this example, Main menu, Site news, and Subscribe to this forum would be translated.

If you want to offer course content in multiple languages, you have several choices. First, you could put all of the different languages into each course. That is, each document would appear in a course in several languages. For example, if you offered a botany course in English and Spanish, you might have a document defining the different types of plants in both English and Spanish, side by side in the same course: Types of Plants or Tipos de Plantaras. While taking the course, students would select the documents in their language. Course names would appear in only one language.

Second, you could create separate courses for each language, and offer them on the same site. Course names would appear in each language. In this case, students would select the course in English or Spanish: Basic Botany or Botnica Bsica.

Third, you could create a separate Moodle site for each language. For example, http://moodle.williamrice.com/english and http://moodle.williamrice.com/spanish. At the home page of your site, students would select their language and be directed to the correct Moodle installation. In this case, the entire Moodle site would appear in the students' language: the site name, menus, course names, and course content. These are things you should consider before installing Moodle. However, if you decide to change your approach, you can always come back to the Variables page and change these settings.

Fourth, and most elegantly, you could use the Multi-Language Content filter described in Configuration Choices after Installation later in this tutorial to display course content in the language selected by your user.

langlist

As the directions on the Variables page state, leaving this blank will enable your students to pick from all available languages. Entering the names of languages in this field limits the list to only those entered. The directions tell you to enter "language codes".

Moodle looks in the /lang directory for subdirectories that hold each language's files. For example, the /lang/en_us subdirectory holds files for the U.S. English translation, and /lang/es_es holds the files for traditional Spanish (Espaol / Espaa). The name of the subdirectory is the "language code." For example, if you want students to be able to choose between U.S. English and traditional Spanish, enter en_us, es_es into this field.

For example, the /lang/en/forum.php file holds text used on the forum pages. This includes text that is displayed to the course creator when creating the forum, and text that is displayed to the students when they use the forum. Here are the first few lines from that file:

$string['addanewdiscussion'] = 'Add a new discussion topic';
$string['addanewtopic'] = 'Add a new topic';
$string['advancedsearch'] = 'Advanced search';
And here are the same first three lines from /lang/es_es/forum.php:
$string['addanewdiscussion'] = 'Colocar un nuevo tema de discusin aqu';
$string['addanewtopic'] = 'Agregar un nuevo tema';
$string['advancedsearch'] = 'Bsqueda avanzada';

The biggest task in localizing Moodle consists of translating these language files into the appropriate language. Some translations are surprisingly complete. For example, most of the interface has been translated to Irish Gaelic, even though this language is used daily by only about 350,000 people; the Romanian interface remains mostly untranslated, while Romania has a population of over 23 million. This means that if a Moodle user chooses the Romanian language (ro), most of the interface will still default to English.

One of the greatest features of Moodle is that you can edit these language files directly in Moodle. To do this, select Administration | Configuration | Language. For more information about translating Moodle, see http://docs.moodle.org/en/Translation.

locale

Enter a language code into this field, and the system displays dates in the format appropriate for that language.

timezone

This field determines the time zone for times displayed, such as the last time a file was edited. The time zone entered here is used only for users who have not selected a time zone in their personal profile. Once a user selects a time zone for their profile, times are displayed in the user's time zone.

country

Leavingthis field blank forces a new student to choose a country on the student's profile page. This could either be interesting or inconvenient for the students. Consider your students' temperament before making your selection.

smtphosts, smtpuser, and smtppass

The abbreviationSMTP stands for Simple Mail Transfer Protocol. It's a protocol, or communications method, used between computers. It describes the method those computers use to exchange email. To find out the name of the SMTP host to use, consult your hosting service or system administrator. It is usually mail@domainname, for example mail@williamrice.com.

The SMTP username is the first part of a valid email address, on the same server as Moodle. Your hosting service probably allows you to create multiple email addresses. On my hosting service, I created an email address moodle@williamrice.com. The smtpuser field contains moodle and the smtppass field contains that email address's password.

noreplyaddress

This email address is used as the "reply to" address when Moodle sends an email to which you don't want a response. For example, Moodle can email the members of a forum when a new post is added to the forum. You would not want the members to respond to that notice by using "reply to," because the email comes from Moodle, not an individual who can read the replies. That is one of the times Moodle would use this noreplyaddress.

If you have a catch-all email address for your domain, replies sent to noreplyaddress will be caught by the catch-all address. For example, if I designate catchall@williamrice.com as the catch-all email address for my domain, any message sent to an invalid email address at williamrice.com gets caught by catchall@williamrice.com. If you don't have a catch-all email address for your domain, messages sent to noreplyaddress will be bounced.

gdversion

GD is a collection of open-source programs that can generate graphics, charts, and thumbnails on the fly. This library is installed on your web server. Most hosting services will have the latest version installed. Moodle uses GD to process images. The installation routine usually detects the correct version of GD installed on your server. However, if images do not display properly, try returning to this page and changing the setting. Also contact your system administrator and ask what version of GD is installed.

maxeditingtime

Thissets the amount of time between when a forum posting or journal entry is submitted, and when it is added to the forum or journal. During this time, the posting or entry can be recalled by the author and edited.

As of this writing, Moodle does not have a function specifically for sending emails to all the students in a course. When a teacher wants to send an email to all students in a course, the teacher usually creates a forum and automatically subscribes all students to that forum. Then, the teacher chooses to have new forum postings emailed to all the members. When the teacher posts to the forum, the forum then emails that posting to all the students. The maxeditingtime determines how long the teacher has before that posting is added to the forum and emailed to all the students.

longtimenosee

Themaximum amount of time you can keep a student enrolled in a course is 1000 days. If you plan on keeping students enrolled longer than that, you'll need to modify Moodle's source code:

1. If you've already installed Moodle, select any value for this field.

2. In the directory /admin, open the file config.htm.

3. Look for the line $options[1000]=get_string("numdays", "", 1000);

4. In both places in that line, replace 1000 with the number of days to keep students enrolled.

5. Save config.htm.

6. Return to the Variables page by logging into Moodle as the administrator, and selecting Administration | Configuration | Variables.

7. For longtimenosee, select the value you entered into config.htm. You should see it in the pull-down list.

8. Save and exit the Variables page.

deleteunconfirmed

Students need an account on your site before they can enroll in a course. If you're using email to authenticate students, this sets the length of time they have to respond to the email. Note that while waiting for a student to respond to the authentication email, the username and email address of that student cannot be used by any other student. So, if a student loses the enrollment email, he or she should either wait until this time has expired or try again with a different username and email address.

If a student loses the enrollment email and must use the username and email address in that email, you will need to go into the Moodle database and delete the student's record. Look in the table called mdl_user for the username. You should see that the field confirmed contains a 0 (zero). Delete this record and have the student try enrolling again. You'll need to know how to edit a database to do this.

loglifetime

This sets the length of time Moodle keeps log files. Note that it doesn't set a size limit. If you have a very busy site, the log can become large quickly. Unlike most web-based programs that keep logs, Moodle does not keep them in their own files on the server. Instead, Moodle keeps log files in the Moodle database, in the table called mdl_log. This means that your database server must handle both Moodle content and logs. If you have a very active site and a very modest database server, or modest hosting service, this can slow down your site.

Consider setting loglifetime to the lowest value that you need to manage your courses. For example, if no course is longer than two weeks, 30 days of logs will usually give you enough time to look back at course activity. You can back up mdl_log to a local disk periodically, so that you can see archived course activity. You'll need to know how to edit a database to do this.

displayloginfailures, notifyloginfailures, and notifyloginthreshold

The settings you choose for these fields depend upon how closely you intend to monitor security on your site. There is very little drawback to choosing to display login failures to the administrator and teachers. If you're hosting courses that use an enrollment key, and students have trouble using the key to log in, displayloginfailures can give the administrator and teachers a warning that something is wrong.

For notifyloginfailures to work correctly, the persons being notified must have entered valid email addresses. The setting notifyloginthreshold will cause the system to send an email each time that threshold is reached. If you have this set to 10 failed logins, and your site becomes the target of an automated attack, this could result in a lot of emails clogging your inbox.

sessioncookie

If you're running several copies of Moodle from the same site, you can use this to customize the name of the cookie for each copy of Moodle. This prevents each copy of Moodle from using the other's cookie. For example, suppose I had one copy of Moodle running under www.williamrice.com/paid and another running under www.williamrice.com/free. I would not want the cookie set by the copy running under /free to be used by the copy running under /paid.

If you're running each copy of Moodle in a different subdomain, you don't need to customize the name of the session cookie. For example, if I was running different copies of Moodle under paid.williamrice.com and free.williarmrice.com, this setting would be unnecessary. zip and unzip

The zip and unzip routines are used to compress entire courses before downloading them, and to uncompress them after uploading them. When you move a course between Moodle sites, or when you want to duplicate an entire course, the usual method is zip‑download‑upload-unzip.

If you think that you will frequently move courses between sites, or duplicate courses, then check with your hosting company to see if they offer this feature. Access to a zip and unzip program might be one of the factors in deciding which hosting service to use.

If your hosting service doesn't offer a zip program, then Moodle will use its own, built-in zip program. This uses a lot of memory, so you're always better off using your hosting service's zip program.

slasharguments

You need to change this only if you have trouble viewing uploaded graphics. Try running your site before changing this setting.

proxyhost and proxyport

Mostweb servers do not run from behind a firewall, especially paid hosting services. However, if you're hosting Moodle from a personal computer located inside a school or company, there's a good chance you're behind a firewall. For example, if you're hosting Moodle from a computer located at your desk in your school or company, then that host is probably behind the same firewall as every other personal computer in your institution. If this is the case, ask your network administrator for the setting to use in these fields.

If you're hosting Moodle from a personal computer inside your institution, not only might you need to deal with a firewall but also with a changing IP address. The IP address of that computer might change each time your reboot it. This would change the IP address that students use to access your site.

If you're running Moodle from a personal computer located inside your institution, ask your network administrator about the proxyhost settings and also if your Moodle server can have a fixed IP address.

framename

This feature is useful if you're embedding Moodle inside another site. For example, you may want to embed Moodle into your school's or company's pages, retaining the headers and footers used by your institution. If you embed Moodle like this, consider modifying the content of Moodle's headers and footers so they do not conflict with the information in your institution's headers and footers. You will find the files, header.html and footer.html in the folder /themes/themename, where themename is the name of the theme you chose under Administration | Configuration | Themes.

secureforms

SelectingYes for this setting may cause pages to become unusable for students running firewalls. It gives you a small amount of additional security. If you turn this on, I suggest that you put a notice on your Login Page that the site may not work with a firewall when the firewall strips the IP address, or HTTP_REFERER, from the user's computer.

loginhttps

If you select Yes for this setting, but your server doesn't have HTTPS enabled for your site, you will be locked out of your site. Moodle will require you to use HTTPS when you log in, but you won't be able to comply. If that happens to you, then you must go into the Moodle database and change this setting to No.

The following screenshot shows an administrator using the web-based product phpMyAdmin to edit this setting in Moodle's database. Notice the setting for logging in via HTTPS is contained in the table mdl_config. The administrator is clicking on the edit icon. If this cell contains a 0, HTTPS login is not required. If it contains a 1, HTTPS login is required. If you're locked out because of HTTPS login, change the contents of this cell to 0.

allusersaresitestudents

The Front Page of your Moodle site can contain the same features as any other course. In fact, the Front Page can act as an introductory course to your site. It can contain forums, resources for students to read, quizzes, and other course material. Building a course on the Front Page of your site can be useful in two ways.

First, you can use the Front Page as a sample course for your site. The Front Page course becomes a sales tool. This is a good way to tempt new visitors into joining your site.

Alternatively, you can use the Front Page as an introductory course for existing students. This course would teach students how to use your site, how to choose and join courses, your policies and procedures. The Front Page course becomes an orientation.

The setting for allusersaresitestudents determines whether everyone who is a student (all registered users) is automatically enrolled in the Front Page course. If you're using the Front Page as a sample or orientation, you probably want this set to Yes. showsiteparticipantslist

Thissetting determines whether students who are enrolled in the Front Page course (the "site course") are shown on the list of students for that course. Remember that if you set allusersaresitestudents to Yes, then all registered students are in the site course, and on this list.

Setting showsiteparticipantslist to Site teachers means that only teachers who teach the site course can see the list of students. Setting it to Students and teachers means that the students can see each others' name on this list. If all registered students are enrolled in the site course, then they can all see each others' name.

maxbytes

Thereare three settings that limit the size of a file that can be uploaded on your server. The first two are the PHP setting upload_max_filesize and the Apache setting LimitRequestBody. These are set by your hosting service. They are probably greater than the 20 Megabyte maximum that you can set with maxbytes. However, if you set this and then cannot upload files of the size you selected, talk to your system administrator or hosting service provider about their settings for upload_max_filesize and LimitRequestBody.

fullnamedisplay

Remember that your students may not want their full names displayed to one another. Consider privacy issues when selecting this setting.

autologinguests

When a course is created, the course creator can choose to allow guest access. If this is enabled, when a visitor who is not logged in selects the course, the visitor is taken to Moodle's Login Page. At the Login Page, one of the visitor's options is to Login as a guest. The visitor can then take the course anonymously, using the username guest.

If autologinguests is set to Yes, when a visitor who is not logged in chooses a course with guest access enabled, the visitor is taken straight into the course. The Moodle Login Page is bypassed, and the visitor does not need to register or select Login as a guest. This seems very convenient; however, you should consider how this might affect your registered users before enabling it.

With autologinguests set to No, when any course is selected, the visitor is taken to the Login Page. If the visitor is a registered student, he or she will login with a username/password. Then that visitor's activity in the guest-enabled course will be logged. However, if autologinguests is set to Yes, when a registered student hits your site and selects a guest-enabled course, the student will bypass the Login Page and be taken straight into the course. This means the student's activity will not be logged. If having a registered student take a course without logging the student's activity is OK, then enable autologinguests. However, if you want to be certain that all of your registered students' activities are logged, then you should disable this feature. forcelogin

As stated in the directions, setting this to Yes causes the Front Page to become hidden until a visitor logs in to Moodle. When visitors first hit your Moodle site, they see the Moodle Login Page.

Setting this to Yes means that you cannot use Moodle's Front Page as an information and sales tool. You can customize the text on the Login Page, but you won't be able to add all the features available to a Moodle course.

Setting this to No enables you to use a non-Moodle page as your introduction to the site. If you want your Front Page to be something that cannot be created in Moodle, this is a good option. For example, you might make moodle.williamrice.com/index.htm into a flash presentation about your site. Visitors then click on an Enter link and are taken to the Moodle Login Page at moodle.williamrice.com/moodle/index.php. Notice that Moodle is now in its own subdirectory.

If you want a non-Moodle introduction page that leads to a Moodle Login Page, put Moodle into its own subdirectory and not in the same directory as the introduction page. Moodle's Front Page is called index.php, and your introduction page will probably be called index.htm. If they are in the same directory, your server might get confused about which page to serve.

forceloginforprofiles

What the directions don't state is that setting this to No enables anonymous visitors to read not only teachers' profiles, but also the profiles of any students enrolled in courses that have guest access. This may be a privacy issue.

The effect of enabling forceloginforprofiles is that anonymous visitors cannot read the profiles for the teachers in a course that accepts guest access. They must register as a student before being able to read student and user profiles. This may be a drawback if your teachers' profiles are a selling point for the course.

Consider enabling forceloginforprofiles to force people to register before reading student or teacher profiles. Then, if your teachers' profiles are a selling point, you can add a section to the Front Page for "About Our Teachers".

opentogoogle

This setting lets the Google indexing robot into a course that allows guest access. If you want to know more about the Googlebot, see http://www.google.com/bot.html.

It seems that everyone with a website wants their site to be ranked high in Google's search results. However, you should consider whether you really want Google to add each of your guest-enabled courses to its search engine. There are several disadvantages:

  • If your course content changes frequently, Google might index out-of-date information for your courses.
  • Your students and teachers might not want their names and materials indexed and available to the public.
  • If Google indexes all of your guest-enabled courses, you have less control over what information about your site appears in Google. Everything on the pages that the Googlebot searches is used in indexing your site. There might be items on those pages that don't accurately represent your site. For example, a negative forum posting or an off-topic discussion could become associated with your site. Also, if the focus or structure of your Moodle site changes, it may take awhile before all the Google references to all those pages are corrected.

If you want strict control over what information appears in Google about your site, then set opentogoogle to No. Put only the information that you want to appear in Google on the Front Page of your site, and do not allow teachers or students to modify anything on the Front Page. This way, Google will index only your Front Page. You should also request anyone who links to your site to link only to the Front Page (for example, "Please link only to http//www.moodle.williamrice.com, not directly to a course page.") Google and other search engines use links to your site to calculate your ranking. If all those links point to the same page, you can better control your site's public image. By setting opentogoogle to No, and requesting that people link only to the Front Page, you are trading away some of your search engine presence in exchange for greater control of your site's public image.

For the ultimate in control of what information about your site is indexed, consider this plan: set forcelogin to Yes to keep search engine robots out of Moodle completely. Set opentogoogle to No to prevent Google from crawling your guest courses. Set autologinguests to No to eliminate the possibility that any other search engine's robots crawl your guest courses. Now you've locked out all but registered users.

Put Moodle into a subdirectory of your site. Link to Moodle from the index page at the root of your site. In my case, I would put Moodle into moodle.williamrice.com/ moodle/ and link to it from moodle.williamrice.com/index.htm. Then, use index.htm as an introduction to your site. Ensure that index.htm contains exactly the kind of information you want the public to know about your site, and optimize it for the best search engine placement.

enablerssfeeds

AnRSS feed is when a website supplies selected content to the rest of the world. It stands forReally Simple Syndication. You may have seen web pages that have a section where news from a major news source appears. For example, my personal site has RSS feeds from Web Developer News and BBC: Technology in the left column:

Those RSS feeds are updated periodically.

You can also enable RSS feeds for your Moodle site. This variable enables and disables the feeds site-wide. Then, for each module you enable RSS feeds individually. For example, your Moodle site can feed, or syndicate, the latest forum entries by enabling RSS feeds here and in the Forums module (under Administration | Configuration | Modules | Forum Settings). Remember that you're not using RSS to announce the latest content changes inside your Moodle site. You're using it to announce those changes to the rest of the world.

RSS feeds can be read by most popular email clients, such as Outlook, Thunderbird, and Netscape Mail. This is probably how your students will receive the RSS feeds from your learning site. In the following example, I've subscribed to http://www.moodle.org's RSS feed. Notice how each individual feed shows up as an email.

The site administrator must use this setting to enable RSS feeds. The administrator can choose to allow only the administrator to create RSS feeds, or to allow teachers to create RSS feeds. Allowing teachers to create RSS feeds enables them to add RSS to the courses they teach. For example, a teacher could add RSS to a course forum. Assuming the students use their email program to get RSS feeds, the students would then see a new feed item when the forum is updated. This is a good way for the teacher to stay in touch with the students.

digestmailtime

This is the time that email digests get sent to users who have subscribed to digests. It is the time on the server, so if your server is located in a different time zone than you or your students, consider the time difference when settingthis.

Installation Step 8: Upgrading the Database and Setting Up Tables

After stepping through a few more screens, install.php upgrades the Moodle database and creates more tables. You don't need to do anything during this part of the installation except click to see the next screen. The installation script tells you when this is complete. Installation Step 9: Site Settings

After creating the database tables, the installation script displays the Site settings page. The values you enter on this page affect Moodle's Front Page. Of course, you want to enter them correctly the first time. However, after Moodle is installed, you can return to this page at any time to change these variables.

The screenshot below shows the top of the Site settings page for my demonstration site. Notice the breadcrumbs line at the top shows that I'm on the site whose short name is wildskills, and that to get to this page I've selected Administration, then Configuration, and then Site settings:

Let's examine how each of the Site settings influences the Front Page and the user experience.

Full Site Name

The full site name appears at the top of the Front Page, in the browser's title bar, and also on the page tab in Netscape or Firefox:

The full site name also appears in the metadata for the Front Page. Here are the first few lines of HTML code from my Front Page. The line containing the full site name is in bold:

<html dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">@import url(http://moodle.williamrice.com/lib/editor/htmlarea.css);</style>
<meta name="description" content="Welcome to the Wilderness Skills site. If you have an interest in primitive
 living/survival skills, you're at the right place. This site offers courses in basic botany (just enough for a beginning 
 forager), shelter building, firestarting without matches, orienteering, and other wilderness skills. The first course, Basic 
 Botany for Foragers, is free. It covers the terms and concepts you need to know to understand most field guides and to talk 
 about wild plants. Try the free course, and if you like it, you can join us for other courses for a low fee.">
<title>Wilderness Skills</title>
<meta name="keywords" content="moodle, Wilderness Skills" />

Short Name for Site

Oncea user enters your Moodle site, a navigation line is displayed at the top of each page. This shows the user where he or she is in the site. The first item in this navigation line, or breadcrumb trail, is the short site name:

Front Page Description

This description appears in the left or right column of your site's Front Page. If you require visitors to register and log in before seeing the Front Page (see forcelogin under Installation Step 7d: Specify Site Variables), remember that visitors will see this information after they have logged in. In that case, the Front Page description can't be used to sell your site. Instead, it can instruct students on how to get started with your site. For example, "Take the Introduction course to learn how to use this site"

If your Front Page is visible to all visitors, then you can use this description to sell your site, tempt visitors to take a sample course, tell them what's inside, etc.

Remember that the Front Page description always appears in the left or right column of the Front Page. It does not appear in the center column. If you want your site description (e.g. Welcome to the....) top and center, you'll need to include a topic section (covered next), which always appears in the center of your Front Page. You would make your site description the first topic. In this case, you turn the Front Page Description off.

Also, this description appears in the metadata of the first page:

<html dir="ltr">

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

<style type="text/css">@import url(http://moodle.williamrice.com/lib/editor/htmlarea.css);</style>
 <meta name="description" content="
 Welcome to the Wilderness Skills site. If you have an interest in primitive living/survival skills, you're at the 
right place. This site offers courses in basic botany (just enough for a beginning forager), shelter building, 
firestarting without matches, orienteering, and other wilderness skills. The first course, Basic Botany for Foragers,
 is free. It covers the terms and concepts you need to know to understand most field guides and to talk about wild 
plants. Try the free course, and if you like it, you can join us for other courses for a low fee.">
 

<title>Wilderness Skills</title>

<meta name="keywords" content="moodle, Wilderness Skills " />

The implication here is that even if you plan to use a Topic section to put your site description top and center, instead of using the Front Page Description in a column on the left or right side, you should type your site description into this field. Even though you've turned off the Front Page Description, it will still show up in the metadata, which can be helpful for optimizing search engine results.

Front Page Format

This setting determines whether the center column of the Front Page shows news items, a list of courses, or a list of course categories. Each setting has its unique advantages.

Show News items

This setting is useful if the content of your site changes frequently, and you want to keep visitors informed. If one of the primary purposes of your Front Page is serving repeat customers, showing news items on the Front Page is a good idea.

The downside is that the list of course categories is now relegated to a side column. If you want the course categories, or courses themselves, to be displayed more prominently, you'll need to use Show a list of categories or Show a list of courses.

Show a List of Categories

This setting is useful if you want to make it easy for your students to find and select a course. It puts the course categories in the center of the Front Page. The drawback is that you no longer have a news section at the center and top for your repeat visitors.

I've added a topic section to the Front Page (this is covered next). The topic section gave me an area where I can add course resources. To this topic section, I added a label. The label consists of the Desert Plants Course Added notice that you see in the screenshot. The label is not as convenient to manage as a news area. However, this method does enable me to get the course categories on the Front Page, while still posting an announcement center top.

Noticethat in the previous screenshot, for Show news items, I chose to keep the course category listing in the left column. Now that I'm showing course categories in the center, the list of categories in the left-hand block became superfluous. Later, we'll cover how to turn blocks off and on for the Front Page.

Show a List of Courses

Notice also that I've added a Main menu in the left column, with links to detailed information about the site, how to use it, and the enrollment/payment page. The welcome message in the right column and the links to detailed information about the site in the left column serves my new visitors. The label (announcement), Desert Plants Course Added and course options Available Courses in the center serve my existing customers.

This setting makes it as easy as possible for students to find the course they're looking for. It can also be a powerful marketing tool. Notice the Image:1299_02_27.pngicon next to each course. Clicking this gives the visitor a description of the course (later in the section on creating courses, you'll see how to enter a course description). If you want to encourage visitors to do this, you could insert another label between the announcement Desert Plants Course Added and the Available Courses section, saying something like, "For a short description of each course, click on the Image:1299_02_27.pngnext to it."

The drawback to using Show a list of courses is that the course list can get very long. You must decide how much tolerance your visitors are likely to have for scrolling and browsing through a long list of courses. Configuration Choices after Installation

You won't be prompted for these configuration choices, but after installation you should look at these settings. You may want to make some choices immediately after installation, and others you may want to delay. All of these settings can be changed later.

Filters

You'll find the Filters settings under Administration | Configuration | Filters. Filters go through all the text that you enter in your courses, and process this text. For the most part, Filters create an automatic link whenever a glossary term or learning resource is mentioned on your site. They also handle special mathematical notation. Read the descriptions below for detailed information about what filters can do for your site.

Auto-Linking Filters

The Auto-linking filters search the text on your site, and automatically link to items when they find an item mentioned in the text. For example, Glossary Auto-linking looks for terms that are in any glossary, and when it finds them links the term to the glossary entry. The term is highlighted, and when a user clicks it, the user is taken to the glossary.

Resource Names Auto-linking searches course text for the names of course resources. When it finds the name of a resource, it links the name to the resource. This means whenever a student sees the name of a document, web page, or other course resource, the student can just click on the name and be taken to the resource. Activity Names Auto‑linking works the same way for course activities. Wiki Page Auto-linking creates a link to a Wiki page whenever the page is mentioned on the site.

Math Filters

Algebra Notation and TeX Notation search the text for special characters used to describe mathematical formulas. For example, if you enter @@cosh(x,2)@@ the Algebra Notation filter will display it as:

If you enter $$ \Bigsum_{i=\1}^{n-\1}$$, the TeX Notation filter will display it as:

Algebra Notation and TeX Notation are standard markup languages. The http://www.moodle.org site contains more information about Algebra Notation. For more information about TeX, see the TeX Users Group at tug.org. TeX is more mature and complete than Algebra Notation. If you plan on writing more complex equations, I suggest making the TeX Notation filter active and leaving the Algebra Notation filter inactive.

Email Protection Filter

Activatingthis filter makes email addresses on the site unreadable to search engines, while keeping them 'human-readable'. If you set opentogoogle to No, or require users to log in, then you probably don't need to worry about search engines automatically picking up your students' email addresses. If your site is open to search engines and anonymous users, then you might want to use this filter to protect the users' email addresses.

Multimedia Plugins

If you leave this filter inactive, then multimedia content will usually play in a separate window. For example, without this filter, when a user clicks on a video, that video might open and play in a separate Windows Media Player or RealPlayer window. By activating this filter, you embed multimedia so that it plays on the page in which it was linked. Multi-Language Content

In the Variables screen, you used the variable langlist to determine which languages, if any, users can select. When a user selects one of these languages, only the Moodle interface is translated. The course content remains in whatever language you created it. If you want your site to be truly multi-lingual, you can also create course content in several languages. Activating the Multi-Language Content filter will then cause the course material to be displayed in the selected language.

To create course content in multiple languages, you must enclose text written in each language in a <span> tag, like this:

Basic Botany
Botnica Bsica

This requires that you write course material in HTML. This can be done for headings, course descriptions, course material, and any other HTML document that Moodle displays.

Filter Uploaded files

Setting this to Yes applies the activated filters to files that teachers and students upload to Moodle. When set to No, Moodle's filters apply only to content created in Moodle.

Backup

You'll find the backup settings under Administration | Configuration | Backup. Most of these settings enable you to choose the type of data that gets backed up. You also choose on which days of the week the backup will automatically run. The backup is activated by the cron job routine (see Installation Step 6: Setting up the Cron Job).

The backups are stored in compressed, or ZIP format. In the Variables page, you indicated if your hosting service has a zip program or if Moodle should use its own, built‑in zip program (see zip and unzip under Installation Step 7d: Specify Site Variables). If you activate automatic backups, and Moodle must use its built-in zip program during the backups, you might see backup failures caused by lack of memory. If you plan on using the backup feature for more than a handful of courses, ensure that your hosting service offers a zip program on its servers. Authentication

Authentication and login are different. Authentication is what happens when a new user signs up for your site, and creates a new Moodle account. Login is when an authenticated user logs into Moodle.

Moodle offers a variety of ways to authenticate users. You'll find them under Administration | Users | Authentication options. Each of the options is explained on that page. This subsection will fill in a few key blanks left by Moodle's explanations.

When you authenticate users with an external database (MySQL, Oracle, etc.), Moodle copies over the username and password from the external database into Moodle's internal database. From then on, when the user logs into Moodle, it uses Moodle's internal database to check the username and password. There is no live link between the external database and Moodle's user database. This means that if the user changes his or her username and password in the external database, the username and password in Moodle is not changed.

When you authenticate users with a server (LDAP, IMAP, etc.), Moodle checks the username and password against that server every time the user logs in. If the user changes his or her password on the server, the user will have that new password in Moodle.

If you authenticate against an external database or an LDAP server, you can have Moodle bring over user information from the database or server. This user information is copied into Moodle at the time of authentication. For example, Moodle can copy over the user's first name, last name, and email address. Once it's copied into Moodle, it is no longer synchronized with the external database.

Enrolment Choices

Enrolment is different from authentication. In authentication, you confirm a user's membership to your site. In enrolment, you grant or confirm a user's access to a course. You have several options for managing student enrolment. They are found under Administration | Users | Enrolments. External Database

You can use an external database to control student enrolment. In this case, Moodle looks in the designated database and determines if the student is enrolled. As of version 1.4, Moodle will not write back to the external database. All changes in the external database are made by another program.

In addition to using the external database, you can also allow Moodle's normal enrolment routine. Checking enrol_allowinternal enables this feature. If you enable internal enrolment in addition the external database, Moodle checks two databases when a student tries to enter a course: the external one, and its internal one.

In the External Database screen, you designate which field in Moodle corresponds to the course name field in the external database. In the example overleaf, you can see the Edit course settings for the Basic Botany course. I've given this course an ID number of 0001. This course ID number will correspond to the same ID number in the external database. To match the field ID number from course settings against the external database, I need to enter the field name for ID number in enrol_localcoursefield.

The temptation is to type ID number into enrol_localcoursefield, since ID number is what you see in the Edit Course Settings screen. Surely that is the field name, right? Well, no. Take look at the Moodle database, in the mdl_course table, and you'll see the real name of this field is idnumber:

Similarly, we would look up the field name for the student's ID number, and enter that into enrol_localuserfield.

Flat File

Theflat file method of student enrolment causes Moodle to read in a text file, or "flat file," and use that as the source for enrolment information. The flat file has this format:

operation, role, ID number of user, ID number of course

where:

  • operation is add or del.
  • role is student, teacher, or teacheredit.
  • ID number of user is the field idnumber from the database table mdl_user.

ID number of course is the field idnumber from the database table mdl_course.

Moodle periodically reads in this file, and modifies its enrolment data according to what the file says. For example, the line

add, student, 0005, WP102

will add the student with the ID number of 0005 to the course with the ID number of WP102.

Place thisfile in a directory that is accessible to your web server. For example, you can put it inside the data directory.

Internal Enrolment

This is the default form of enrolment. When this is selected, there are two ways to enroll a student in a course:

  • A teacher or administrator can enroll the student. From within the course, the teacher selects Students and is taken to the Enroll students screen.
  • The prospective student is supplied with an enrolment key. Using this key, the student can enroll in the course.

Paypal

ThePaypal option enables you to set up paid access to the site, or to individual courses. When you select this option, if you enter a value of zero into enrol_cost, students can access the site for free. If you enter a non-zero amount, students must pay to access the site.

Selecting this option puts an enrol_cost field into the Edit Course Settings screen Wildskills | Administration | Users | Enrolments of every course. Again, entering a non‑zero amount into this field requires students to pay to access the course.

The Paypal payment screen displays a notice that this course requires a payment for entry. It also contains a button labeled Send payment via Paypal. You can modify this screen by modifying the source file at enrol/paypal/enrol.php.

Summary

This tutorial tells you how to make changes to the Variables page. The values you enter on this page affect the behavior of the entire site. The values you enter on the Site settings page affect Moodle's Front Page.

It covers the creation of the database, which is also very important. You need to know the correct amount of disk space and the bandwidth required for the software. It also covers the ways of authenticating Moodle users and how your choice affects the operation of your site.

It also helps you to make the right configuration choices during and after the installation process. You can edit the choices, if you have already made any. The configuration choices that are made during the installation process affect the student and teacher experience in Moodle.

Additional References

  • For instructions on customizing Moodle, click here
  • For instructions on Theming Moodle, click here
  • For instructions on Customizing Moodle Front Page,click here
  • Step-by-step detailed instructions on Installing Moodle in Different Environments,click here
  • For instructions on Updating Moodle,click here
  • For instructions on Configuring Moodle 1.9 for multimedia,click here

Source

The source of this content is Chapter 2: Installing and Configurating Moodle of Moodle E-Learning Course Development by William Rice (Packt Publishing, 2007).

Related Links:

nitric oxide
pos software

Personal tools