Posted by: Hartoto | 11/24/2016

Membuat Moodle Portable [Offline] di USB dan CD

Belakangan ini banyak yang menanyakan pada saya bagaimana mengofflinekan moodle yang sudah dihosting di web ke dalam CD.  Rata-rata yang risetnya terkait e-learning diminta mengumpulkan produknya via CD-R. Kasus ini dapat dipecah menjadi dua permasalahan:

  1. Bagaimana menarik data dari web hosting ke dalam local server (fix)
  2. Bagaimana menjadikan moodle offline tersebut running well di USB/CD sebab katanya kalau di komputernya berjalan dengan normal namun jika dibuka ke komputer lain bermasalah.

Jawaban kasus 1:

Install/gunakan web server di laptop kita. Saya sarankan pilih XAMPP sebab saat ini Moodle juga menggunakan XAMPP untuk paket portablenya. Artinya XAMP sudah memenuhi persyaratan minimal Moodle (Versi PHP & MysQl serta plugin-plugin yang dibutuhkan Moodle) . Disini Anda boleh menggunakan XAMPP original (https://www.apachefriends.org/download.html) atau paketan Moodle (https://download.moodle.org/windows/). Jangan lupa pada paket moodle portable, sesuaikan dengan versi moodle yang akan diofflinekan. Jika gunakan XAMPP original, silakan cek pada paketan moodle, XAMPP versi berapa yang cocok. Lihat gambar di bawah ini (saya ambil dari https://download.moodle.org/windows/):

xampp moodle

Dari gambar diatas diketahui bahwa moodle 3.1.3+ menggunakan XAMPP v7.0.9.1 ke atas, sedangkan Moodle 3.0.7 menggunakan XAMPP v1.8.2.4.

Menggunakan XAMPP paketan moodle maupun XAMPP original masing-masing memiliki kelebihand an kekurangan. Kelebihan XAMPP paketan moodle adalah 1) File lebih kecil karena hanya fitur-fitur yang dibutuhkan moodle yang dimasukkan 2) Plugin 100% dijamin telah ready 3) Tidak memerlukan setting plugin dan PHP lagi 4) Struktur file sudah cocok untuk di CD-R (ada file start Moodle.exe). Namun ada juga kekurangannya, yakni paketan ini tidak menyediakan management database seperti PHPMyadmin, jadinya jika akan mengelola database harus mengkopikan phpmyadmin atau menggunakan aplikasi management database lain. Karena saya tidak mau repot, jadi saya gunakan Navicat untuk mengatasi masalah ini.

Struktur direktori  moodle portable

Struktur direktori moodle portable

Sementara itu pada XAMPP original,  kelebihannya adalah sudah tersedia PHPmyAdmin. Namun kekurangannya adalah belum tentu modul PHP yang dibutuhkan moodle sudah aktif. Jika belum aktif, maka kita perlu aktifkan manual di php.ini. Bisa jadi bagi sebagian orang ini sedikit merepotkan. Saya sendiri belum coba pake paketan XAMPP original untuk mengofflinekan moodle.

Struktur direktori XAMPP

Struktur direktori XAMPP

Untuk mengofflinekan moodle, ada 3 file yang dibutuhkan, yakni:

1.Folder aplikasi Moodle (Jika menggunakan cpanel terletak di public_html atau www, jika menggunakan spanel ada di sites/SITENAME/www/.

lokasi direktori moodle di spanel

lokasi direktori moodle di spanel

lokasi direktori moodle di CWP

lokasi direktori moodle di CWP

lokasi direktori moodle di cpanel

lokasi direktori moodle di cpanel

2. Folder Moodledata. Untuk memastikan dimana lokasi moodle data, sebaiknya dicek di file config.php pada direktori moodle Anda

lokasi folder moodledata

lokasi folder moodledata

3. File dummy database (format .SQL atau ZIP)

Tips: file dikompress terlebih dahulu dalam format ZIP atau TAR.GZ baru di download. Mendownload langsung file-file moodle dan moodle tanpa dikompress akan memakan waktu sangat lama

Jawaban Kasus 2:

Setelah mengekstrak XAMPP paketan moodle maka akan ditemukan direktori seperi ini:

lokasi-moodle-dan-moodledata-di-xampp-portable

Silakan replace direktori moodle dan moodledata dengan yang telah kita download sebelumnya dari server. Jangan lupa import databasenya sekalian via Navicat atau PHPMyadmin.

Pada bagian moodle, copy file config.php kemudian buat cadangannya. Ganti namanya jadi config_ori.php

config.php moodle

config.php moodle

Edit file config.php kemudian ganti beberapa bagian ini:

 

edit config.php moodle

edit config.php moodle

<?php // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost = 'localhost';
$CFG->dbname = 'lms';
$CFG->dbuser = 'root';
$CFG->dbpass = '';
$CFG->prefix = 'mdlcx_';
$CFG->dboptions = array (
 'dbpersist' => 0,
 'dbport' => '',
 'dbsocket' => '',
);

$CFG->wwwroot = 'http://localhost';
$CFG->dataroot = substr(dirname(__FILE__), 0, -6).'moodledata';
$CFG->admin = 'admin';

$CFG->directorypermissions = 0777;

require_once(dirname(__FILE__) . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

 

Pada kode di atas, yang diganti adalah bagian yang diwarna merah.

  • dbname, dbuser, dan dbpass disesuaikan dengan settingan yang baru. Biasanya usernya root dan passwordnya kosong
  • prefix: disesuikan dengan tabel database, defaultnya sih mdl_, tapi kalau kita install moodle via softaculous, biasanya kasih prefix yang bervariasi
  • wwroot: ganti alamat web menjadi http://localhost
  • dataroot: ganti jadi substr(dirname(__FILE__), 0, -6).’moodledata’; ini sebenarnya menghasilkan data [drive]:\server\moodledata. dirname(__FILE__) adalah fungsi php untuk menampilkan direktori dari file yang dieksekusi, dalam hal ini menghasilkan [drive]:\server\moodle. Karena lokasi moodledata sejajar dengan folder moodle, maka kita perlu menghilangkan string moodle di belakang [drive]:\server\moodle yang terhitung 6 digit dari belakang. sehingga menghasilkan [drive]:\server\. Fungsi yang digunaka adalah sbstr (string, 0, -6). 

Setelah itu save, dan lihat hasilnya.

Jalankan start moodle.exe kemudian buka browser. ketikkan alamat http://localhost.

Jika ingin live moodle via CD/USB, silakan burning atau copykan direktori hingga seperti struktur di bawah

Struktur direktori  moodle portable

Kasus ditutup


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: