Cara Install Moodle di Debian untuk 1000 Siswa

Moodle (Modular Object Oriented Dynamic Learning Environment) adalah suatu paket software yang dibuat untuk kegiatan belajar berbasis internet dan situs web yang menggunakan prinsip Social Constructionist Pedagogy. Moodle merupakan salah satu penerapan dari konsep dan mekanisme belajar yang memanfaatkan teknologi informasi dan komunikasi (E-Learning). Moodle dapat digunakan secara bebas sebagai produk opensource dibawah lisensi GNU. Bagaimana cara menjalankan dan install Moodle untuk 1000 siswa ?

Supaya Moodle dapat berjalan dengan maksimal, yang dibutuhkan adalah spesifikasi yang mumpuni dari server yang digunakan. Pemilihan sistem operasi yang tepat juga menentukan kekuatan dari server Moodle. Linux masih menjadi sistem operasi terbaik untuk Moodle. Konfigurasi jaringan komputer yang baik juga sangat berpengaruh pada performa Moodle. Jika dari segi Hardware dan Infrastruktur jaringan sudah layak, maka yg harus dilakukan adalah melakukan tune-up pada software Moodle. Hal ini penting untuk meningkatkan performa Moodle yang akan di akses oleh 1000 siswa.

Spesifikasi komputer server yang digunakan adalah procesor Intel Xeon menggunakan RAM 32 GB, serta sistem memakai SSD 256 GB. Infrastruktur jaringan menggunakan Router Pusat RB3011UiAS, router tersebut menyediakan 10 Port. Pada port 1 digunakan untuk koneksi ke komputer server, sedangkan port sisanya digunakan untuk koneksi ke Klien. Koneksi dari Router Pusat ke Klien menggunakan Access Point dengan Mode Bridge. Untuk meringankan kinerja komputer server, konfigurasi DHCP server dilakukan pada Router Pusat. Sehingga komputer server fokus menangani aplikasi Moodle.

Sistem operasi yang digunakan pada komputer server adalah Linux Debian 10 x64 versi CLI (berbasis Text). Aplikasi yang digunakan untuk menjalankan Moodle adalah sebagai berikut:

  1. Web server menggunakan NGINX
  2. Database server menggunakan Postgresql
  3. PHP menggunakan versi terbaru yaitu PHP7.4-FPM
  4. Moodle menggunakan veri 3.9

Langkah Instalasi Moodle di Debian 10 dengan Nginx, Postgresql, PHP7.4-fpm

MEMULAI DEBIAN

Diasumsikan proses instalasi Debian 10 sudah dilakukan dan sudah memahami perintah-perintah dasar pada Linux, sehingga tidak dituliskan pada tutorial dibawah. langkah-langkah install Moodle untuk 1000 user adalah diawali dengan login ke sistem operasi Debian 10 menggunakan hak akses ROOT. konfigurasi IP yang digunakan adalah statis dengan IP address 192.168.0.200. lakukan pembaruan paket aplikasi yang ada pada repo debian dengan perintah :

apt-get update
apt-get upgrade

INSTALASI NGINX

Melakukan instalasi web server NGINX dengan mengetikan perintah dibawah:

apt-get install nginx

Setelah proses instalasi webserver selesai, lakukan pengecekan dengan cara membuka web browser dengan menuliskan IP Address komputer server, maka akan muncul halaman NGINX sebagai berikut:

Untuk tempat penyimpanan data moodle digunakan database server Postgresql. langkah install postgresql adalah sebagai berikut:

INSTALASI POSTGRESQL

apt-get install postgresql postgresql-contrib

Setelah insalasi selesai dilakukan, jalankan perintah berikut:

pg_isready

Jalankan aplikasi postgresql menggunakan perintah :

systemctl start postgresql

Selanjutnya jalankan perintah berikut untuk meningkatkan keamanan database postgresql :

passwd postgres

buat User dan Password pada database dengan perintah berikut:

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'tulis_password_disini';"

kemudian keluar dari aplikasi postgresql dengan perintah:

exit

selanjutnya adalah konfigurasi otentifikasi klien. File konfigurasi postgresql terletak di /etc/postgresql/11/main/pg_hba.conf . Postgresql menyediakan berbagai metode otentikasi klien termasuk otentikasi berbasis kata sandi. Koneksi klien diautentikasi berdasarkan alamat host database, basis data, dan pengguna.

nano /etc/postgresql/11/main/pg_hba.conf

Cari baris berikut dan ubah metode otentikasi menjadi md5, seperti gambar dibawah ini

simpan perubahan yang telah dilakukan dengan menekan shortcut CTRL + O, kemudian tekan ENTER. Exit dengan perintah CTRL + X. Selanjutnya lakukan restart pada aplikasi postgresql dengan perintah :

systemctl restart postgresql

INSTALASI PHP7.4-FPM

Pada tahap ini, dibutuhkan mesin utama dari Moodle supaya dapat berjalan dengan maksimal. Mesin utama dari Moodle untuk 1000 user adalah PHP 7.4-FPM. Repositori bawaan dari Debian 10 tidak menyediakan PHP 7.4-FPM, maka kita membutuhkan repo dari pihak ketiga. Ketikkan perintah berikut:

apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo deb https://packages.sury.org/php/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/php7.4.list
apt-get update
apt-get upgrade
apt-get install php7.4-fpm

INSTALASI MODUL PHP UNTUK MOODLE

Perintah untuk install Modul yang dibutuhkan Moodle adalah sebagai berikut:

apt-get install aspell graphviz clamav php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-pgsql php7.4-cli php7.4-ldap php7.4-zip php7.4-curl

Apabila seluruh modul sudah terinstall, kita restart terlebih dahulu komputer server. Tujuanya adalah supaya seluruh aplikasi dan modul dapat berjalan dengan baik.

Untuk meningkatkan kinerja mesin (PHP7.4-FPM) dari Moodle, dilakukan tune-up dengan edit file php.ini. perintahnya adalah sebagai berikut:

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

Cari dan lakukan penyesuaian value sesuai dengan kemampuan server, seperti code dibawah:

file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 10M
max_execution_time = 60
post_max_size = 8M
cgi.fix_pathinfo = 0

Simpan dengan shortcut CTRL + O, tekan ENTER. kemudian keluar dari editor dengan shortcut CTRL + X.

MEMBUAT DATABASE MOODLE

Tahap berikutnya adalah membuat database Moodle. Apabila ada pertanyaan tentang password, masukkan password yang telah dibuat saat instalasi Postgresql diatas !

su - postgres
psql

Berikutnya membuat database baru yang kita beri nama “dbmoodle” dgn usernya dengan nama “moodleuser” di postgresql, perintahnya adalah sebagai berikut:

CREATE USER moodleuser WITH PASSWORD 'tulis_password_disini';
CREATE DATABASE dbmoodle;
GRANT ALL PRIVILEGES ON DATABASE dbmoodle to moodleuser;
\q

Selanjutnya keluar postgresql dengan perintah:

exit

DOWNLOAD DAN EKSTRAKSI FILE MOODLE

Langkah selanjutnya adalah melakukan instalasi Moodle pada komputer server. Moodle yang digunakan adalah versi 3.9. Perintahnya adalah sebagai berikut:

cd /tmp
wget https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz

Jalankan perintah berikut untuk mengekstrak file Moodle 3.9 dan memindahkannya ke direktori /var/www/html/moodle

tar -zxvf moodle-latest-39.tgz
mv moodle /var/www/html/moodle

Berikutnya adalah membuat folder moodledata sebagai media penyimpanan moodle

cd
mkdir /var/moodledata

Langkah selanjutnya adalah mengatur permission pada folder moodle dan moodledata, permission yang digunakan adalah 777. Maksudnya adalah perinta ini akan memberikan SEMUA permission ke semua jenis user (owner, group dan other).

chown -R www-data /var/www/html/moodle
chmod -R 777 /var/www/html/moodle
chown -R www-data /var/moodledata
chmod -R 777 /var/moodledata

Lakukan Reboot pada server, dengan menjalankan perintah :

reboot

KONFIGURASI NGINX

Konfigurasi situs Moodle pada NGINX perlu dilakukan untuk memaksimalkan kinerja komputer server. Ketikkan perintah berikut:

nano /etc/nginx/nginx.conf

Lakukan pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds

[. . . .]
keepalive_timeout 2;
[. . . .]

Simpan dengan shortcut CTRL + O, tekan ENTER. kemudian keluar dari editor dengan shortcut CTRL + X.

Langkah berikutnya adalah konfigurasi site-default di Nginx. Pada file inilah akan dikontrol bagaimana user bisa mengakses konten Moodle. Jalankan perintah berikut ini untuk membuat file konfigurasi dan beri nama filenya dengan “moodle”

nano /etc/nginx/sites-available/moodle

Ketikkan code berikut dan sesuaikan dengan domain yang kita pakai, setelah itu simpan dan tutup :

server {
listen 80;
listen [::]:80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name 192.168.0.200;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/moodledata/;
}
location ~ [^/].php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Berikutnya aktifkan file “moodle” di nginx dengan menduplikat /etc/nginx/sites-available/moodle ke /etc/nginx/sites-enabled, dengan perintah :

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

Untuk memastikan konfigurasi yang kita lakukan benar ketikkan perintah berikut ini :

nginx -t

Apabila konfigurasi benar, maka outputnya adalah seperti tampilan ini :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Selanjutnya, restart nginx dengan mengetikkan perintah :

systemctl restart nginx.service

MEMULAI MOODLE SERVER

Langkah selanjutnya adalah konfigurasi moodle melalui web browser, dengan mengetikkan IP Address dari komputer server. Seperti pada gambar berikut:

ganti data directory menjadi /var/moodledata, seperti gambar dibawah

Pilih Postgresql seperti gambar dibawah

Ganti database name menjadi dbmoodle sesuai dengan database yang telah dibuatpada langkah diatas !

Pilih continue !

Moodle akan melakukan pengecekan terhadap modul-modul yang dibutuhkan, apabila sudah lengkah maka bisa melakukan ke tahap instalasi. Seperti gambar dibawah

Tunggu hingga proses selesai, kemudian isikan User dan Password untuk Account Moodle ! seperti gambar dibawah.

Moodle sudah siap diakses oleh user

Demikianlah langkah instalasi Moodle untuk 1000 user, langkah diatas sudah di ujicoba langsung pada saat pelaksanaan ujian sekolah dengan jumlah user 1082 siswa. Semoga tutorial ini dapat membantu, Trimakasih

Leave a Comment