Aloha Sobat eCampuz? 😀 Semoga tetap sehat walafiat di masa krisis pandemi Corona ini. Pandemi Corona memaksa manusia melakukan slow down atas kegiatan aktif sehari-hari. Semua terdampak. Dari tempat ibadah hingga sekolah, dari pemerintahan hingga grosiran, WFH diterapkan pada karyawan, mahasiswa kena jatah kuliah via video conference.

Dari berbagai laporan yang kami terima, server-server layanan akademis mulai melonjak beban datanya, seiring dengan para mahasiswa berteriak jebol kuotanya. Kali ini dunia memaksa sebagian besar kegiatan dilakukan online. Salah satunya berimbas pada naiknya permintaan instal Moodle, sebuah aplikasi pembelajaran online berbasis web.

Moodle, Apa Itu?

Moodle adalah sebuah CMS (Content Management System) aplikasi berbasis web, yang dibangun dengan bahasa pemrograman PHP. Moodle dipergunakan untuk pembelajaran online (e-learning). Moodle sudah diterapkan di berbagai sekolah dan kampus penjuru dunia. Sifatnya gratis, dengan lisensi GPL. Fitur-fitur Moodle cukup lengkap sebagai aplikasi manajemen e-learning.

Install Moodle pada OS Linux

Fitur-fitur yang disediakan oleh moodle dapat dilihat di https://docs.moodle.org/38/en/Features. Dengan beragam fitur tersebut, para dosen dapat dengan mudah mengunggah materi, melakukan penjadawalan penanggalan, tracking progress, sedangkan para mahasiswa dapat mengunduh materi tersebut dari rumah. Versi aktif saat ini adalah : 3.8.2+

System Requirements

Moodle dapat diinstal di berbagai macam platform OS, mulai dari Windows, Linux, MacOS, hingga Unix. Kebutuhan sistem yang diperlukan untuk instalasi Moodle antara lain:

Minimal Hardware Requirements

Disk Spacemin 5GB
Processormin 2GHz Dual Core
Memorymin 512 MB

Namun data tersebut adalah kondisi minimalis yang disarankan oleh official web Moodle. Untuk mengantisipasi kebutuhan traffic dan beban data yang besar, disarankan menggunakan sebaik mungkin hardware yang ada. Apalagi jaman sekarang hardware sudah sangat bagus-bagus dan murah.

Moodle Hardware Recommendation by eCampuz

Disk Space200 GB ke atas (data upload jaman sekarang besar-besar)
Processor2GHz 4 Core (antisipasi beban data dan traffic)
Memory4GB (antisipasi beban data dan traffic)
TopologiPemisahan server database dan aplikasi (jika mungkin)

Software

WindowsXAMPP dengan PHP 7.1 ke atas
LinuxApache / Nginx, PHP 7.1 ke atas, MySQL atau MariaDB

Setup Server Anda

Untuk instalasi Moodle, pastikan server anda telah terinstal:

  1. Apache / Nginx
  2. PHP Versi 7.1 ke atas
  3. MariaDB

Salah satu panduan yang baik untuk install server web anda ada di sini. Rekomendasi yang disarankan oleh tim eCampuz adalah : webserver dengan Nginx (baca en-jin-ex), PHP-FPM, dan MariaDB. Lebih jos lagi jika MariaDB diletakkan pada OS yang lain, alias penggunaan topologi beda server.

Mulai Instal Moodle

Pada contoh instalasi ini, tim eCampuz menggunakan :

  • Centos 7.x
  • PHP-7.3
  • MySQL-8
  • Nginx 1.12.2
  • DocumentRoot /var/www/html/moodle
  • Git client
  • Domain moodle.ecampuz.net

Step 1 — Mengatur Grant User MySQL

mysql -u root -p

create user moodle@localhost identified by 'MoodlePASS12!'

create database moodle_web;

grant all privileges on moodle_web.* to moodle@localhost;

Step 2 — Download Moodle by Git (versi 3.9dev)

cd /var/www/html

git clone git://git.moodle.org/moodle.git

git-clone-moodle-1

chown -R nginx.nginx /var/www/html/moodle

Step 3 — Menyiapkan virtualhost untuk moodle (dalam kasus ini moodle.ecampuz.net)

vim /etc/nginx/conf.d/moodle.ecampuz.net

server {

listen 80;

server_name moodle.ecampuz.net;

access_log /var/log/nginx/moodle.ecampuz.net_access_log;
error_log /var/log/nginx/moodle.ecampuz.net_error_log;
root /var/www/html/moodle;
rewrite ^/(.*.php)(/)(.*)$ /$1?file=/$3 last;

index index.php index.html index.htm;


location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html/moodle/;
}
location ~* \.php(/|$){
try_files $uri =404;
fastcgi_pass 127.0.0.1:9012;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/moodle$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
}


Catatan
Sesuaikan dengan keadaan di server anda. Di sini Tim eCampuz menggunakan instalasi Moodle dengan PHP-FPM yang berjalan dengan Listen Port 9012. PHP FPM biasanya selain menggunakan port, juga dapat menggunakan socket.


systemctl restart nginx

Setelah konfigurasi sesuai, restartlah Nginx anda, dengan perintah :

Jika tidak terjadi error, bukalah pada halaman web sesuai dengan URL yang disiapkan. Tampilan seharusnya adalah seperti berikut :

Install Moodle pada OS Linux
Tampilan setelah selesai instal Moodle

Tersedia berbagai macam bahasa, termasuk bahasa Indonesia. Nah, saat itu, proses instalasi via web dapat segera dimulai. Namun, bagaimana jika proses tadi terjadi error? Silakan lakukan tracing error tersebut pada log error yang ada di server masing-masing.

Step 4 — Mengikuti urutan instalasi via web

Install Moodle pada OS Linux
Tampilan pilihan bahasa yang disediakan
Install Moodle pada OS Linux
Tampilan pengaturan direktori data

Pada langkah ini, direktori data belum terbentuk. Namun, akan otomatis terbentuk. Akan tetapi jika Nginx tidak memiliki akses cukup untuk ke /var/www/html/moodledata, maka direktori ini tidak dapat dibentuk. Kami sarankan untuk membuat sendiri saja, kemudian diset permissionnya sesuai dengan permission Nginx.

mkdir /var/www/html/moodledata

chown -R nginx.nginx /var/www/html/moodledata

Install Moodle pada OS Linux
Tampilan pilihan server database

Pada bagian selanjutnya, kita akan ditanya, server database apakah yang akan kita pakai? Pilihannya adalah MySQL, PostgreSQL, Oracle. Sesuaikan dengan server kita tempat instal moodle. Di eCampuz, kita gunakan MySQL sebagai server database.

Install Moodle pada OS Linux
Tampilan pengaturan akses database

Pada bagian pengaturan akses database dapat diisikan setting user yang sebelumnya tadi telah kita buat sebelum instal Moodle. Sesuaikan nama database, user dan password . Porta/Port, socket, prefix tidak usah diganti.

Install Moodle pada OS Linux
Tampilan konfirmasi instalasi

Jika setting database sesuai, maka konfirmasi instalasi akan muncul, lengkap dengan pengumuman hak cipta seperti gambar di atas.

Install Moodle pada OS Linux
Cek kelengkapan ekstensi dan PHP serta MySQL

Halaman ini akan muncul untuk cek kelengkapan ekstensi PHP dan settingnya beserta MySQL setting. Bagian merah harus dilakukan penyesuaian. Halaman kuning masih dapat ditoleransi dalam proses instal moodle, namun jika diabaikan akan terjadi masalah.

Pada tim eCampuz karena menggunakan PHP dari repo remi, proses kelengkapan tinggal menambahkan:
yum -y install php73-php-soap.x86_64

yum -y install php73-php-mbstring.x86_64

yum -y install php73-php-xmlrpc.x86_64

yum -y install php73-php-intl.x86_64

systemctl restart php73-php-fpm

Install Moodle pada OS Linux
Tampilan setting user admin Moodle

Jika seluruh kelengkapan sudah terpenuhi, kita akan dibawa pada tampilan di atas. Isinya adalah setting user admin dan password untuk Moodle. Setelah semua lengkap, lanjut ke halaman berikutnya. Tadaaaa voila! 😀 Sampai saat ini, proses instal moodle telah selesai di tahap server, yeay! Oh ya, pada bagian bawah setting admin moodle, ada saran untuk menjadikan aplikasi tersebut HTTPS. Apa itu HTTPS? Silakan dapat dipelajari di tulisan berikut: 3 Langkah Cara Instal SSL Letsencrypt

Install Moodle pada OS Linux
Halaman Dashboard Moodle

Aplikasi Moodle ini akan memiliki potensi diakses oleh banyak user dalam waktu bersamaan. Oleh karena itu disarankan adanya load testing sebagai proses instal Moodle ini. Load testing dapat menggunakan ab-test untuk halaman statik, atau jmeter untuk konten dinamik. Disarankan juga menggunakan alat monitoring seperti yang ada di artikel ini: Rekomendasi Aplikasi Monitoring Infrastruktur Kampus. Dapat juga ditambahkan awstats atau webalizer untuk melihat statistik setiap harinya.

Install Moodle pada OS Linux
Tampilan contoh Awstats

Selain dengan server mandiri, kita juga dapat melakukan instalasi pada webhosting. Bahkan pada hosting dengan mesin hosting cPanel, dapat langsung menggunakan script instalasi untuk instal moodle yang bernama Softacolous. Secara teknis, proses instal moodle ini seharusnya dapat berlangsung sekitar dua jam. Biasanya yang akan lama adalah masalah input data, seperti penambahan data user, data-data elearning yang harus diproses oleh operator. Sampai di sini, semoga dapat membantu proses kegiatan belajar mengajar daring kampus masing-masing.

Kelak pasca pandemik Corona ini, bumi akan berubah cara bekerjanya. Aplikasi online tetap akan digunakan sebagai alat untuk efektivitas dan antisipasi jika hal-hal semacam ini terjadi kembali. Maka e-learning juga tetap akan digunakan. Instal Moodle sekarang tidak ada ruginya, di masa depan masih tetap dapat dipergunakan, selamat mencoba 😉