Moodle Administration
上QQ阅读APP看书,第一时间看更新

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 have to provide before we can get started.

What is the Best Setup for Me?

There are quite a few 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, you are best hosting your own server. However, if your preferred choice is to administer only your system while somebody else is looking after the operating system, the web server, and backups, you are better off with a professionally hosted setup.

  • Scalability

    This is entirely driven by the number of concurrent users, that is, the number of 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 and is by no means complete:

  • 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 its systems are not optimized for Moodle usage. It 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. It saves you from purchasing servers and providing a 24x7 data connection that caters to your learners' needs. Licensing cost is significantly higher if you use commercial operating systems, web servers, and database systems; but your organization's IT policy might not allow the usage of Linux.

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

We will cover the three most popular operating systems for hosting Moodle, that is, Linux, Windows, and Mac OS. For other setups such as on a memory stick or a larger multi-server cluster, please consult your local Moodle Partner (http://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 have to be satisfied before we can start installing Moodle.

Hardware Requirements

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

  • Disk space

    Moodle takes up between 150 to 200MB 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 the performance. RAIDed disks are recommended, but are not essential on smaller installations.

  • Memory

    The minimum requirement is 256MB for a single-user instance, but more is necessary in a concurrent user setup. A good estimate is to have 1GB of RAM for each 50 concurrent users. You have to double this rule of thumb on Windows-based systems due to the higher overhead of the operating system.

Note

The more the RAM the better, the faster the RAM the better!

  • Network

    While Moodle can run on a standalone machine, its full potential is 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 1.9, you must have the following components up and running on your server:

  • Database

    Moodle supports a number of database systems including MySQL (version 4.1.6 or later), PostgreSQL (version 7.4 or later), Microsoft SQL Server (version 2005 or later), and Oracle (version 8 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 Internet Information Server.

  • PHP

    PHP 4.30 is required to run Moodle 1.9. But it is advisable to use PHP 5.24 or higher, which will be necessary in the forthcoming version 2.0 of Moodle. Also, some experimental features already in Moodle 1.9 such as global search will not work with PHP 4. There are a number of PHP settings that 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 PHP extensions, most of which are compiled into PHP by default.

    • Compulsory extensions: ctype, FreeType 2, and GD library
    • Recommended extensions: curl, iconv, mbstring, tokenizer, and zlib
    • Conditional extensions: mysql, pgsql, odbc (depending on database), ldap, and so on (depending on authentication mechanism used), openssl and xmlrpc (for networking).

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. Once this is the case, we are ready to go.