Skip to content
Dewacloud Blog
Search
Close this search box.

Cara Deploy Moodle Dengan Upload Files di Dewacloud

Moodle adalah salah satu CMS (Content Management System) yang ditujukan untuk media pembelajaran atau bisa disebut Elearning.i Moodle menggunakan 2 dashboard, yaitu Pengajar (Guru atau Dosen) dan Murid.

Dewacloud

Dewacloud adalah layanan berbasis PaaS (Platform as a Service) di mana kamu dapat membuat, mengelola dan mendesain topologi dengan one-click, selain easy-to-use, tampilannya pun sudah user-friendly, sehingga dapat dengan mudah dipahami oleh user.

Pada artikel ini, kami akan membahas mengenai Cara Deploy Moodle Dengan GitHub di Dewacloud.

Cara Deploy Moodle dengan GitHub di Dewacloud, Untuk melakukan Deploy Moodle ini, kamu perlu memastikan sudah memiliki account di Dewacloud.

Step 1: Login Dewacloud Dashboard

Login terlebih dahulu ke Dewacloud Dashboard dengan email dan password yang valid.

Step 2: Create New Environment

Moodle menggunakan bahasa pemrograman PHP, sehingga pilih PHP serta versi yang akan kamu gunakan, sesuaikan dengan requirement pada aplikasi yang akan kamu deploy dan kamu bisa tentukan Web Server yang ingin digunakan, lalu pilih driver SQL nya. 

Kami di sini memilih Nginx sebagai Web Server dan MariaDB sebagai Databasenya. Tentukan Region serta Environment Name nya, kemudian jika sudah klik Create di pojok kanan bawah.

Untuk melihat proses yang sedang berjalan, kamu dapat monitor pada Active Task di pojok kiri bawah.

Setelah pembuatan Environment selesai, kamu bisa melihat informasi login ke PHPMyAdmin yang dikirimkan ke email account Dewacloud kamu secara otomatis, jika tidak ada di Inbox, kamu bisa cek pada Spam/Junk email kamu.

Step 3: Deploy From Local File

Download terlebih dahulu file Moodle latest yang stable. Pada saat artikel ini dibuat, versi yang paling latest dan stable adalah versi 3.11

Klik Deploy from Git / SVN pada Deployments Environment yang akan di Deploy Moodle nanti nya.

Pilih path sesuaikan dengan kebutuhan kamu ingin di deploy di directory yang mana, jika ingin di standard document root atau public_html (seperti di cPanel), maka biarkan secara default, yaitu ROOT.

 

Kemudian terdapat option Enable zero-downtime deployment, artinya deployment dilakukan tanpa ada nya kemungkinan down.

 

Jika sudah, klik Deploy.

Berbeda dengan deployment melalui GitHub, yang dimana prosesnya dapat dilihat pada Active Task, sedangkan Upload Files akan diperlihatkan proses Uploading nya.Lama atau tidaknya proses deployment tersebut, tergantung dari berapa size file yang di deploy, semakin besar size file, semakin memakan waktu juga untuk prosesnya. Kemudian cek file nya, apakah sudah ter-deploy atau belum dengan klik Config pada Application Server dan ke path var/www/webroot/ROOT/

Step 4: Create Database & User Database

Buat database dan user database pada phpMyAdmin dengan login sesuai dengan informasi login yang kamu terima di email, setelah login klik menu Databases.

Kami menggunakan moodle sebagai nama database dengan collation utf8mb4_unicode_ci, kemudian klik Create.

Klik menu Privileges, dan klik Add user account di bawah.

Masukkan Username dan Passwordsesuai dengan kebutuhan kamu, kami disini menggunakan moodleuser sebagai Username dan moodle123 sebagai passwordnya. Untuk Hostname, masukkan private IP dari Application Servers kamu, lalu klik Go di paling bawah.

Pastikan ceklis semua pada Database-specific privileges, dan klik Go pada bagian bawah.

Lakukan restart nodes pada MySQL untuk apply perubahan atau penambahan yang kamu lakukan.

 

Step 5: Config

Copy semua isi file pada config-dist.php ke notepad komputer kamu, lalu create baru file config.php.

Lalu pastekan isi file yang sudah kamu taruh di notepad tadi ke dalam config.php. Kemudian, ubah pada bagian berikut.

$CFG->dbtype    = ‘mariadb’;

$CFG->dbhost    = ‘172.16.5.48’;

$CFG->dbname    = ‘moodle’;

$CFG->dbuser    = ‘moodleuser’;

$CFG->dbpass    = ‘moodle123’;

..

$CFG->wwwroot   = ‘https://domainkamu.com’;

$CFG->dataroot  = ‘/var/www/webroot/moodledata;

dbtype : Ubah dengan driver SQL yang kamu gunakan, di sini kami menggunakan mariadb.

dbhost  : Masukkan IP Private dari SQL Database kamu.

dbname : Masukkan nama database yang sudah kamu buat.

dbuser   : Masukkan user database yang sudah kamu buat.

dbpass  : Masukkan password user database yang sudah kamu set sebelumnya.

wwwroot : Alamat URL atau website kamu.

dataroot : Directory atau path pada file-file moodle data.

Jika sudah, klik Save.

Buat directory moodledata pada /var/www/webroot/ dengan SSH Access ke Application Server.

$ cd /var/www/webroot/

$ mkdir moodledata

$ chmod 777 moodledata/

Lalu tambahkan script try_files pada default.conf virtual host di Application Server.

Install SSL agar lebih secure.

Tambahkan settingan innodb pada my.cnf di SQL Database di dalam tag [mysqld] atau di bawah line 13.

innodb_read_only_compressed=OFF 

innodb_file_per_table = on 

innodb_strict_mode = 0 

innodb_file_format = Barracuda

 

Step 6: Enable Extension

Pada Moodle, ada beberapa extension yang diharuskan enabled atau On. Jika ada extension yang diperlukan namun masih disabled, akan menampilkan informasi di atas.

Untuk melakukan enable, kamu perlu ke php.ini pada Config di Application Server.

Pada section gd, terdapat script “;extension=gd” artinya ini masih disabled, untuk enable, kamu perlu hapus tanda “;” lakukan pada extension lainnya yang diperlukan, kemudian save.

Lalu restart pada Application Server untuk apply modifikasi yang dilakukan sebelumnya.

Hasilnya akan seperti di atas, kemudian Continue untuk melanjutkan proses instalasinya.

 

Step 7: Testing

Step terakhir adalah testing, yaitu melakukan akses melalui SLB, Domain atau Subdomain kamu.

 

Kesimpulan

Jika kamu mengikuti artikel ini dari awal sampai akhir, artinya kamu sudah berhasil melakukan Deploy Moodle Dengan Upload Files di Dewacloud.

Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin Anda baca di blog Dewaweb. Semoga artikel ini membantu.

Picture of Dewacloud Team

Dewacloud Team

Dewacloud Specialist Team helps customers daily 24/7 and on their free time, they also create quality tutorial content for our precious customers.