Monday, 24 August 2020

Another Way Import VDI to Proxmox

Step 1, Copy the VDI into the Proxmox VE host

No need to covert the VDI file to RAW format. Just copy the vdi file into the local folder. For me, I will just put it at /root/testing.vdi

Step 2, Create a new VM in Proxmox

On the “OS” tab, choose “Do not use any media”

On the “Hard Disk” tab, choose “local-lvm”, as storage, Disk size is any size you want, for example, 8GB. Format, choose “Raw disk image (raw)”, On CPU and Memory, choose the same as the Virtualbox settings.

Confirm to create the new VM.

Step 3, Detach and Remove the Hard Disk

Say my VM ID is 109, choose Virtual Machine 109, Hardware, Hard Disk, choose “Detach” button.

Detach the Hard Disk

At this point, the hard disk will be listed as “Unused Disk.” It still exists but is not attached to the system. To destroy it completely, select the Unused Disk and click Remove again; and confirm when prompted.

Step 4,  Import the VDI to VM 109

I want the VM disk located in the local-lvm as all my other VMs.

Enter the following command inside of the SSH window of the host.

qm importdisk 109 /root/testing.vdi local-lvm

Above, 109 is the VM ID, /root/testing.vdi is the disk image of Virtualbox VM disk, local-lvm is the location of Storage.

It takes minutes to hours, depends on the size of the vdi file, and also the CPU.


After it is finished. Go back to the Proxmox VE web GUI.

Step 5, Attache the Hard Disk and start it

On the Virtual Machine 109, Hardware, I can see the unused Hard Disk located here.   Double click it to add the Unused Disk.

Choose SATA for my machine. It will be attached to the VM.

On the Options tab, double click Boot Order to choose boot device 1 to be Disk ‘sata0’.

Boot order, Options.

Then, click “Start” button to start the VM 109.

For my situation, I still need to modify the network interface to make sure it can retrieve the DHCP settings.

 

It is a little bit easier for someone. Because the VDI file may be smaller than RAW format file. So save more time when transferring the file from the Virtualbox Host to Proxmox Host.

Monday, 13 April 2020

Elearning SMK Negeri 2

Tutorial Untuk Siswa
https://youtu.be/wHbFHu5QtAU


Link Elearning SMK 2 Terbaru
smkn2prm.ddns.net:2020
Absensi
https://bit.ly/Absensigtksmk2
Rekap
https://bit.ly/Responabsensigtksmk2
Tutorial Moodle
1. Menambahkan Aktifitas Berupa Materi dalam Bentuk Buku (Untuk Guru) https://www.youtube.com/watch?v=J-tf8fvidG0
2. Copy materi dari Word ke Moodle (Untuk Guru) https://youtu.be/OLDZJjGR3hU
3. Tutorial Aplikasi Moodle Mobile (Untuk Siswa)
https://youtu.be/wHbFHu5QtAU
4. Khusus Untuk Admin (Cohort) https://www.youtube.com/watch?v=rf9omhbYd9s&feature=youtu.be

Monday, 30 March 2020

CARA INSTALL MOODLE DI DEBIAN 10 MENGGUNAKAN NGINX, POSTGRESQL, PHP7.4-FPM

Dunia pendidikan Indonesia pada akhir-akhir ini telah melalui sebuah era baru dalam sistem pembelajarannya. Seiring dengan kebijakan ujian nasional menggunakan Computer-Base Test (CBT) di jenjang pendidikan SMP dan SMA, sekolah telah mengakrabkan diri menggunakan berbagai macam aplikasi pembelajaran menggunakan Teknologi Informasi berbasis komputer. Penggunaan TIK kebanyakan dipakai untuk melakukan penilaian pembelajaran oleh guru misalnya adalah untuk ulangan harian, ulangan mid semester dan ulangan semester. Aplikasi CBT seperti Beesmart, WokaCBT, moodle dan aplikasi berbayar lainnya menjadi pilihan guru dan tenaga pendidikan di sekolah/lembaganya. Setiap aplikasi memiliki kelebihan dan kekurangan masing-masing tergantung dari sisi mana kita melihatnya. Moodle menurut saya memiliki berbagai kelebihan yang tidak dimiliki oleh aplikasi CBT lainnya. Selain gratis, moodle juga merupakan sebuah aplikasi open source yang terus berkembang dan dipakai di seluruh dunia. Berikut ini saya sajikan bagaimana Cara Install Moodle di Debian 10 Menggunakan Nginx, MariadB, PHP7.4-FPM .
Moodle sangat fleksibel karena bisa di-Install di berbagai platform sistem operasi seperti windows, linux, MacOs, dan FreeBSD. Bagi Anda yang hanya mengerti sistem operasi windows bisa melakukan Instalasi sendiri menggunakan Xampp, namun secara umum penggunakan moodle di xampp-windows kurang powerfull, cenderung agak berat karena membutuhkan resource memory yang besar. Untuk mengatasi hal tersebut kita bisa menggunakan Linux sebagai server tempat instalasi moodle yang diharapkan lebih cepat, ringan dan membutuhkan resources memory yang lebih kecil. Pada kesempatan ini, saya memilih Debian 10 sebagai OS server moodle.
Untuk web server yang harus diinstall di Debian sebenarnya ada sua pilihan utama yaitu menggunakan Apache bisa juga menggunakan Nginx, mana yang lebih baik ?, silahkan cari informasinya di Mbah Gugel 🙂 . Demikian juga dengan database server, ada berbagai pilihan bisa menggunakan Mysql, MariadB atau Postgresql. Dan yang terakhir adalah versi PHP, kita bisa memakai versi PHP dari yang lama sampai yang terbaru. Nah diantara berbagai pilihan yang ada, di sini saya memilih Nginx, Postgresql dan PHP7.4 yang dipasang di server Debian 10, sementara Moodle yang dipakai adalah moodle terakhir saat tulisan ini muncul yaitu Moodle 3.8. Langsung saja kita mulai bagaimana Cara Install Moodle di Debian 10 Menggunakan Nginx, Postgresql, PHP7.4-FPM. Langkah-langkahnya adalah sebagi berikut :

1. INSTALL DEBIAN 10

Pada tutorial ini Install Debian 10 sengaja dilewati karena kalau dijelaskan dari awal tentunya kan panjang dan lama. Anda bisa mencari tutorial cara Install Debian Server 10 di Mbah Gugel jumlahnya sangat banyak. Rekomendasi saya silahkan cari tutorial di howtoforge.com dengan keyword howto install Debian 10 minimal server. 
VHD Debian 10 Minimal server ini sudah dilakukan pengubahan dari mode IP DHCP ke IP Statis 192.168.0.200 seperti halnya yang dipakai pada IP VHD UNBK. Openssh juga sudah terpasang agar nantinya server ini bisa diremote menggunakan Putty, winscp atau aplikasi remote server lainnya. Akses ssh juga sudah saya aktifkan Root Login Akses agar bisa akses melalui SSH. Sebelum melangkah lebih jauh dalam menjalankan perintah-perintah instalasi komponen server, perlu diketahui bahwa pada tutorial ini, saya menggunakan hak akses sebagai root.
Sebelum melakukan instalasi paket-paket yang dibutuhkan, ketikkan perintah berikut ini untuk update Debian di console linux :
apt-get update
apt-get upgrade

2. 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 dijalankan untuk mematikan, menghidupkan dan mengaktifkan Nginx saat server mulai dijalankan :
systemctl stop nginx.service
systemctl start nginx.service
systemctl enable nginx.service

3. INSTALL DATABASE POSTGRESQL

Pada postingan sebelumnya kami selalu menggunakan MariadB sebagai tempat penyimpanan database moodle-nya. Untuk kali ini, kami gunakan Postgresql. Untuk memasangnya jalankan perintah berikut ini :
apt-get install postgresql postgresql-contrib
setelah selesai pemasangan untuk memastikannya jalankan jalannya koneksi ke database, jalankan perintah ini :
pg_isready
Jika muncul : /var/run/postgresql:5432 – accepting connections . Maka koneksi database sukses. Selanjutnya, untuk mengecek status database baik, jalankan perintah berikut :
systemctl status postgresql
setelah selesai pemasangan untuk memastikannya jalankan jalannya koneksi ke database, jalankan perintah ini :
systemctl start postgresql
systemctl stop postgresql
systemctl restart postgresql
systemctl reload postgresql
Selanjutnya silahkan jalankan perintah berikut ini untuk mengamankan Postgresql, buat password baru :
passwd postgres
Selanjutnya buat user pada database dan amankan dengan password yang kuat, dengan perintah berikut :
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"
kemudian silahkan keluar dengan perintah exit.
Selanjutnya, silahkan mengkonfigurasi otentifikasi client. File konfigurasi Postgres utama terletak di /etc/postgresql/11/main/postgresql.conf . Selain file ini, Postgres menggunakan dua file konfigurasi yang diedit secara manual, yang mengontrol otentikasi klien.
Jika Anda memilih untuk menggunakan otentikasi berbasis kata sandi , Anda dapat mengimplementasikan salah satu metode ini: md5 atau kata sandi yang beroperasi dengan cara yang sama kecuali untuk cara kata sandi ditransmisikan melalui koneksi, yaitu masing -masing hash MD5 dan teks jernih.
Menggunakan otentikasi kata sandi md5 mencegah pencabutan kata sandi oleh peretas dan menghindari menyimpan kata sandi di server dalam teks biasa. Metode kata sandi hanya dapat digunakan dengan aman jika koneksi dilindungi oleh enkripsi SSL.
Untuk panduan ini, kami akan menunjukkan cara mengkonfigurasi otentikasi kata sandi md5 untuk otentikasi klien.
Otentikasi klien dikendalikan oleh file konfigurasi /etc/postgresql/11/main/pg_hba.conf . Postgres menyediakan berbagai metode otentikasi klien termasuk otentikasi berbasis kata sandi. Koneksi klien diautentikasi berdasarkan alamat host database, basis data, dan pengguna.
nano /etc/postgresql/11/main/pg_hba.conf
Cari baris berikut dan ubah metode otentikasi menjadi md5seperti yang ditunjukkan pada gambar.
Selanjutnya, perubahan yang telah dilakukan silahkan simpan (ctrl + O, kemudian tekan enter) dan keluar (ctrl + x). Selanjutnya silahkan restart postgresql dengan perintah :
systemctl restart postgresql

4. 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-pgsql 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.

5. MEMBUAT DATABASE MOODLE

Berikut ini adalah langkah-langkah Membuat database Moodle, bila ada pertanyaan tentang password masukkan password yang telah dibuat saat Instalasi Postgresql pada langkah 3.
su - postgres
Berikutnya buat nama database, buat misalnya dengan nama moodle, dan jalankan dengan perintah :
psql
Berikutnya membuat database baru yang kita beri nama “moodle” dgn usernya dengan nama “moodleuser” di postgresql
CREATE USER moodleuser WITH PASSWORD 'password';
CREATE DATABASE moodle;
GRANT ALL PRIVILEGES ON DATABASE moodle to moodleuser;
\q
selanjutnya keluar postgresql dengan perintah exit.

6. 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

7. 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.0.200;
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 :
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.0.200/info.php

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

8. JALANKAN MOODLE

Langkah terakhir adalah memeriksa keberhasilan Install Moodle 3.8 di Debian 10 Menggunakan Nginx, Postgresql, 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.0.200/ , dan hasilnya adalah seperti ini, dan tekan next :
pastikan direktori Moodle dan Moodledata direktori seperti tampilan di bawah ini.

Selanjutnya

  • 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
Lakukan beberapa proses isian. Apabila sudah selesai, maka tampilannya adalah seperti ini :



Nah selesai sudah pekerjaan kita untuk Install Moodle di Debian 10 (Buster). Akan sangat senang dan bangga apabila kita dapat melakukannya sendiri seperti awal mula saya belajar melakukan ini. Langkah berikutnya adalah memaksimalkan dan mengoptimalkan penggunaan Moodle untuk pembelajaran. Terima kasih sudah berkunjung dan membaca tulisan tentang Cara Install Moodle di Debian 10 Menggunakan Nginx, Postgresql, PHP7.4-FPM ini. 
Dynamic base server config.php di folder moodle
if (defined('STDIN'))
$CFG->wwwroot   = 'https://localhost';
else
$CFG->wwwroot   = 'https://'.$_SERVER["HTTP_HOST"].'';
$CFG->dataroot  = '/home/SESUAIKANFOLDER/www/moodledata';
$CFG->admin     = 'admin';