Moodle is a free open-source learning management system (LMS) that provides educators and learners a simple, secure integrated learning platform. This article explains how to install Moodle on a Rocky Linux server instance.
Log in to MySQL.
$ mysql -u root
Create a new database.
MariaDB [(none)]> create database moodledb;
Create a new database user with a strong password.
CREATE USER 'user'@'localhost' IDENTIFIED BY 'replace-this-with-a-strong-password';
Grant the user full rights to the database.
GRANT ALL PRIVILEGES ON moodledb.* TO 'user'@'localhost';
Refresh the privileges.
Exit the console.
Install the extensions required for Moodle.
$ sudo dnf install php-mysqlnd php-gd php-intl php-xmlrpc php-soap php-opcache php-sodium
Download the latest Moodle stable version. In this article, you'll install version 3.11.
$ wget https://download.moodle.org/stable311/moodle-latest-311.tgz
Extract the downloaded file.
$ tar -xvf moodle-latest-311.tgz
Move all extracted files to your web server root directory, by default
/var/www/html/ is used by
$ sudo mv moodle/* /var/www/html/
Change ownership to the user and group
$ sudo chown -R apache:apache /var/www/html/
Now, it’s time to launch the Moodle web installer, visit your public Server IP to get started.
Choose a language,
English (en) is selected by default, click next, and confirm installation paths.
A new directory named
/moodledata will be auto created to the
/var/www directory, be sure that apache has read and write permissions to it.
Next, select your database server, from the drop-down list, choose
MariaDB. Then, enter the database information you created on Step 1 of this article.
Click continue to confirm
Moodle conditions and proceed with server checks to confirm if your server meets all minimum requirements.
Finally, click continue to begin the Moodle installation process, it will take between 1-2 minutes to complete.
On the Installation page, configure Moodle with an administrator username, password, email address, display name, country to set up the first system account.
Next, set up your Moodle front page and save changes to directly login to the backend dashboard.
Finally, complete your site registration and click register your site to complete the configuration process.
To secure your Moodle installation for production use, delete the installation script
install.php. Also, use strong passwords for administrative users to avoid any potential attacks on your server.
404 not found
By default, SE Linux is enabled on Rocky Linux and may limit access to files from the webroot directory.
Exclude the webroot directory by running the following command.
$ sudo chcon -R -t httpd_sys_content_t /var/www/html
Can’t create directory
Exclude the /var/www from the SE Linux policy
$ sudo chcon -R -t httpd_sys_content_t /var/www
Or, temporarily turn off SE Linux if the error persists with the following command.
$ sudo getenforce
$ sudo setenforce 0
In this article, you have successfully installed Moodle on a Rocky Linux server. You can further build your learning management system with custom themes and other features available from the backend dashboard.