Install LMS (moodle)

Nama : Nur Cahyo Hutomo

Kelas : XI ACP

   

    Sebelumnya apa itu LMS (moodle) ? LMS Moodle adalah singkatan dari Learning Management System Moodle, yaitu sebuah platform e-learning open source yang dirancang untuk membantu pendidik membuat kursus atau pelatihan berbasis web secara efisien dan fleksibel. 

Apa Itu Moodle?

Moodle (Modular Object-Oriented Dynamic Learning Environment) adalah sebuah platform LMS yang digunakan oleh sekolah, universitas, perusahaan, dan lembaga pelatihan untuk:

  • Membuat kursus online

  • Mengelola materi pembelajaran

  • Melakukan kuis dan ujian

  • Memantau kemajuan siswa

  • Mengelola diskusi dan kolaborasi

Moodle dikembangkan menggunakan PHP dan dapat dijalankan di berbagai server web (Apache, Nginx, dll.) dengan basis data seperti MySQL atau PostgreSQL.

Kelebihan Moodle

  • Gratis & Open Source

  • Skalabilitas tinggi (bisa untuk 10 siswa atau 10.000+)

  • Komunitas besar & aktif

  • Dukungan multibahasa (termasuk Bahasa Indonesia)

  • Dapat diintegrasikan dengan sistem lain (Zoom, Google Meet, dll)

Langkah-Langkah Install LMS (moodle)

1. sudo dnf install httpd mariadb-server php php-mysqlnd php-gd php-xml php-mbstring php intl php-soap php-zip php-opcache php-curl php-cli unzip -y

    Fungsi : untuk menginstal semua paket yang dibutuhkan untuk menjalankan Moodle di RHEL 9 atau CentOS 9 (menggunakan dnf, manajer paket di RHEL)

Paket Fungsi
httpd Web server Apache – untuk menyajikan halaman web Moodle
mariadb-server Database server MariaDB – untuk menyimpan data pengguna dan kursus
php Bahasa pemrograman PHP – engine utama Moodle
php-mysqlnd Ekstensi PHP untuk koneksi ke MariaDB/MySQL
php-gd Untuk manipulasi gambar (digunakan di kuis, profil, dll.)
php-xml Untuk memproses file XML
php-mbstring Untuk dukungan multibahasa dan karakter non-ASCII
php-intl Mendukung internasionalisasi (format tanggal, angka, dll.)
php-soap Untuk integrasi web service (digunakan di fitur API Moodle)
php-zip Untuk menangani file ZIP (misalnya saat mengunggah plugin atau kursus)
php-opcache Untuk meningkatkan performa PHP melalui caching
php-curl Untuk koneksi HTTP ke layanan eksternal (API, integrasi pihak ketiga)
php-cli PHP Command Line Interface – untuk menjalankan skrip PHP lewat terminal
unzip Untuk mengekstrak file ZIP

2. systemctl enable --now httpd mariadb

    Fungsi : Menyalakan Layanan Web Server dan Database.


3. mysql -u root -p 

    Fungsi : untuk mengelola database Moodle (buat DB, user, grant permission, dll.).

Kemudian jalankan perintah SQL berikut :

CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'moodle123' ;
GRANT ALL PRIVILEGES ON moodledb.* TO 'moodleuser'@'localhost' ;
FLUSH PRIVILEGES ;
EXIT :


4. cd /var/www/html (untuk pindah ke direktori html)
    wget https://download.moodle.org/download.php/direct/stable401/moodle-latest-401.zip

    Fungsi : wget https://download.moodle.org/download.php/direct/stable401/moodle-latest-401.zip


5. unzip moodle-latest-401.zip

    Fungsi : Mengekstrak file ZIP Moodle ke folder saat ini.


6. mv moodle /var/www/html/
       
    Fungsi : Memindahkan Moodle ke direktori html agar bisa diakses via browser (http://ip/moodle).


7. mkdir /var/www/moodledata
 
    Fungsi : Buat Folder moodledata, karena Moodle membutuhkan folder khusus untuk menyimpan data internal (file upload, cache, dll).


8. chown -R apache:apache /var/www/moodledata
    chmod 755 /var/www/moodledata

    Fungsi : Memberi kepemilikan dan izin akses ke web server (user apache) agar Moodle bisa baca/tulis ke folder tersebut.

9. chown -R apache:apache /var/www/html/moodle

    Fungsi : Sama seperti sebelumnya, agar Moodle (yang berjalan lewat Apache) bisa mengelola file-file miliknya sendiri.


10. setsebool -P httpd_can_network_connect_db on

    Fungsi : memberi izin pada web server untuk terhubung ke database melalui jaringan lokal.


11. chcon -R -t httpd_sys_rw_content_t /var/www/moodledata

    Fungsi : Mengubah konteks keamanan SELinux agar folder moodledata bisa dibaca dan ditulis oleh Apache.


12. firewall-cmd --add-service=http --permanent
      firewall-cmd --reload

    Fungsi : Membuka akses port 80 (HTTP) di firewall server agar Moodle bisa diakses dari browser.


13. Pergi ke browser lalu search "http://192.168.30.210/moodle". Maka akan muncul tampilan seperti ini.



14. Jika sudah ketik next lalu isi semua data yang perlu di isi.
      Lalu saat sudah mengisi data tersebut maka akan mendapatkan konfigurasi untuk direktori nano.

15. nano config.php

    Fungsi : untuk membuka dan mengedit file config.php menggunakan editor teks nano.
ubah MYSQL menjadi MariaDB

16. nano /etc/php.ini

    Fungsi : untuk membuka file konfigurasi utama PHP.
    ubah max_input_vars menjadi 5000


17. Setelah itu tunggu proses install di browser maka saat sudah selesai installasi tampilan moodle akan menjadi seperti ini


Komentar

Posting Komentar

Postingan populer dari blog ini

Konfigurasi Monitoring Server (Zabbix)

Installasi Redhat