Instalasi Moodle 3.11.6 di Ubuntu 20.04.3

Versi Moodle terbaru pada waktu tulisan ini dibuat adalah versi 3.11.6. Versi Ubuntu LTS terbaru adalah 20.04.3

Tahap Instalasi

Tahap pertama adalah update dan upgrade Ubuntu

apt update
apt upgrade

Setelah itu download dan buka source code Moodle 3.11.6 (sumber: apt update apt upgrade) Moodle 3.11.6: https://download.moodle.org/download.php/stable311/moodle-3.11.6.tgz

cd /var/www/html
tar -xzvf moodle-latest-3.11.6.tgz

Berikutnya instalasi prerequisite untuk Moodle

apt install apache2 mysql-server php php-xml php-curl php-gd php-zip php-intl php-mysqli php-mbstring php-xmlrpc php-soap libapache2-mod-php php-mysql

Opsional: instalasi postfix untuk menangani email outgoing

apt install postfix 

Opsional: edit file php.ini, ganti baris “max_input_vars = 1000” menjadi “max_input_vars = 5000”. Jika hal ini tidak dilakukan, pada waktu instalasi akan muncul warning.

nano /etc/php/7.4/apache2/php.ini

Kemudian restart apache

service apache2 restart

Membuat database dan user di MySQL untuk Moodle

CREATE database moodle;
CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'moodlepassword';
ALTER USER 'moodle'@'localhost' IDENTIFIED BY 'moodlepassword'; #change password
GRANT ALL PRIVILEGES ON moodle . * TO 'moodle'@'localhost';
ALTER USER 'moodle'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moodlepassword';

Setelah itu lanjutkan proses instalasi melalui web browser. Misal alamat server adalah 192.168.0.100, maka alamat untuk instalasi adalah http://192.168.0.100/moodle

Instalasi Moodle 3.6 pada Ubuntu 20.04.2

Pada saat tulisan ini dibuat, Moodle terbaru adalah versi 3.11. Namun demikian, Moodle versi 3.6 masih diperlukan jika kita melakukan upgrade dari Moodle versi sebelum 3.6. Ada sedikit kesulitan pada instalasi Moodle 3.6 karena Moodle 3.6 tidak dapat diinstall dengan PHP 7.3, padahal instalasi Ubuntu 20.04.2 secara default akan menginstall PHP versi 7.4. Untuk itu kita perlu mengubah sedikit prosedur instalasi, supaay versi PHP yang diinstall adalah versi 7.3, bukan 7.4

Tahap instalasi

Tahap pertama adalah update Ubuntu

apt update
apt upgrade

Setelah itu download dan buka source code Moodle 3.6

cd /var/www/html
tar -xzvf moodle-latest-36.tgz

pakai PHP 7.3

  • ref: https://docs.moodle.org/dev/Moodle_and_PHP
  • https://www.tecmint.com/install-different-php-versions-in-ubuntu/

add-apt-repository ppa:ondrej/php
apt update
apt upgrade

apt install apache2
apt install mysql-server
apt install php7.3
apt install php7.3-xml
apt install php7.3-curl
apt install php7.3-gd
apt install php7.3-zip
apt install php7.3-intl
apt install php7.3-mysqli
apt install php7.3-mbstring
apt install php7.3-xmlrpc
apt install php7.3-soap
apt install libapache2-mod-php7.3 php7.3-mysql

apt install apache2 mysql-server php7.3 php7.3-xml php7.3-curl php7.3-gd php7.3-zip php7.3-intl php7.3-mysqli php7.3-mbstring php7.3-xmlrpc php7.3-soap libapache2-mod-php7.3 php7.3-mysql

Restart apache2

service apache2 restart

Masuk ke console MySQL , kemudian buat user baru untuk Moodle:

CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'moodlepassword';
GRANT ALL PRIVILEGES ON moodle . * TO 'moodle'@'localhost';
ALTER USER 'moodle'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moodlepassword';

Setelah itu proses instalasi dapat dilanjutkan melalui web browser

browse ke http://192.168.0.120/moodle/
auto redirect ke http://192.168.0.120/moodle/install.php

Melihat Daftar DNS Server di Ubuntu 20.04

Berikut ini perintah untuk mengetahui daftar DNS server yang dipakai oleh Ubuntu 20.04, dari command line:

systemd-resolve --status

Outputnya kurang lebih seperti ini:

Global
       LLMNR setting: no
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 2 (enp0s31f6)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 111.95.141.4
         DNS Servers: 202.73.99.2
                      118.136.64.5
                      111.95.141.4
          DNS Domain: domain.name

Sumber: https://askubuntu.com/questions/152593/command-line-to-list-dns-servers-used-by-my-system

Serial Console di Ubuntu 20.04

Tidak semua kejadian crash menghasilkan catatan pesan di console Putty. Untuk itu ditambahkan serial console supaya output dari console dapat direkam di komputer lain. Petunjuk menambahkan serial console didapat di artikel “Ubuntu 18.04: GRUB2 and Linux with serial console

Teknisnya dilakukan dengan mengedit file /etc/default/grub menjadi sebagai berikut:

# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n ‘Simple configuration’

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=””
#GRUB_CMDLINE_LINUX=””

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD …)
#GRUB_BADRAM=”0x01234567,0xfefefefe,0x89abcdef,0xefefefef”

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480

# Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=”true”

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE=”480 440 1″
#
GRUB_CMDLINE_LINUX=”console=tty1 console=ttyS0,115200″
GRUB_TERMINAL=”console serial”
GRUB_SERIAL_COMMAND=”serial –speed=115200 –unit=0 –word=8 –parity=no –stop=1″

Kemudian dilakukan update konfigurai grub dengan aplikasi grub-mkconfig

grub-mkconfig -o /boot/grub/grub.cfg

Setelah itu dilakukan reboot
Output dari serial console diambil dari port COM1, kemudian disambungkan ke USB serial yang terhubung ke sebuah laptop. Di laptop dipakai software Putty sebagai terminal serial. Port COM1 sudah ada di motherboard, namun belum terhubung ke konektor DB9, jadi perlu disambungkan dulu dengan tambahan konektor port serial DB9.

Konektor port serial DB9 untuk COM1 dan COM2
Konektor port serial DB9
Kabel USB ke Serial DB9
Kabel USB ke Serial DB9

Instalasi CUDA driver untuk GPU NVidia di Ubuntu 20.04

Berikut ini prosedur instalasi CUDA driver untuk Nvidia cards di Ubuntu 20.04

CUDA driver ini akan melakukan instalasi GUI, jadi sebaiknya kita pakai Ubuntu Desktop, atau kalau menggunakan Ubuntu server yang belum ada GUInya, install dulu GUI sederhana untuk Ubuntu, misalnya dari artikel “How to Install a Desktop (GUI) on an Ubuntu Server

Tahap selanjutnya adalah mengikuti prosedur instalasi di artikel “CUDA Toolkit 11.4 Downloads“. Pada laman tersebut kita masukkan saja platform kita. Prosedur instalasi berbeda-beda untuk masing-masing platform.

Sebagai contoh, berikut ini pilihan platform saya:

Untuk Ubuntu, pada saat tulisan ini dibuat hanya dapat dilakukan instalasi di Ubuntu versi 18.04 dan 20.04

Berikut ini prosedur instalasi yang ditampilkan berdasarkan pilihan di atas:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

Prosedur tersebut dapat dilakukan apa adanya tanpa perubahan. Jika kita melakukan instalasi di beberapa server yang berbeda, proses download dengan wget cukup dilakukan sekali saja, untuk instalasi berikutnya file *.deb tersebut cukup dikopi dari file yang sudah didownload sebelumnya

Instalasi Drupal 7 di Ubuntu 20.04

Persiapan Server

Lakukan instalasi Ubuntu 20.04 di sebuah server, bisa server fisik ataupun VPS

Lakukan proses update dan upgrade pada Ubuntu

apt update
apt upgrade

Instalasi Aplikasi Pendukung

Drupal memerlukan aplikasi Apache2, PHP dan MySQL/MariaDB

Lakukan langkah berikut untuk instalasinya

 

#install apache 2
apt install apache2

# cek apakah Apache sudah terinstall dengan baik.
http://192.168.1.225/

#install MariaDB
apt install mariadb-server

#install PHP
apt install php libapache2-mod-php php-mysql

#install PHP plugins for drupal
apt install php-mbstring php-dom php-gd php-xml mcrypt 

Pengujian Instalasi

Untuk menguji instalasi PHP, dapat dilakukan dengan membuat file phpinfo.php di /var/www/html/phpinfo.php dengan isi sebagai berikut

<?php
phpinfo();

Membuat Database Untuk Drupal

Drupal 7 memerlukan database. Buatlah sebuah database di MariaDB. Berikut ini contoh cara pembuatan database di MariaDB dengan menggunakan command line. Buat juga sebuah user di database tersebut yang dapat mengakses ke database untuk drupal.

> mysql -uroot 
CREATE database drupal;
CREATE USER 'drupal'@'localhost' IDENTIFIED BY 'drupal'; 
grant all privileges on drupal.* to 'drupal'@'localhost';

Instalasi Drupal

Download kode Drupal 7. Pada saat tulisan ini dibuat, Drupal 7 terbaru adalah versi 7.78

lakukan untar file drupal-7.78.tar.gz di direktori  /var/www/html

Lanjutkan instalasi melalui browser dengan cara mengarahkan browser ke alamat server dan direktori  drupal: misal http://192.168.1.225/drupal-7.78/

Kadang-kadang muncul pesan error sebagai berikut.

Drupal 7 Installation
Drupal 7 Installation

Solusi

  • Copy file sites/default/default.settings.php ke sites/default/settings.php ke 
  • Buat file itu writeable untuk user www-data
  • Buat direktori /var/www/html/drupal-7.78/sites/default/files
  • Ubah direktori itu agar writeable bagi user www-data
:/var/www/html# cd drupal-7.78/
:/var/www/html/drupal-7.78# cd sites/default/
:/var/www/html/drupal-7.78/sites/default# ls -l
:/var/www/html/drupal-7.78/sites/default# cp default.settings.php  settings.php
:/var/www/html/drupal-7.78/sites/default# chown www-data settings.php

:/var/www/html/drupal-7.78/sites/default# mkdir files
:/var/www/html/drupal-7.78/sites/default# chown www-data files/

Selanjutnya adalah proses konfigurasi database. Pada tahap ini masukkan setting database yang sudah dibuat.

fdsafads

Aktifkan Clean URL

URL pada Drupal dapat dibuat lebih bagus dengan cara menggunakan fitur Clean URL. Untuk mengaktifkan fitur ini ada 2 syarat:

  • Aktifkan modul rewrite pada Apache2
  • Aktifkan “AllowOverride All” pada direktori Drupal

Jalankan perintah berikut untuk mengaktifkan modul rewrite pada Apache2

# a2enmod rewrite

Untuk mengaktifkan AllowOverride, edit file /etc/apache2/apache2.conf , tambahkan konfigurasi berikut ini :

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Berikut tampilan Drupal setelah selesai instalasi.

Referensi