Book Image

Moodle 2 Administration

Book Image

Moodle 2 Administration

Overview of this book

Moodle has evolved from an academic project to the world's most popular virtual learning environment. During this evolution, its complexity has risen dramatically and so have the skills that are required to administer the system.Moodle 2 Administration is a complete, practical guide to administering Moodle sites. It covers how to set up Moodle in any learning environment, configuration and day-to-day admin tasks, as well as advanced options for customizing and extending Moodle.The author, who has been administering systems for over 20 years, has adopted a problem-solution approach to bring the content in line with your day-to-day operations. The practical examples will help you to set up Moodle for large groups and small courses alike. This is a one-stop reference for any task you will ever come across when administering a Moodle site of any shape and size.
Table of Contents (24 chapters)
Moodle 2 Administration
Credits
About the Author
About the Reviewers
www.PacktPub.com
PacktLib.PacktPub.com
Preface

Moodle installation an overview


Before we start installing Moodle, you have to decide which setup is right for your organization. Once you have come to a conclusion, there are a number of prerequisites that you will need before we can get started.

Choosing the best setup

There are a number of different environments in which you can set up Moodle. The three main criteria that should dictate the choice of the correct setup are:

  • Flexibility: If you want to have full control over your system, be able to tweak system settings, and make frequent changes to the setup, then you are best off hosting your own server. However, if your preferred choice is to only administer your system while somebody else is looking after the operating system, the web server, and backups, then you are better off with a professionally-hosted setup, and particularly offerings provided by authorized Moodle Partners.

  • Scalability: This is entirely driven by the number of concurrent users; that is, the number of active learners and teachers logged in to Moodle at the same time. A Moodle on a USB memory stick or on a single-processor desktop computer will not be able to cope with hundreds of simultaneously logged-in users. A load-balanced cluster, on the other hand, would be overkill for a small institution with a handful of learners. The following table provides some indicative setups for different types of educational organizations but is by no means complete:

    Organization

    Likely setup

    Single instructor

    Desktop, laptop, memory stick

    Small school/company

    Shared server

    Large school/company

    Dedicated server

    Medium to-large college

    Dedicated application and database servers

    University/corporate

    Load-balanced cluster

    Organizations require a server (either dedicated or shared) that is either hosted in-house or externally. If you decide to go down the hosted route, it is highly recommended to avoid a "cheap hosting" package, as their systems are not optimized for Moodle usage. This will have a significant impact on the performance of the system, especially with an increasing number of users.

  • Cost: Budgetary constraints will certainly play an important role in your setup. Unless you already have the appropriate infrastructure in place, it is likely to be more cost-effective to host your Moodle system externally, as it saves you from having to purchase servers and provide a 24/7 data connection that caters to your learners' needs. Licensing cost is significantly higher if you use commercial operating systems, web servers, and database systems, instead of an open source solution. Either way, Moodle is designed to support a wide range of possible infrastructures suitable to your organization's IT policy needs.

In addition to these three key criteria that usually influence the decision about the underlying infrastructure, there are other factors that will have an impact on your decision, such as in-house expertise, compatibility with other systems, personal preference, and existing resources.

We will cover the three most popular operating systems for hosting Moodle Linux, Windows, and Mac OS. For other setups such as on a memory stick, in a virtualized environment, or a larger multiserver cluster, please consult your local Moodle Partner (www.moodle.com). Some hosting companies offer quick one-click installations (often via the Fantastico installer, which usually doesn't contain the latest version). While the resulting Moodle system is sufficient for experimental sites, it is certainly unsuitable for production environments.

Moodle prerequisites

There are a number of hardware and software requirements that must be installed before we can start installing Moodle.

Hardware requirements

These requirements apply if you host Moodle yourself or if it is hosted on an external server (shared, virtual, dedicated, or clustered). On cheaper hosting packages, the hardware configuration is often insufficient to run Moodle efficiently.

  • Disk space: Moodle takes up between 150 and 200 MB of disk space. However, this only provides you with an empty system and does not take into account the space you require for any learning resources. The faster the disks, the better. RAIDed disks are recommended, but are not essential on smaller installations.

  • Memory: The (absolute) minimum requirement is 256 MB for a single-user instance, but more is necessary in a multiuser setup. A good rule of thumb is to have 1 GB of RAM for every 30-50 concurrent users. You have to double this calculation on Windows-based systems due to the higher overhead of the operating system.

Note

The more RAM the better. The faster the RAM the better.

  • Network: While Moodle can run on a standalone machine, its full potential lies in a networked environment. A fast network card is essential, as is good upload and download speed if the VLE is accessed over the Internet.

Software requirements

For Moodle 2, you must have the following components up and running on your server:

  • Database: Moodle officially supports four database systems: MySQL (version 5.0.25 or later; the ACID-compliant InnoDB storage engine is highly recommended), PostgreSQL (version 8.3 or later), Microsoft SQL Server (version 2005 or later), and Oracle (version 10.2 or later).

  • Web server: Apache is the preferred web server option, but Moodle works well with any other web server that supports PHP, such as Microsoft IIS.

  • PHP: PHP 5.3.3 is required to run Moodle 2. There are a number of PHP settings which you might have to change in the php.ini or the .htaccess file (see http://docs.moodle.org/en/Installing_Moodle for more details).

  • PHP extensions: Moodle makes use of a number of extensions, most of which are compiled into PHP by default. They are as follows:

    • Compulsory extensions: iconv, curl, ctype, zip, simplexml, spl, pcre, dom, xml, and json

    • Recommended extensions: intl, mbstring, openssl, tokenizer, xmlrpc, soap, and gd

    • Conditional extensions: mysql, pgsql, odbc (depending on database) and ldap, ntlm, and so on (depending on authentication mechanism used)

Depending on your specific setup, additional software and hardware might be required. It is assumed that the database, web server, PHP, and its extensions have been installed correctly, as this is not a VLE administrator task. Once this is the case, we are ready to go.

Note

Internet Explorer 6 is not supported by Moodle. A modern web browser (Internet Explorer 7+, Firefox 3+, Google Chrome, or Safari 3+) is required to access Moodle.