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.