This wiki was updated to MediaWiki 1.37. If you notice any issues, please report them to admin[at]


Jump to: navigation, search


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 University with 200,000 students. This site itself is created using Moodle, so check out the Moodle Demonstration Courses or read the latest Moodle Buzz.

Developer: Martin Dougiamas
License: GNU GPLv2

Moodle is a Course Management System


Moodle is a software package for producing internet-based courses and web sites. It's an ongoing development project designed to support a social constructionist framework of education.

Moodle is provided freely as Open Source software (under the GNU Public License). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: provide the source to others; not modify or remove the original license and copyrights, and apply this same license to any derivative work. Read the license for full details and please contact the copyright holder directly if you have any questions.

Moodle can be installed on any computer that can run PHP, and can support a SQL type database (for example MySQL). There are many knowledgable Moodle Partners to assist you, even host your Moodle site.

The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists. It's also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.


Moodle itself can be installed using YaST - just select the moodle package (the adequate language package should be installed automatically, but you can select other languages, too). In the next steps, we use a mysql database on the same host with moodle. If you like to choose another database or another host for your database, please have a look at the Moodle database forum.

Creating the database for moodle

Start mysql (rcmysql start) and create a database for Moodle as root:

   # mysql -u root -p
   or (if you havn't set the mysql-password):
   # mysql -u root
   mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
   mysql> flush privileges;
   mysql> quit

Choose a good password for your "moodleuser" and enter it instead of the 'passwd' above.

Start Apache

Start apache (rcapache2 start).

The apache config file for moodle is stored in /etc/apache2/conf.d/moodle_include.conf. The delivered config allows file uploads up to 16MB - if this is not what you want, you can edit the following values:

       php_value upload_max_filesize 16M
       php_value post_max_size 16M

Some images do not display when using moodle because they use symbolic links, the moodle_include.conf installed by the moodle package does not have FollowSymlinks turned on. To fix this you need to change the Options value in /etc/apache2/conf.d/moodle_include.conf:


       <Directory /srv/www/moodle>
          Options none


       <Directory /srv/www/moodle>
          Options FollowSymLinks

Browser based installation

Up with moodle 1.8.4 there is no special SuSE install script any more. SuSE just recommends to move the generated moodle config file to /etc/moodle/ to make the application a bit more secure (see below).

Now open the following URL in a browser on your host: http://localhost/moodle/

  • Select your language
  • Check the PHP settings (should all be green)
  • Enter the correct webaddress of your host (normally moodle detects this automatically).
  • The prepared datadir is /srv/www/moodledata
  • Enter your database settings: If you've prepared the database as described in 1, please enter:
    • Database: moodle
    • User: moodleuser
    • Password: passwd
  • Check aditional server settings (should all be green)
  • Download/Update your language pack (this should normally not be necessary as you can install the rpm for your language).
  • Copy and paste the config.php file. You have two options now:
    • Create a new file /srv/www/moodle/config.php (This is the upstream way and should work.)
    • Create/Replace the file /etc/moodle/moodle-config.php (This is the prefered openSUSE way. So your settings including passwords, etc. are stored outside of the webservers root directory.) Afterwards, you should rename the file: /srv/www/moodle/config-suse.php to /srv/www/moodle/config.php
      (# mv /srv/www/moodle/config-suse.php /srv/www/moodle/config.php)
  • Accept the license
  • Read the Release Notes. (You can enable the "unattended" checkbox and moodle will create/update the needed database tables for you.)
  • Configure moodle to your needs

Now you should be able to edit your admin account for moodle (this is NOT the root account of your machine!), edit your sites name and description and start with your new moodle site.