Friday 24 July 2020

Cara Install Moodle pada Server Debian 10

Sebelum melakukan instalasi paket-paket yang dibutuhkan, ketikkan perintah berikut ini untuk update Debian di console linux :

apt-get update
apt-get upgrade

1. Install Web Server Nginx

Masuk ke console linux dengan mengetikkan perintah :

apt-get install nginx

Setelah proses install webserver selesai, untuk memastikan bahwa apache sudah terinstall dengan baik, buka browser dengan mengetikkan IP server pada URL address, maka akan muncul halaman default Nginx seperti ini :

setelah Nginx terpasang, berikut ini perintah yang dapat dilankan untuk mematikan, menghidupkan dan mengaktifkan Nginx saat server mulai dijalankan :

systemctl stop nginx.service
systemctl start nginx.service
systemctl enable nginx.service

2. Install Database MariadB

Moodle juga memerlukan database server. MariadB merupakan pilihan yang sangat tepat untuk dipakai pada database server. Untuk Install database MariadB jalankan perintah berikut ini :

apt-get install mariadb-server mariadb-client

setelah mariadb terpasang, berikut ini perintah yang dapat dilankan untuk mematikan, menghidupkan dan mengaktifkan MariadB saat server mulai dijalankan :

systemctl stop mysql.service
systemctl start mysql.service
systemctl enable mariadb.service

Selanjutnya silahkan jalankan perintah berikut ini untuk mengamankan MariadB server :

mysql_secure_installation

akan muncul baris pertanyaan untuk dikonfirmasi y (yes) atau n (no), berikut pertanyaan dan panduan menjawabnya :

  • Enter current password for root (enter for none): Tekan Enter Saja
  • Set root password? [Y/n]: Y
  • New password: Masukkan Password
  • Re-enter new password: Ulangi Password
  • 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

Selanjutnya, silahkan buka konfigurasi bawaan MariadB dengan menjalankan perintah :

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Setelah terbuka, tambahkan konfigurasi tambahan berikut tepat di bawah baris [mysqld]

default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix = 1

simpan (ctrl + O, kemudian tekan enter) dan keluar (ctrl + x), selanjutnya restart MariadB server melalui perintah :

systemctl restart mariadb.service

3. Install PHP 7.4-FPM dan Module Yang Dibutuhkan

Repository bawaan Debian tidak menyediakan PHP7.4, maka kita membutuhkan repository pihak ketiga untuk mendapatkannya.

Jalankan perintah berikut ini untuk menambahkan repositori pihak ketiga

apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo deb https://packages.sury.org/php/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/php7.4.list
apt-get update
apt-get upgrade
apt-get install php7.4-fpm

dan Install modul-modul yang dibutuhkan oleh Moodle :

apt-get install aspell graphviz clamav php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-curl
Setelah php7.4 dan modul-modul pendukungnya terinstall selanjutnya reboot server dan selanjutnya silahkan edit konfigurasi php.ini agar kinerja server lebih powefull. Untuk melakukannya melalui perintah :
nano /etc/php/7.4/fpm/php.ini
Edit nilai/value-nya sesuaikan dengan kemampuan server
file_uploads = On
allow_url_fopen = On
memory_limit = 128M
upload_max_filesize = 8M
max_execution_time = 60
post_max_size = 8M
cgi.fix_pathinfo = 0
Selanjutnya simpan dan keluar dari editor.

4. Membuat Database Moodle

Berikut ini adalah langkah-langkah Membuat database Moodle, bila ada pertanyaan tentang password masukkan password yang telah dibuat saat Instalasi MariadB pada langkah 3.

mysql -u root -p

Berikutnya buat nama database, buat misalnya dengan nama moodle, dan jalankan dengan perintah :

CREATE DATABASE moodle;

Buat Nama User database misalnya moodleuser dan gunakan password baru user :

CREATE USER 'usrmoodle'@'localhost' IDENTIFIED BY 'secret';

Berikutnya ketikkan perintah berikut ini :

GRANT ALL PRIVILEGES ON moodle.* TO 'usrmoodle'@'localhost';
FLUSH PRIVILEGES;
EXIT;

5. Install Moodle

Langkah berikutnya adalah melakukan pemasangan Moodle di server. Saat tulisan ini muncul Moodle terbaru memiliki versi 3.8+. Jalankan perintah berikut ini untuk mendownload Moodle release terbaru.

cd /tmp
wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.tgz

Jalankan perintah berikut untuk mengekstrak file download Moodle, dan memindahkannya ke folder moodle /var/www/html/moodle

tar -zxvf moodle-latest-38.tgz
mv moodle /var/www/html/moodle

Berikutnya adalah membuat folder moodledata sebagai tempat database moodle

cd
mkdir /var/moodledata

berikutnya adalah change modify the directory permission folder moodle dan moodledata

chown -R www-data /var/www/html/moodle
chmod -R 777 /var/www/html/moodle
chown -R www-data /var/moodledata
chmod -R 777 /var/moodledata

Lakukan Reboot pada server, dengan menjalankan perintah :

reboot

6. Konfigurasi Situs Moodle di Nginx

Langkah awal melakukan konfigurasi pada nginx, lakukan sedikit pengeditan letaknya pada direktori /etc/nginx/nginx.conf, silahkan buka dengan mengetikkan perintah :
nano /etc/nginx/nginx.conf

Lakukan sedikit pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds

[…]
keepalive_timeout 2;
[…]

Langkah berikutnya adalah mengkonfigurasi pengaturan file di Nginx untuk Moodle. Pada file inilah akan dikontrol bagaimana user bisa mengakses konten Moodle. Jalankan perintah berikut ini untuk membuat file konfigurasi dan namakan saja filenya dengan moodle :

nano /etc/nginx/sites-available/moodle

Selanjutnya, copy dan paste script berikut dan sesuaikan dengan domain yang kita pakai, setelah itu simpan dan tutup :

server {
listen 80;
listen [::]:80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name 192.168.100.10;

location / {
try_files $uri $uri/ =404;
}

location /dataroot/ {
internal;
alias /var/moodledata/;
}

location ~ [^/]\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

Berikutnya aktifkan moodle di nginx dengan mengkopi/menduplikat /etc/nginx/sites-available/moodle ke /etc/nginx/sites-enabled, melalui perintah :

ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/

Untuk memastikan konfigurasi yang kita lakukan benar ketikkan perintah berikut ini :

nginx -t

dan apabila konfigurasi benar, maka outputnya adalah seperti tampilan ini :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Untuk memastikan bahwa PHP yang dipasang sudah PHP7.4-FPM, maka buatlah file php.info di dokumen root var/www/html/moodle, dengan perintah :

nano /var/www/html/moodle/info.php

dan isi kan :

<?php
phpinfo();

simpan dan tutup editor.
Selanjutnya, restart nginx dengan mengetikkan perintah :

systemctl restart nginx.service

Sekarang kita cek info php, dengan mengetikkan http://192.168.100.10/info.php



Jika ketarangan pada baris Server API menunjukkan FPM/FastCGI maka instalasi PHP7.4-FPM sudah benar dan berjalan dengan baik.

7. Jalankan Moodle

Langkah terakhir adalah memeriksa keberhasilan Install Moodle 3.8 di Debian 10 Menggunakan Nginx, MariadB, PHP7.4-FPM. Untuk memanggil moodle, buka browser dan ketikkan alamat http://alamatIPServer/. Karena pada server yang telah kita bangun memakai IP Server 192.168.100.10 maka alamat IP yang kita ketikkan di url address browser adalah http://192.168.100.10

Language : English (en)

Web address: http://192.168.100.10
Moodle Directory: /var/www/html/moodle
Data Directory: /var/moodledata

Choose database driver: MariaDB (Native/mariadb)

Sesuaikan database name, database user, dan database password dengan yang telah diisikan pada langkah 5. Untuk Table prefix, database port dan Unix socket dikosongi saja tidak masalah. Kemudian tekan Next


Database host: localhost
Database name: moodle
Database user: moodleuser
Database Password: secret
Tables prefix: mdl_


Next next sampai ada halaman bikin username dan password admin.

Next next. Selesai

Sumber: sudutbaca.com


Share:

0 comments:

Post a Comment