Install Moodle Tanpa Panel di VPS Berbasis Nginx Centos 8

Apa itu moodle?

Salah satu platform pembelajaran online yang berlisensi gratis adalah moodle. Ada banyak platform lain diantaranya Claroline, Dokeos, TCExam, Chamilo dan masih banyak yang lain. Dikenal dengan sebutan LMS (learning management system), moodle menjadi platform gratis yang banyak digunakan sebagai aplikasi e-learning

black moodle



Mengapa memilih moodle? sangat lengkap layanan yang bisa diberikan moodle. Mulai dari sharing materi, evaluasi multiple choice maupun essay, soal listening juga bisa mengguanakan moodle. Dan moodle tidak hanya bisa secara online, di aplikasikan pada jaringan lokal juga bisa. Hal ini menjadikan moodle sebagai LMS yang paling banyak digunakan.

Lalu bagaimana cara mendapatkan moodle dan menggunakannya? Pada artikel ini kita bahas install moodle di VPS. Apa itu VPS? bisa di cari google definisi dan penggunaannya. Pada VPS ada beberapa alternatif untuk install nya, yang paling umum menggunakan panel. Caranya mengikuti petunjuk yang ada dan tinggal klik. Alternatif lain tanpa panel, metode ini tidak semudah menggunakan panel karena berbasis cli atau text, semua perintah dilakukan dengan mengetik kode-kode perintah pada Linux.

VPS yang digunakan berbasis Centos 8, web server menggunakan nginx. Ada beberapa langkah yang harus kita siapkan sebelum meng install moodle.

Persiapan instalasi Moodle tanpa panel

Ada beberapa komponen yang harus disiapkan untuk install moodle, seperti halnya saat install wordpress komponen-komponen pendukung moodle tidak jauh berbeda. Misal kita mulai dari sistem operasi yang masih fresh, komponen-komponen apa saja yang perlu di install, urutannya sebagai berikut:

NGINX

Gunakan perintah update untuk memperbaharui Centos 8. Install Nginx dan text editor nano.
# dnf update
# dnf install nginx nano
# systemctl enable nginx
# systemctl start nginx

PHP-FPM

Install PHP kemudian edit file php.ini dan php-fpm.d, di akhiri dengan menjalankan php-fpm dan restart nginx
# dnf install php php-cli php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip 
  php-gd php-xml php-intl php-json php-mysqlnd php-fpm php-opcache graphviz aspell ghostscript
# nano /etc/php.ini
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
# nano /etc/php-fpm.d/www.conf
user=nginx
group=nginx
# systemctl start php-fpm
# systemctl restart nginx

MariaDB

Install MariaDB 
# dnf install mariadb-server
# systemctl start mariadb
# systemctl status mariadb
# systemctl enable mariadb
# mysql_secure_installation
Tampil beberapa pertanyaan, yang memerlukan eksekusi dari kita 


Enter current password for root (enter for none): [enter] 
Set root password? [Y/n] [y] 
New password: [123456789] 
Re-enter new password: [123456789] 
Remove anonymous users? [Y/n][y] 
Disallow root login remotely? [Y/n] [y] 
Remove test database and access to it? [Y/n] [y] 
Reload privilege tables now? [Y/n][y]


Tahap persiapan hampir selesai. Catatan: kita sudah mempersiapkan domain yang akan kita install moodle. Domain sudah bisa di akses dengan tampilan halaman muka nginx karena kita sudah meng install Nginx. Pada artikel ini domain yang digunakan adalah eddu.my.id yang sudah terhubung dengan IP publik VPS. Bagi yang berminat menyewa VPS bisa klik link ini.   Bila domain sudah siap, tinggal membuat database untuk moodle
# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE moodledb;
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, 
  		             INDEX, ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '123456789';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Install Moodle

Gunakan perintah wget untuk mendownload moodle, kemudian ekstrak ke path /var/www/html/moodle dan berikan hak akses
# wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
# tar -xzvf  moodle-latest-39.tgz
# mv moodle /var/www/html/
# chmod 775 -R /var/www/html/moodle
# chown nginx:nginx -R /var/www/html/moodle
hasil download dan ekstrak masih berada di /root
kemudian buat folder di path /var/www/html/  dan berikan hak akses
# mkdir -p /var/www/html/moodledata
# chmod 770 -R /var/www/html/moodledata
# chown nginx:nginx -R /var/www/html/moodledata
Selanjutnya edit file config.php di moodle

# cd /var/www/html/moodle/
# cp config-dist.php config.php
# nano config.php
Edit beberapa kode sesuaikan dengan kode di bawah ini, gunakan perintah ctrl+w untuk mempercepat pencarian
$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodledb';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '123456789';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names
$CFG->wwwroot   = 'http://eddu.my.id'; 
$CFG->dataroot  = '/var/www/html/moodledata';
Berikutnya konfigurasi file /conf.d/moodle.conf

# nano /etc/nginx/conf.d/moodle.conf
Ketik ulang kode berikut ini
server{
    listen 80;
    server_name eddu.my.id;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
        }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass            php-fpm;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
Untuk melengkapi proses persiapan instalasi, ketikkan kode berikut
# nginx -t
# systemctl restart nginx
# systemctl restart php-fpm
# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

Instalasi Moodle Melalui Web Installer

Akses alamat eddu.my.id bila persiapan instalasi yang dilakukan melalui SSH sudah benar, akan tampil seperti ini


Continue, akan tampil semua komponen yang diperlukan untuk instalasi moodle dengan status OK. Continue. 


Klik continue lagi. Kemudian melengkapi data-data yang diperlukan untuk akun admin di moodle

Isi password yang kuat, harus terdiri dari 8 karakter, ada angka, huruf kapital, huruf kecil dan simbol. Kemudian lengkapi tampilan front page dengan label yang kita inginkan.


Pada tahap akhir, daftarkan web moodle kita di moodle.org


Langkah ini bisa kita lewat. Tampilan moodle seperti ini, dengan theme default



Untuk menambah kepercayaan web, bisa dilanjutkan dengan seting https dan ssl pada web kita.




1 komentar untuk "Install Moodle Tanpa Panel di VPS Berbasis Nginx Centos 8"