Untuk memulai menginstall moodle di ubuntu, ikuti langkah-langkahnya dibawah ini:
1. Install Nginx HTTP Server

Moodle membutuhkan web server agar berfungsi, dan Nginx adalah salah satu web server opensource paling populer yang ada saat ini.

Untuk menginstal Nginx di Ubuntu, jalankan perintah di bawah ini:

sudo apt update

sudo apt install nginx

Setelah menginstal Nginx, perintah di bawah ini dapat digunakan untuk stop, start dan enable service Nginx.

sudo systemctl stop nginx.service

sudo systemctl start nginx.service

systemctl enable nginx.service

Untuk menguji apakah Nginx berhasil diinstal dan berfungsi, buka browser kalian dan ketikkan alamat IP server atau nama host.


2. Install MariaDB Database Server

Kalian juga harus menginstall dataabase server untuk menjalankan Moodle. Database server adalah tempat konten Moodle disimpan.

MariaDB adalah salah satu database yang cocok untuk moodle. Selain itu cepat, aman dan ringan digunakan di Linux.

Untuk menginstal MariaDB, jalankan perintah di bawah ini:

sudo apt-get install mariadb-server mariadb-client

Setelah menginstal MariaDB, perintah di bawah ini dapat digunakan untuk stop, start dan enable service MariaDB.

sudo systemctl stop mariadb.service

sudo systemctl start mariadb.service

systemctl enable mariadb.service

Selanjutnya jalankan perintah dibawah ini untuk mengatur database server. Seperti mengatur kata sandi root. Ikuti panduan dibawah ini jika pertanyaan selama instalasi.

  • Enter current password for root (enter for none): Tekan Enter

  • Set root password? [Y/n]: Y

  • New password: Masukkan Password

  • Re-enter new password: Ulangi Password

  • Remove anonymous users? [Y/n]: Y

  • Disallow root login remotely? [Y/n]: Y

  • Remove test database and access to it? [Y/n]: Y

  • Reload privilege tables now? [Y/n]: Y

Untuk memastikan database sudah berhasil diisntall, masuk ke konsole database dengan menggunakan perintah dibawah ini.

sudo mysql -u root -p

Kemudian masukkan password kalian jika diminta.

Selanjutnya, jalankan perintah di bawah ini untuk membuka file konfigurasi default MariaDB.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Tambahkan script dibawah ini.

innodb_file_format = Barracuda

innodb_file_per_table = 1

innodb_large_prefix = ON

Kemudian restart service MariaDB kalian.

sudo systemctl restart mariadb.service

3. Install PHP 7.4 dan Modul Terkait

Moodle adalah aplikasi berbasis PHP, dan PHP diperlukan untuk menjalankannya. Karena beberapa versi Ubuntu tidak memiliki versi PHP terbaru, kalian dapat menambahkan repositori PPA pihak ketiga untuk menginstal PHP dari sana.

Perintah di bawah ini digunakan untuk menambahkan PPA pihak ketiga ke Ubuntu.

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ondrej/php

Kemudian update dan upgrade versi PHP kalian.

sudo apt update

Jalankan perintah dibawah ini untuk menginstall PHP 7.4 dan modul terkait.

sudo apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-soap php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip

Setelah menginstal PHP 7.4, buka dan konfigurasikan beberapa pengaturan dasar yang mungkin diperlukan agar Moodle berfungsi dengan baik.

Jalankan perintah dibawah untuk membuka pengaturan PHP.

sudo nano /etc/php/7.4/fpm/php.ini

Berikut adalah contoh pengaturan yang tepat untuk dikonfigurasikan untuk web Moodle.

file_uploads = On

allow_url_fopen = On

short_open_tag = On

memory_limit = 256M

cgi.fix_pathinfo = 0

upload_max_filesize = 100M

max_execution_time = 360

date.timezone = Indonesia/Jakarta

4. Buat Database Untuk Moodle

Ketika semua paket diatas sudah diinstall, langkah selanjutnya adalah membuat database kosongan.

Login ke MariaDB konsole menggunakan perintah dibawah ini.

sudo mysql -u root -p

Kemudian buat database dengan nama moodle.

CREATE DATABASE moodle;

Selanjutnya buat user database dengan nama moodleuser dan atur passwordnya.

CREATE USER ‘moodleuser’@’localhost’ IDENTIFIED BY ‘masukkan_password’;

Kemudian beri user hak akses penuh ke database.

FLUSH PRIVILEGES;

EXIT;

5. Download Moodle Terbaru

Langkah selanjutnya dalah mendownload moodle. Gunakan perintah dibawah ini untuk mendownload moodle versi terbaru. Saat ini versi terbaru moodle adalah 38.

sudo apt install git curl

Setelah menginstal git dan curl di atas, ubah ke direktori root Nginx dan unduh paket Moodle dari Github.

cd /var/www/

sudo git clone -b MOODLE_311_STABLE git://git.moodle.org/moodle.git moodle

Beri permission untuk folder moodle agar dapat berjalan dengan baik.

mkdir -p /var/www/moodledata

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

chmod -R 755 /var/www/

chown www-data:www-data /var/www/moodledata

6. Konfigurasi VirtualHost Nginx

Di bawah ini adalah tempat Anda mengonfigurasi file Nginx VirtualHost untuk situs Moodle yang Anda buat. File ini untuk mengatur letak direktori file web dan url.

Jalankan perintah di bawah ini untuk membuat file VirtualHost baru dengan nama moodle di direktori /etc/nginx/sites-available.

sudo nano /etc/nginx/sites-available/moodle

Pengaturan konfigurasi yang digunakan sebagian besar situs Moodle di server Nginx ada di bawah ini. Konfigurasi ini seharusnya bekerja dengan baik.

Salin konten di bawah ini dan simpan ke dalam file yang dibuat di atas.

server {

    listen 80;

    listen [::]:80;

    root /var/www/moodle;

    index  index.php index.html index.htm;

    server_name  example.com www.example.com;

 

    client_max_body_size 100M;

    autoindex off;

    location / {

        try_files $uri $uri/ =404;

    }

 

    location /dataroot/ {

      internal;

      alias /var/www/moodledata/;

    }

 

    location ~ [^/].php(/|$) {

        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/run/php/php7.4-fpm.sock;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

    }

}

Kemudian simpan dan keluar.

Setelah menyimpan file di atas, jalankan perintah di bawah ini untuk mengaktifkan situs baru, kemudian restart server Nginx.

sudo ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/

sudo systemctl restart nginx.service

Setelah proses diatas sudah dilakukan, moodle kalian sudah bisa diakses. Kalian bisa mengaksesnya di browser dengan mengetikkan ip atau hostname.