Cara Memasang Platform Pembelajaran Moodle di Ubuntu 20.04


Moodle adalah platform manajemen pembelajaran online (e-learning) yang paling populer, tangguh, gratis, dan bersumber terbuka, yang dibuat untuk web dan seluler. Ini menawarkan berbagai kegiatan dan alat pendidikan yang memungkinkan sekolah, universitas, dan institusi terkait menawarkan platform pembelajaran yang fleksibel kepada siswa kapan saja, di mana saja, tanpa mengganggu kursus dan kurikulum mereka.

Beberapa fitur umumnya mencakup antarmuka yang modern dan mudah digunakan, dasbor yang dipersonalisasi, alat dan aktivitas kolaboratif, kalender lengkap, manajemen file yang mudah digunakan, editor teks intuitif sederhana, pemberitahuan, dan melacak kemajuan.

Yang penting, Moodle juga sangat dapat diperluas menggunakan lebih dari seribu plugin yang mendukung aktivitas tambahan, blok, tema, dan banyak lagi.

Dalam artikel ini, Anda akan mempelajari cara menginstal versi terbaru Platform Pembelajaran Moodle dengan NGINX dan database MySQL/MariaDB di Ubuntu 20.04 dan versi yang lebih lama.

Persyaratan Server:

  • Server Ubuntu 20.04 yang baru diinstal dengan LEMP Stack diinstal.

Setelah Anda menginstal tumpukan LEMP di server Ubuntu, Anda dapat melanjutkan lebih jauh untuk menyiapkan Moodle di server seperti dijelaskan di bawah.

Di halaman ini

  • Menyiapkan DNS Record untuk Aplikasi Moodle
  • Menginstal Moodle di Server Ubuntu
  • Konfigurasi NGINX untuk Melayani Aplikasi Moodle
  • Menyelesaikan Instalasi Moodle melalui Web Installer
  • Aktifkan HTTPS pada Aplikasi Moodle Menggunakan Let’s Encrypt

Menyiapkan DNS Record untuk Aplikasi Moodle

1. Agar pengguna dapat mengakses instance Moodle Anda, Anda perlu membuat subdomain untuk instance tersebut, oleh karena itu, Anda perlu membuat DNS Rekor untuk mencapai hal ini. Untuk panduan ini, domain pengujian kita adalah testprojects.me, jadi kita perlu membuat subdomain, misalnya learning.testprojects.me.

Jadi, masuk ke konsol web pencatatan domain Anda dan akses pengaturan lanjutan domain Anda, klik Tambahkan Catatan Baru jenis A, host seharusnya belajar (atau kata apa pun pilihan Anda), dan nilainya harus berupa alamat IP publik server Ubuntu Anda.

Menginstal Moodle di Server Ubuntu

2. Selanjutnya, Anda perlu menginstal ekstensi dan pustaka PHP yang diperlukan oleh Moodle menggunakan manajer paket yang tepat seperti yang ditunjukkan.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Selanjutnya, buatlah database untuk sistem Moodle Anda. Masuk ke shell administrasi basis data MySQL dan buat basis data seperti yang ditunjukkan:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Seperti disebutkan sebelumnya, untuk panduan ini, kami akan mengunduh dan menginstal Moodle versi terbaru (versi 3.9 pada saat penulisan). Jalankan perintah wget berikut untuk mengambil paket Moodle dan gunakan perintah tar untuk mengekstraknya masing-masing. Kemudian gunakan perintah ls untuk mengonfirmasi bahwa direktori moodle ada di bawah /var/www/html/ seperti yang ditunjukkan.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Selanjutnya, atur izin yang sesuai pada direktori Moodle dengan menjalankan perintah berikut.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Selanjutnya, buat direktori data Moodle, tempat Moodle dapat menyimpan file yang diunggah dan mengatur izinnya seperti yang ditunjukkan.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Kemudian buat file konfigurasi utama Moodle dari contoh file konfigurasi yang disediakan bersama paket, buka.

cd /var/www/html/moodle/
sudo cp config-dist.php config.php
sudo vim config.php

Cari bagian konfigurasi database, lalu konfigurasikan database tempat semua data Moodle akan disimpan, seperti yang ditunjukkan pada gambar layar berikut:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Juga, konfigurasikan lokasi situs web Moodle serta lokasi direktori data Moodle seperti yang ditunjukkan.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Simpan, tutup file. Kemudian konfigurasikan NGINX untuk server situs Moodle Anda seperti dijelaskan di bagian berikutnya.

Konfigurasi NGINX untuk Melayani Aplikasi Moodle

8. Agar NGINX dapat mengserver situs Moodle Anda, Anda perlu membuat konfigurasi blok server baru di bawah konfigurasi NGINX, di direktori /etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Copy pastekan konfigurasi berikut ke dalamnya, ganti learning.testprojects.me dengan subdomain Anda. Selain itu, direktif fastcgi_pass harus mengarah ke alamat di mana PHP-FPM menerima permintaan FastCGI (periksa /etc/php/7.4/fpm/pool.d/www.conf file untuk informasi lebih lanjut).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Simpan file dan tutup.

9. Selanjutnya, verifikasi bahwa konfigurasi NGINX sudah OK setelah melakukan perubahan di atas, lalu mulai ulang layanan NGINX dengan baik.

sudo nginx -t
sudo systemctl reload nginx

Menyelesaikan Instalasi Moodle melalui Web Installer

10. Sekarang buka browser web dan navigasikan menggunakan subdomain Anda, misalnya, learning.testprojects.me untuk mengakses pemasang web Moodle.

http://learning.testprojects.me

Setelah halaman selamat datang dimuat, baca pesannya, klik Lanjutkan.

11. Selanjutnya, penginstal akan memeriksa apakah sistem Anda memenuhi persyaratan, jika semuanya baik-baik saja, gulir ke bawah dan klik Lanjutkan untuk memulai instalasi file sebenarnya dan menyiapkan database skema.

Perhatikan bahwa penginstal akan menampilkan peringatan tentang situs yang tidak berjalan di HTTPS, abaikan saja peringatan tersebut untuk saat ini. Pada bagian terakhir, kita akan membahas cara mengaktifkan HTTPS di Moodle menggunakan sertifikat Let's Encrypt gratis.

Setelah instalasi selesai, klik Lanjutkan.

12. Selanjutnya, konfigurasikan akun administrator situs Moodle Anda dengan membuat nama pengguna akun, kata sandi, nama depan dan nama belakang, serta alamat email. Lalu gulir ke bawah dan klik Perbarui Akun.

13. Selanjutnya, konfigurasikan pengaturan halaman depan situs Moodle seperti yang ditunjukkan pada gambar layar berikut. Lalu gulir ke bawah dan klik Perbarui.

14. Pemasang web akan secara otomatis memasukkan Anda ke situs Moodle yang baru. Anda dapat menyelesaikan pendaftaran situs Anda dengan mengikuti petunjuk di layar.

Menyiapkan HTTPS pada Aplikasi Moodle Menggunakan Let’s Encrypt

15. Untuk melindungi situs Moodle Anda, Anda perlu mengaktifkan HTTPS. Untuk panduan ini, kami akan menggunakan sertifikat SSL/TLS Let's Encrypt yang gratis dan tepercaya. Keuntungan lain menggunakan Let's Encrypt adalah otomatis.

Jadi, kembali ke terminal Anda dan jalankan perintah berikut untuk menginstal certbot di Ubuntu (alat sumber terbuka gratis untuk secara otomatis menggunakan sertifikat Let's Encrypt untuk mengaktifkan HTTPS di situs yang dikelola secara manual).

sudo snap install --classic certbot

16. Kemudian jalankan perintah berikut untuk mendapatkan sertifikat dan minta Certbot mengedit konfigurasi NGINX Anda untuk mengonfigurasi sertifikat baru secara otomatis.

sudo certbot --nginx

17. Selanjutnya, kembali ke file konfigurasi situs Moodle.

sudo vim /var/www/html/moodle/config.php 

dan ubah URL dari HTTP menjadi HTTPS seperti yang ditunjukkan pada tangkapan layar berikut.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Terakhir, verifikasi dari browser bahwa situs Moodle Anda sekarang berjalan di HTTPS.

https://learning.testprojects.me

Itu saja untuk saat ini! Kunjungi dokumentasi Moodle 3.9 untuk informasi lebih lanjut, opsi konfigurasi, dan panduan penggunaan.