Cara Install Moodle di Debian 10 Menggunakan Nginx, MariadB, 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 Posgresql. 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, mariadb 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, MariadB, 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. Namun jika Anda ingin praktis dan melewati langkah ini tapi tetap melanjutkan ke langkah berikutnya saya sudah menyediakan VHD Debian 10 minimal server. Anda tinggal memasangnya pada virtual box dan menjalankannya. VHD ini hanya berisi kelengkapan dasar bawaan ubuntu server seperti nano dan openssh yang nantinya sangat diperlukan untuk kebutuhan instalasi komponen lainnya. Untuk mendapatkan VHD Debian kosongan ini silahkan download melalui link berikut ini :
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 :
2. Install Web Server Nginx
Masuk ke console linux dengan mengetikkan perintah :
1 | apt-get install nginx |
Setelah proses install webserver selesai, untuk memastikan bahwa Nginx 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 :
1 | systemctl stop nginx.service |
1 | systemctl start nginx.service |
1 | systemctl enable nginx.service |
3. 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 :
1 | 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 :
1 | systemctl stop mysql.service |
1 | systemctl start mysql.service |
1 | systemctl enable mariadb.service |
Selanjutnya silahkan jalankan perintah berikut ini untuk mengamankan MariadB server :
1 | mysql_secure_installation |
akan muncul baris pertanyaan untuk dikonfirmasi y (yes) atau n (no), berikut pertanyaan dan panduan menjawabnya :
1 2 3 4 5 6 7 8 | 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 :
1 | nano /etc/mysql/mariadb.conf.d/50-server.cnf |
Setelah terbuka, tambahkan konfigurasi tambahan berikut tepat di bawah baris [mysqld]
1 2 3 4 | 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 :
1 | systemctl restart mariadb.service |
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 :
1 | apt-get install apt-transport-https lsb-release ca-certificates |
1 | wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg |
1 | echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list |
1 | apt-get update |
1 | apt-get upgrade |
Selanjutnya Instal php-fpm :
1 | apt-get install php7.4-fpm |
dan Install modul-modul yang dibutuhkan oleh Moodle :
1 | 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 |
1 | nano /etc/php/7.4/fpm/php.ini |
1 2 3 4 5 6 7 | 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 |
5. 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.
1 | mysql -u root -p |
Berikutnya buat nama database, buat misalnya dengan nama moodle, dan jalankan dengan perintah :
1 | CREATE DATABASE moodle; |
Buat Nama User database misalnya moodleuser dan gunakan password baru user misalnya rumpunnews.com :
1 | CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'rumpunnews.com'; |
Berikutnya ketikkan perintah berikut ini :
1 | GRANT ALL ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'rumpunnews.com' WITH GRANT OPTION; |
1 | FLUSH PRIVILEGES; |
1 | 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.
1 | cd /tmp |
1 | 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
1 | tar -zxvf moodle-latest-38.tgz |
1 | mv moodle /var/www/html/moodle |
Berikutnya adalah membuat folder moodledata sebagai tempat database moodle
1 | cd |
1 | mkdir /var/moodledata |
berikutnya adalah change modify the directory permission folder moodle dan moodledata
1 | chown -R www-data /var/www/html/moodle |
1 | chmod -R 777 /var/www/html/moodle |
1 | chown -R www-data /var/moodledata |
1 | chmod -R 777 /var/moodledata |
Lakukan Reboot pada server, dengan menjalankan perintah :
1 | reboot |
7. Konfigurasi Situs Moodle di Nginx
1 | nano /etc/nginx/nginx.conf |
Lakukan sedikit pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds
1 2 3 | [...] 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 :
1 | nano /etc/nginx/sites-available/moodle |
Selanjutnya, copy dan paste script berikut dan sesuaikan dengan domain yang kita pakai, setelah itu simpan dan tutup :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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; } 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 :
1 | ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/ |
Untuk memastikan konfigurasi yang kita lakukan benar ketikkan perintah berikut ini :
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 :
1 | nano /var/www/html/moodle/info.php |
dan isi kan :
1 2 | <?php phpinfo(); |
simpan dan tutup editor.
Selanjutnya, restart nginx dengan mengetikkan perintah :
1 | 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, 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.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, MariadB, PHP7.4-FPM ini. Jika Anda menginginkan VHD Moodle 3.8 On Debian 10 With Nginx, MariadB dan PHP7.4-FPM hasil dari tutorial di atas, silahkan download melalui link berikut ini :
Baca Juga :
Cara Install Moodle di Ubuntu 16.04 LTS Menggunakan Apache2, MariadB, PHP7.2
semoga bermanfaat.