# Moodle Moodle is an open source learning platform. Deploy is at [moodle.taltech.ee](https://moodle.taltech.ee/my/). Source code is in [github](https://github.com/moodle/moodle). ## Installing moodle Installing [PHP 7.4](https://computingforgeeks.com/how-to-install-php-on-ubuntu/) Installing [MariaDB 10.4](https://computingforgeeks.com/install-mariadb-10-on-ubuntu-18-04-and-centos-7/) Load users: ````mysql CREATE DATABASE moodle CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_general_ci'; CREATE USER 'moodle'@localhost IDENTIFIED BY ''; CREATE USER 'moodle'@'%' IDENTIFIED BY ''; GRANT ALL privileges ON `moodle`.* TO 'moodle'@localhost; GRANT ALL privileges ON `moodle`.* TO 'moodle'@'%'; FLUSH PRIVILEGES; ```` Installing [Moodle 3.9.1](https://docs.moodle.org/310/en/Step-by-step_Installation_Guide_for_Ubuntu) After cloning Moodle and following the steps create a `config.php` file to moodle root directory with contents: ```php dbtype = 'mariadb'; $CFG->dblibrary = 'native'; $CFG->dbhost = 'localhost'; $CFG->dbname = 'moodle'; $CFG->dbuser = 'moodle'; $CFG->dbpass = ''; $CFG->prefix = ''; $CFG->dboptions = array ( 'dbpersist' => 0, 'dbport' => 3306, 'dbsocket' => '', 'dbcollation' => 'utf8mb4_general_ci', ); $CFG->wwwroot = 'http://'; $CFG->dataroot = '/var/moodledata/'; $CFG->admin = 'admin'; $CFG->directorypermissions = 02777; require_once('lib/setup.php'); // There is no php closing tag in this file, // it is intentional because it prevents trailing whitespace problems! ``` Then run ```shell script chmod -R 777 /var/moodledata/ sudo systemctl restart apache2 ``` ## Moodle plugins [Charon plugin](charon/index.md) connects [Arete](../arete/index.md) with Moodle.