Technoracle
    Facebook Twitter Instagram
    • Sitemap
    • Privacy Policy
    • Disclaimer
    • Term of Services
    Facebook Twitter Instagram Pinterest Vimeo
    TechnoracleTechnoracle
    • Tutorials
      • Amazon Cloud
      • Google Cloud
    • How To
    • Blog
    • About
    Subscribe
    Technoracle
    Home»How To»How to Install Moodle on Ubuntu 22.04
    How To

    How to Install Moodle on Ubuntu 22.04

    Rajesh ShivamBy Rajesh ShivamMarch 29, 2022Updated:March 30, 2022No Comments5 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Install Moodle on Ubuntu
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Moodle is a learning platform designed to provide educators, administrators, and learners with a single robust, secure and integrated system. It provides personalized learning environments to the user. In this article, I will share step by step guide to install Moodle on Ubuntu 22.04 EC2 instance.

    Page Contents

    • Moodle Installation on AWS EC2 Ubuntu instance
      • Prerequisites
      • Installation steps of Moodle on AWS EC2
        • Step 1: SSH into the EC2 Instance to Install Moodle Dependencies
        • Step 2: Download Moodle and Install
        • Step 3: Create Database for Moodle Installation
        • Step 4: Create a Apache Virtual Host
        • Step 5: install Moodle on Ubuntu via Browser.
      • Possible Error During Installation
      • Conclusion

    Moodle Installation on AWS EC2 Ubuntu instance

    Prerequisites

    • Ubuntu 20.04
    • Primary Memory(RAM) 1 GB and minimum 200MB disk space.
    • LAMP stack installed.

    Installation steps of Moodle on AWS EC2

    Before installing Moodle on Ubuntu AWS EC2 instance, make sure LAMP is already setup. Also map the domain mapped with domain manager.

    Step 1: SSH into the EC2 Instance to Install Moodle Dependencies

    First, connect EC2 instance using SSH and update the software packages by following command.

    $ sudo apt update

    Before installing dependencies please check your server PHP version. To check the PHP version run the following command.

    $ php -v

    Ubuntu 20.04 install PHP 8 by default. So, If you are installing Moodle on Ubuntu 20.04, make sure to install PHP 7.4 as Moodle 3.0 supports up to PHP 7.4

    As my PHP version is 7.4, I need to install PHP 7.4 extensions. Now, install the Moodle dependencies by the following commands.

    $ sudo apt install graphviz aspell ghostscript clamav php7.4-pspell php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-ldap php7.4-zip php7.4-soap php7.4-mbstring

    Now, restart apache by the following command.

    $ sudo systemctl restart apache2

    Step 2: Download Moodle and Install

    You can download Moodle from the official site or you can also clone the updated Moodle version from the git repository.

    Download Moodle from Official Website

    To download the moodle, browse the official site and navigate to the download section. Right-click on the download button to copy the download URL.

    $ sudo wget https://download.moodle.org/download.php/stable311/moodle-latest-311.tgz 

    Now, extract tgz file using the following command.

    $ sudo tar -zxvf moodle-latest-311.tgz

    After extracting the tarball, move the Moodle directory to the webserver document root.

    $ sudo tar -xvzf moodle-latest-311.tgz -C /var/www/html

    Create a new directory inside the document root.

    $ mkdir /var/www/html/moodledata

    Now, adjust file permission as below

    $ sudo chown -R www-data:www-data /var/www/html/moodle/
    $ sudo chmod -R 755 /var/www/html/moodle/
    $ sudo chown www-data /var/www/html/moodledata

    Clone the Moodle GitHub repository

    If you want to clone the Github repository, open the terminal and run the below command to install Git on Ubuntu 20.04

    $ sudo apt install git

    Now clone Moodle from the Git repository by the following command.

    $ sudo git clone git://git.moodle.org/moodle.git
    $ cd moodle

    Now retrieve a list of each branch available by the following command.

    $ sudo git branch -a

    Now, tell git to track the branch which you are going to use.

    $ sudo git branch --track MOODLE_39_STABLE origin/MOODLE_39_STABLE

    Now check out with Moodle version.

    $ sudo git checkout MOODLE_39_STABLE

    Now, copy all the files to the document root

    $ sudo cp -R /home/ubuntu/moodle /var/www/html/
    $ sudo mkdir /var/www/moodledata
    $ sudo chown -R www-data:www-data /var/www/moodledata
    $ sudo chmod -R 777 /var/www/moodledata

    After installation, change the permissions to 0755.

    $ sudo chmod -R 755 /var/www/html/moodle

    Step 3: Create Database for Moodle Installation

    To create a database. First, log in to the MySQL console using the following command.

    $ mysql -u root -p

    Type password for MySQL login and hit Enter on the keyboard. After login in to the MySQL console, run the following command to create a database.

    mysql> CREATE DATABASE moodle;

    Now, it’s up to you, whether you want to create a separate user for Moodle or not. If you create Moodle database user, run the following command.

    mysql> CREATE USER  'moodle'@'localhost'  IDENTIFIED BY  'new_password_here';

    Grant permission to the Moodle user to access, modify, delete the database, etc.

    mysql> GRANT ALL ON moodle.* TO '[email protected]' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
    mysql> FLUSH PRIVILEGES;
    mysql> EXIT;

    Step 4: Create a Apache Virtual Host

    We will create a virtual host called moodle.conf.  To create a virtual host, run the following command.

    $ sudo vi /etc/apache2/sites-available/moodle.conf

    Add the following line to the file and saved it.

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/moodle/
    ServerName example.com
    ServerAlias www.example.com
    
    <Directory /var/www/html/moodle/>
    Options +FollowSymlinks
    AllowOverride All
    Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    </VirtualHost>

    Next, enable the apache virtual host.

    $ sudo a2enmod rewrite
    $ sudo a2ensite moodle.conf

    Finally, restart the apache to make the changes work.

    Step 5: install Moodle on Ubuntu via Browser.

    Now, launch your browser, and continue with the installation.

    server_IP/moodle

    An installation screen will appear. Click on Next

    Now, confirm the installation path, and click Next again.

    Choose database driver.

    Possible Error During Installation

    Parent directory (/var/www) is not writeable. Data directory (/var/www/moodledata) cannot be created by the installer.

    To fix the above error, you have to give ownership to the document root by the following command.

    $ sudo chown -R www-data:www-data /var/www

    Conclusion

    In this tutorial, you have learned to install Moodle on Ubuntu. If you have any doubt, feel free to comment below. Also, you can join our elite Facebook group to get direct help from me. If you like this article, please share this article on your social media handle.

    moodle installation ubuntu tips
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleHow to Check Ubuntu Version from Command Line Easily
    Next Article How to Install PrestaShop on Ubuntu 20.04 Easily
    Rajesh Shivam

    Hello, everyone, I am Rajesh Shivam, I am a full-time freelancer with more than seven years plus experience in different freelancing platforms, in this blog, I am going to provide complete freelancing tips and tricks.

    Related Posts

    How To

    How to Install Microsoft Teams on Ubuntu 22.04 Easily

    February 22, 2023
    Read More
    How To

    What is Elastic IP and Its Pricing in AWS

    February 22, 2023
    Read More
    How To

    How to Convert PEM to PPK file [Step by Step Guide]

    February 22, 2023
    Read More
    Add A Comment

    Leave A Reply Cancel Reply

    Facebook Twitter Instagram Pinterest
    © 2023 Technoracle

    Type above and press Enter to search. Press Esc to cancel.

    Go to mobile version