Memindahkan Moodle ke Server Lain

Di artikel ini saya tidak membuat tutorial, tapi sekedar berbagi pengalaman memindahkan Moodle dari satu server ke server lain. Seperti kita ketahui, Moodle adalah LMS yang ditakdirkan untuk diakses beramai-ramai, minimal oleh 36 orang, yaitu siswa satu kelas. Bila sedang “apes”, maka pengunjungnya bisa sampai ribuan orang, misalnya ketika Ulangan Umum (Penilaian Akhir Semester dan Ujian Sekolah Berbasis Komputer). Artinya bahwa server yang dipakai tidak bisa berupa shared web hosting biasa, tapi harus yang bertenaga kuda. Ketika Penilaian Tengah Semester di suatu SMK Negeri yang siswanya mencapai 1500-an orang, RAM 8 GB nyaris seluruhnya terpakai. Bila tidak cermat melakukan tune-up, maka prosesor bisa terpakai nyaris 100%.

Karena alasan di atas, saya selalu memakai minimal VPS yang RAM-nya lebih dari 1 GB. CPanel adalah pilihan terbaik, tapi mahal. Untuk menghemat anggaran, saya pernah menginstal manual Linux, Apache, MySQL, dan PHP. Ini bisa mengubah biaya $20/bulan untuk sewa CPanel menjadi $0 alias gratis. Tapi harus dibayar oleh waktu yang tersita karena harus men-setting manual, yang lama-lama terasa melelahkan.

Oke. Bagaimana cara memindahkan Moodle?

1. Ubah dulu ke mode Maintenance.

Caranya, berikan perintah (di Linux Command Line):

php admin/cli/maintenance.php --enable

Ini untuk memastikan bahwa ketika saya sedang membackup database, tidak terjadi perubahan data misalkan karena ada guru yang mengetik soal baru atau ada murid yang mengerjakan soal.

2. Backup database

Untuk MySQL atau MariaDB, perintahnya adalah:

mysqldump -uroot -prahasia namadb --result-file=database.sql

-u diikuti username dan -p diikuti password..

3. Backup seluruh file yang ada di htdocs dan di moodledata dengan perintah:

tar -cjf backup.tar.gz2 htdocs moodledata

4. Copy-kan file-file tadi dari server lama ke server baru.

Dari pada diunduh dulu ke laptop kemudian diunggah ke server baru yang bisa menghabiskan quota internet, lebih baik dicopykan saja langsung antar server. Caranya: Taruh file-file yang akan dicopykan ke folder htdocs, kemudian dari server baru lakukan perintah:

wget http://namadomain/backup.tar.gz2

Lakukan juga untuk file SQL hasil dari mysqldump.

5. Amankan file backup di server lama ke folder lain yang tidak bisa diakses oleh public

dengan perintah:

mv /home/user/htdcocs/backup.tar.gz2 /home/user/rahasia

6. Buka koneksi dengan server baru, lalu mekarkan file backup

dengan perintah:

tar -xjf backup.tar.gz2

7. Sesuaikan dengan lingkungan baru.

Bila nama domain berbeda, ubah isi file database.sql. Ganti nama domain lama dengan nama domain baru. File config.php juga harus diubah agar sesuai dengan konfigurasi di server baru.

Import database ke server baru, caranya:

mysql -uusername -ppassword database < database.sql

8. Matikan mode maintenance.

Perintahnya adalah:

php admin/cli/maintenance.php --disable

Selesai.

Tapi tantangan tidak hanya sampai di situ. Sering kali kita harus mengubah konfigurasi MySQL agar mendukung karakter set utf8mb4_unicode_ci. Juga men-setting web server (khususnya Nginx). Bila tidak disetting dengan benar, sering kali CSS di Nginx seolah tidak berlaku.

Untuk server baru, bila anda tidak mau repot mensetting, gunakan saja hoster.co.id Hosting ini berfungsi sangat baik, melebihi tarifnya yang murah. Saya mendaftar hanya dengan biaya Rp 79.800 untuk tahun pertama. Setelah itu Rp 399.000 pertahun. Ini termasuk sangat murah, mengingat fitur yang disediakan adalah:

  • Unlimited bandwidth.
  • Unlimited domain name.
  • Unlimited space. Tidak unlimited betulan sih, sebab dibatasi maksimal 750.000 inodes. Satu inodes setara dengan 1 nama folder atau 1 nama file. Bagi saya, ini lebih dari cukup. Saya menginstall 3 Moodle tapi inodes yang terpakai baru 15,47%.
  • CPanel terbaru.
  • Tidak perlu setting web server dan MySQL. Moodle sudah bisa langsung dipasang.

Tips:

Bila MathJax ingin disimpan di server yang sama dengan Moodle (tidak mau memakai CDN), maka unduh MathJax 2.7.2 lalu diextract ke folder. Setelah itu ubah Site Administration > Plugin > Filters > MathJax agar menunjuk ke MathJax.js yang ada di server Moodle.

Sekian sharing saya tentang memindahkan Moodle dari satu server ke server lain. Semoga bermanfaat.

 

Web Hosting

8 Responses to “Memindahkan Moodle ke Server Lain”
  1. Bang Juky 11 January 2020
    • Mawan A. Nugroho 12 January 2020
  2. Bang Juky 14 February 2020
    • Mawan A. Nugroho 15 February 2020
  3. Dian Ajisulistyo 12 March 2021
    • Mawan A. Nugroho 26 March 2021
  4. aji 16 March 2021
    • Mawan A. Nugroho 26 March 2021

Reply Cancel Reply