Wednesday 21 September 2022

Installasi moodle pada Debian 10 Buster menggunakan NGINX


 Assalamualaikum wr.wb

Pada artikel kali ini saya membagikan tutorial untuk menginstall serta mengkonfigurasi moodle pada linux Debian 10 Buster dimana kita akan menggunakan webserver NGINX, dimana kelebihan web server yang satu ini bila dibandingkan dengan Apache bila untuk kegiatan menampilkan website NGINX bisa dibilang NGINX lebih unggul, maka banyak diantara pengelola website lebih memuliakan NGINX bukan artian Apache tidak bagus, apache sama bagusnya dengan NGINX akan tetapi kecepatan dan proses load menampilkan halaman web lebih baik, ini di karenakan optimasi pada NGINX oleh pihak developer sangat di prioritaskan. itulah mengapa NGINX sedikit lebih unggul, sebagai administrator web, pasti lebih memuliakan tampilan yang lebih cepat dan responsif dalan hal menampilkan serta proses record database pada sebuah web.


Oke kali ini karena dalam artikel ini sebagai catatan saya agar tidak lupa, semoga juga dapat bermanfaat untuk orang lain, singkat cerita saya ditunjuk oleh instansi sebuah sekolah tingkat SMK mendapatkan mandat untuk pelaksanaan kegiatan ujian sekolah, karena pelaksanaan di lakukan secara serentak dan pelaksanaannya dibuat ala-ala seperti online, sebenarnya banyak aplikasi yang bisa dimanfaatkan untuk kegiatan ujian online mulai dari google form yang sudah sangat mudah, beesmart, woka CBT dan lain sebagainya, itu tergantung masing-masing admin yang mengolahnya, dan pelaksanaannya memanfaatkan smartphone siswa masing-masing, dalam artian menghemat waktu dan peralatan serta paper.


Nah disini admin terkesima dengan aplikasi moodle yang bisa kita kelola dengan mudah, tentunya dengan sedikit ketekunan dan kesabaran dalam hal mempelajari cara menginstall dan mengkonfigurasinya. Disini saya memutuskan beberapa hal yaitu

  1. Server yang di gunakan adalah DELL Server PowerEdge R740 " Dual prosessor
  2. Sistem operasi yang digunakan adalah Debian 10 buster (didalamnya terinstall debian 10 server juga yang ditanamkan pada virtualbox) alasannya mengapa OSnya sudah pakai debian terus servernya pakai debian lagi, kenapa tidak langsung? alasannya ya bila ada kendala dalam server moodlenya tidak perlu menginstall OS utama lagi tinggal konfig lagi debian yang ada dalam virtualbox, selain itu juga selain aman dari virus windows alasan lain adalah lebih ringan, karena paket yang terinstall kita pilih yang secukupnya saja, dan dalam kasus ini adalah setiap sesi ujian server harus melayani kurang lebih 700 siswa tiap sesi, yaitu kelas X, XI, dan XII.
  3. Aplikasi yang akan di install di dalam server debian yang ada pada virtualbox adalah:

1. Mariadb sebagai database

2. NGINX sebagai webserver

3. Php 7.4 sebagai module yang dibutuhkan aplikasi moodle

Adapun tahapan yang akan dikerjakan saya bagi beberapa judul dan langsung pada sintax yang di ketikkan:

Lakukan installasi Linux Debian serta lakukan Update dan Upgrade 
Lakukan installasi linux debian yang ada dalam virtualbox dalam hal ini saya tidak akan menjelaskan, bila ingin mencoba kalian bisa mencari di google bagaimana cara menginstall linux debian pada virtualbox, setelah selesai silahkan lakukan update dan upgrade dengan perintah
# apt update
# apt upgrade
Lakukan installasi NGINX

 # apt install nginx

kemudian lakukan pengecekan menggunakan web browser dengan alamat IP address yang sudah di konfigurasi sebelumnya misalkan menggunakan IP address http://192.168.8.200

bila berhasil muncul tulisan Welcome to nginx

kemudian lakukan stop, restart, dan enable nginx dengan perintah

# systemctl stop nginx.service
# systemctl start nginx.service
# systemctl enable nginx.service
 Install Database MariaDB

# apt install mariadb-server mariadb-client
Setelah berhasil terpasang silahkan lakukan stop, restart dan enable MariaDB dengan perintah

# systemctl stop mysql.service
# systemctl start mysql.service
# systemctl enable mariadb.service
Selanjutnya lakukan perintah berikut untuk mengamankan database MariaDB

# mysql_secure_installation
Konfirmasi 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
Konfigurasi bawaan MariadB dengan menjalankan perintah :

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

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 + x), jawab y, enter, selanjutnya restart MariadB server melalui perintah :
# systemctl restart mariadb.service
Install PHP 7.4-FPM dan Module Yang Dibutuhkan

# apt 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" | sudo tee /etc/apt/sources.list.d/php.list
# apt/sources.list.d/php.list
# apt update
# apt upgrade
# apt 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" | sudo tee /etc/apt/sources.list.d/php.list
# apt/sources.list.d/php.list
# apt update
# apt upgrade
# apt install php7.4-fpm
# 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

Konfigurasi php.ini agar kinerja server lebih powefull. Untuk melakukannya melalui perintah :

# nano /etc/php/7.4/fpm/php.ini
Edit pada bagian valuenya sesuai kemampuan server kita

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
keluar dan simpan dengan (ctrl + x), jawab y enter

Membuat Database moodle pada MariaDB

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 misalnya lmssystem : 

CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'lmssystem';
Berikutnya ketikkan perintah berikut ini :
GRANT ALL ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'lmssystem' WITH GRANT OPTION;

FLUSH PRIVILEGES;

EXIT;

 Install Moodle

 Pemasangan atau installasi 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

 Konfigurasi moodle pada Nginx

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.8.200;
 
location / {
try_files $uri $uri/ =404;
}
 
client_max_body_size 8M;
 
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 (ctrl+x), jawab y, enter
Selanjutnya, restart nginx dengan mengetikkan perintah :
# systemctl restart nginx.service
Sekarang kita cek info php, dengan mengetikkan http://192.168.8.200/info.php

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

 Menjalankan 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.0.200 maka alamat IP yang kita ketikkan di url address browser adalah http://192.168.8.200/ , dan hasilnya adalah seperti ini, dan tekan next :

pastikan direktori Moodle dan Moodledata direktori lokasinya sudah benar.
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
Tekan Continue
Tekan Continue lagi, dan selanjutnya muncul list server check, selanjutnya tekan continue lagi
dan akhirnya proses instalasi berjalan, silahkan tunggu, jika sdah selesai, tekan continue, selesai

Nah selesai sudah pekerjaan kita untuk Install Moodle di Debian 10 (Buster). Langkah berikutnya adalah memaksimalkan dan mengoptimalkan penggunaan Moodle untuk pembelajaran.

Demikian dari saya semoga bermanfaat untuk kita semua

Wassalamualaikum wr.wb

No comments:

Post a Comment

Cara membuat dock ubuntu dapat di minimize dan maximaze

 Assalamualaikum wr.wb salam para pecinta opensource ubuntu, oke kali ini mau bagi tutorial yang mungkin para pecinta ubuntu yang belum mene...