One of the recurring questions in Moodle forums is people asking for advice on where to host their Moodle site. In this blog entry I will discuss technical considerations for choosing a Moodle hosting provider.
While some providers are very inexpensive, they are not designed to manage the load of concurrent users. When a number of concurrent users utilize the system (sometimes it is as low as 10 concurrent users), Moodle runs very slow and students become frustrated.
When choosing the right environment for your site, it is important to note how many students will be working on the same platform, and more importantly how many people do you expect to be accessing the site concurrently. This will help you determine the hardware requirements for your site.
The first consideration is what version of Moodle you will be hosting. You need to know what the prerequisites for the infrastructure are for each version of Moodle. This is documented in the technical directions for each version.
Moodle runs best on a LAMP standard infrastructure (Linux, Apache, MySQL and PHP). It is important that your hosting provider is dedicated to providing optimal Moodle hosting experiences for your organization and will update the correct versions of LAMP to meet the requirements of future Moodle updates.
It is also important that you are able to configure , MySQL and PHP to meet the requirements of our version of Moodle you are running. Many hosting providers do not allow this.
We recommend that Moodle be hosted on a Linux server. While, Moodle can be installed on a Windows server, the performance will not be as good as on a Linux server.
One of the biggest problems people run into is that their hosting provider has not updated php to version 5.3.2 or higher which is required for versions Moodle 2.0 and higher. Moodle also requires a specific configuration of PHP, which many hosting providers to not support.
Moodle needs to have a number of php libraries activated. Activation of these libraries is very simple and is done by modifying the php.ini file. However, a lot of hosting providers will not allow users access to this. It is important that your server configuration allows for changes to the configuration of PHP.
Location of the Moodledata Folder
The file folder moodledata should not be located in the public folder, but outside of the public folder. This can lead to a lot of future problems, especially if you choose to migrate your site to a different server in the future.
Compression of Files
Make sure your control panel allows you to compress files larger than 20 megabytes. The reason this is important is because if you change hosting providers you have to do it all by SSH which requires expert knowledge of Linux .
Provider Dedicated to Moodle
We recommend that you choose a hosting provider that is dedicated to Moodle. One reason as discussed above, is that the environment will be configured to Moodle’s requirements.
Another reason is to avoid the competition of resources on the server. For example if your Moodle provider hosts more than Moodle you may be competing for the use of streaming video applications, videoconferencing or photography catalogs, which devour the resources of the server and will not let your Moodle run at optimum performance.
In summary, below is a checklist of items to think about when choosing a Moodle hosting provider:
√ How many total users will you have?
√ How many concurrent users will you have at peak times?
√ What version of Moodle will you be running?
√ Does the server have a LAMP (Linux, Apache, MySQL and PHP) infrastructure?
√ Will you have the ability to configure MySQL and PHP for the Moodle version you are running?
√ Does it include PHP version 5.3.2 or higher?
√ Are you able to activate PHP libraries?
√ Is the moodledata folder located outside of the public folder?
√ Are you able to compress files larger than 20 MB?
√ Is the environment dedicated to only Moodle and not share hosting with streaming video applications, videoconferencing or photography catalog?