Standard Operating Procedure (SOP) upgrade Moodle (Major & Minor) via metode Hybrid (CLI & Web UI). Meliputi tahap persiapan, backup, sinkronisasi database tanpa kendala timeout, hingga verifikasi akhir untuk memastikan sistem e-learning kamu berjalan aman, stabil, dan tidak error.
Panduan ini menjelaskan langkah-langkah Standard Operating Procedure (SOP) untuk melakukan upgrade sistem Moodle. Dokumentasi ini mencakup prinsip dasar yang harus dipegang, perbedaan persiapan upgrade, peringatan khusus untuk versi terbaru, serta panduan eksekusi berbasis Hybrid (kombinasi penggunaan antarmuka Web UI dan Command Line Interface / CLI).
Referensi Resmi & Bantuan Troubleshooting:
- Agar proses upgrade berjalan lancar, selalu jadikan panduan resmi dari Moodle sebagai rujukan utama kamu pada tautan berikut: Panduan Upgrade Moodle.
- Tips: Panduan pada tautan di atas mengarah ke versi terbaru, yaitu Moodle versi 5.1. Jika kamu melakukan upgrade ke versi tertentu (misalnya 4.5), ubah angka pada URL (contoh: ubah menjadi
405padahttps://docs.moodle.org/405/en/Upgrading), atau gunakan menu dropdown di bagian atas halaman situs tersebut.- Release Notes: Sebelum melakukan upgrade, kamu wajib untuk meninjau release notes sesuai dengan versi tujuan upgrade moodle untuk memastikan spesifikasi server sudah terpenuhi. Silakan merujuk ke halaman berikut: Release Notes Moodle.
- Mengalami Kendala? Apabila kamu menemui error spesifik, blank page, atau kendala teknis di tengah proses, sangat disarankan untuk mencari solusi pada Forum Komunitas Moodle. Komunitas developer dan pengguna Moodle sangat aktif mendiskusikan bug serta berbagi langkah troubleshooting dari berbagai kasus upgrade.
Setiap proses upgrade Moodle, apa pun versinya, selalu berpegang pada tiga pilar utama untuk menjaga keutuhan dan integritas sistem:
config.php), folder data eksternal (moodledata), serta plugin atau tema kustom milikmu.upgrade.php untuk menyesuaikan struktur tabel database dengan logika kode Moodle yang baru.Sebelum memulai, penting untuk memahami perbedaan tingkat upgrade yang akan kamu lakukan:
| Aspek | Upgrade Minor (contoh: 4.1 ke 4.1.2) | Upgrade Major (contoh: 4.1.2 ke 4.5.10) |
|---|---|---|
| Tujuan | Perbaikan bug, keamanan (security patch), dan stabilitas. | Penambahan fitur baru dan perubahan arsitektur inti. |
| Kebutuhan Sistem | Biasanya tetap menggunakan versi PHP dan Database yang sama. | Sering menuntut pembaruan versi PHP dan Database ke versi yang lebih tinggi. |
| Kompatibilitas | Plugin dan tema hampir selalu tetap berfungsi normal. | Wajib memeriksa ulang kompatibilitas seluruh plugin dan tema pihak ketiga. |
Jika kamu melakukan upgrade menuju Moodle 5.1 atau versi yang lebih baru, terdapat perubahan arsitektur folder yang sangat signifikan dan wajib kamu perhatikan:
/public/ Baru: Moodle memperkenalkan struktur folder baru di mana hanya direktori /public/ yang dapat diakses secara publik melalui web. File inti dan file konfigurasi (config.php) kini ditempatkan di luar web root demi keamanan./public/. Kamu wajib memindahkannya ke lokasi yang relevan (contoh: dipindahkan ke /public/theme/... atau /public/mod/...)./moodle/public/, bukan lagi ke root folder Moodle secara keseluruhan.Pastikan seluruh komponen tambahan siap untuk versi baru melalui antarmuka web.
Mencegah proses background berjalan dan mengunci database saat pembaruan berlangsung. Berikan tanda pagar (#) pada baris cron Moodle di pengaturan crontab kamu:
crontab -e
# Contoh hasil edit:
# * * * * * /usr/bin/php /path/to/moodle/admin/cli/cron.php
Cegah aktivitas pengguna selama proses pembaruan.
sudo -u nginx php /path/to/moodle/admin/cli/maintenance.php --enable
(Catatan: Ganti `nginx` dengan user web server kamu, misal `www-data`).Lakukan pencadangan pada database, folder moodledata, dan direktori utama Moodle.
# Backup Database (Ganti user dan nama database)
mysqldump -u root -p moodle_db > /backup/moodle_db_backup.sql
# Backup Folder Moodledata & Core
tar -czvf /backup/moodledata_backup.tar.gz /path/to/moodledata
tar -czvf /backup/moodle_core_backup.tar.gz /path/to/moodle
Ganti sistem lama dengan sistem baru, namun pastikan config.php kamu tetap terjaga.
# Ekstrak versi terbaru yang sudah diunduh
tar -zxvf moodle-latest-45.tgz
# Rename folder lama sebagai cadangan
mv moodle moodle_old
# Pindahkan folder baru menjadi folder utama
mv moodle-latest moodle
# Salin config.php dari folder lama ke folder baru
cp moodle_old/config.php moodle/
# Salin plugin/tema kustom (Jika upgrade ke 5.1+, salin ke /public/mod/)
cp -r moodle_old/mod/nama_plugin moodle/mod/
# Perbaiki hak akses (Sesuaikan user nginx atau www-data)
chown -R nginx:nginx /path/to/moodle
find /path/to/moodle -type d -exec chmod 755 {} \;
find /path/to/moodle -type f -exec chmod 644 {} \;
Mengapa Kami Sangat Merekomendasikan Sinkronisasi via CLI?
Eksekusi upgrade database melalui browser sangat rawan terputus akibat batasan waktu pemuatan (timeout / Error 504/502), terutama jika database kamu berskala besar. Dengan CLI, proses akan berjalan di latar belakang hingga tuntas tanpa terpengaruh timeout, dan menampilkan log error yang jauh lebih transparan jika terjadi kendala.
Opsi Utama (Via CLI):
Jalankan perintah berikut melalui terminal:
sudo -u nginx php /path/to/moodle/admin/cli/upgrade.php
Ketik Y saat diminta konfirmasi dan tunggu hingga proses selesai dengan keterangan Success.
Opsi Alternatif (Via Web UI - Tanpa SSH):
Jika kamu adalah pengguna layanan shared hosting dan tidak memiliki akses root/SSH, proses ini dapat dipicu dengan sekadar membuka halaman utama website Moodle kamu melalui browser. Layar akan mendeteksi versi baru, silakan ikuti petunjuk di layar dan klik tombol Continue.
Bersihkan cache sistem agar antarmuka (UI) memuat tampilan versi baru tanpa masalah atau glitch.
sudo -u nginx php /path/to/moodle/admin/cli/purge_caches.php
sudo -u nginx php /path/to/moodle/admin/cli/maintenance.php --disable
crontab -e) dan hilangkan tanda pagar (#) pada baris cron Moodle kamu agar pekerjaan latar belakang kembali berjalan normal.Langkah terakhir adalah memastikan website Moodle kamu sudah benar-benar berjalan normal dengan versi yang baru.
Dengan menggabungkan kepraktisan Web UI untuk audit dan keamanan CLI untuk eksekusi, kamu bisa memperbarui sistem Moodle dengan risiko kegagalan yang sangat minim. Jangan lupa bahwa rutinitas melakukan backup sebelum melakukan eksekusi adalah kunci utama agar sistem e-learning kamu tetap aman dari kendala teknis yang tidak terduga.
Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.