install Aplikasi Moodle di Ubuntu Server 20.04
Install Moodle di Ubuntu server 20.04
Moodle adalah sistem manajemen pembelajaran mobile (LMS) yang bersifat open source, yang membuatnya mudah untuk membuat dan mendistribusikan kursus dan materi pelatihan Anda sendiri untuk tujuan apa pun.
Anda dapat menggunakan Moodle untuk memberi daya pada kursus daring dan mempelajari situs web dengan mudah, tanpa perlu mempelajari cara membaca dan menulis kode dan skrip yang rumit.
Saat Anda mencari LMS opensource, gratis, dan berguna untuk menjalankan kursus Anda secara online, Moodle mungkin harus menjadi titik awal bagi Anda. Dan jika Anda ingin mempelajari cara memasang dan mengaturnya dengan mudah, maka inilah postingan yang Anda butuhkan.
~$ sudo ssh -l [username server] [ip server] -p [port]
Update Repo
sudo apt update
Install Apache2
apt -y install apache2
sudo ufw allow 'Apache'
Install PHP 7.4
sudo apt -y install software-properties-common sudo add-apt-repository ppa:ondrej/php
sudo apt update sudo apt -y install php7.4
Install extension
sudo apt -y install php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc \ php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev \ php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap \ php7.4-zip php7.4-cli php7.4-intl \ imagemagick git zip libgd-dev libapache2-mod-php
Edit
sudo vi /etc/php/7.4/apache2/php.ini
upload_max_filesize = 100M post_max_size = 48M memory_limit = 512M max_execution_time = 600 max_input_vars = 3000 max_input_time = 1000
Restart apache2
sudo systemctl restart apache2.service
Test
sudo vi /var/www/html/phpinfo.php
<?php phpinfo( ); ?>
Install Percona
sudo apt -y install wget wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo percona-release setup ps57 sudo apt -y install percona-server-server-5.7
Edit
sudo vi /etc/mysql/percona-server.conf.d/mysqld.cnf
[mysqld] max_allowed_packet=32M
Install Moodle
Setup Database
Kalau Operasional
Setup root password (jika di perlukan saja)
mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
Setup database operasonal dengan username & password akses
# mysql -u root -p Enter password: create database moodle; ALTER DATABASE moodle charset=utf8mb4; ALTER DATABASE moodle CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; grant INSERT,SELECT on root.* to moodle@localhost; grant CREATE, INSERT, SELECT, DELETE, UPDATE on moodle.* to moodle@localhost identified by "moodlepassword"; grant CREATE, INSERT, SELECT, DELETE, UPDATE on moodle.* to moodle identified by "moodlepassword"; exit
Kalau hanya Latihan
Password root 123456
# mysql -u root -p123456
create database moodle; ALTER DATABASE moodle charset=utf8mb4; ALTER DATABASE moodle CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; grant ALL on root.* to moodle@localhost; grant ALL on moodle.* to moodle@localhost identified by "moodle"; grant ALL on moodle.* to moodle identified by "moodle"; exit
/etc/init.d/mysql restart
Siapkan folder /var/moodledata/
Download language pack
sudo cd /usr/local/src wget https://download.moodle.org/download.php/direct/langpack/3.8/id.zip
Install language pack
cd /usr/local/src mkdir -p /var/moodledata/lang cp id.zip /var/moodledata/lang cd /var/moodledata/lang unzip id.zip chmod -Rf 777 /var/moodledata/lang/ chown -Rf www-data: /var/moodledata/lang/
Install Moodle
Download
cd /usr/local/src wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.tgz
Install
cd /usr/local/src cp moodle-latest-38.tgz /var/www/html/ cd /var/www/html/ tar zxvf moodle-latest-38.tgz chown -Rf www-data: /var/moodledata/ chmod -Rf 777 /var/www/html/moodle chown -Rf www-data: /var/www/html/moodle
Lanjutkan dengan konfigurasi via web
http://localhost/moodle http://ip-address/moodle
Language -> id -> Selanjutnya Web Address http://ip-address/moodle Moodle Directory /var/www/html/moodle Data Directory /var/moodledata/ Confirm paths -> Selanjutnya Choose database driver Type -> MySQL -> Selanjutnya Database settings Improved MySQL (native/mysqli) Database host localhost Database name moodle Database user moodle Database password moodle Tables prefix mdl_ unix socket (check) -> Selanjutnya
Installation -> Lanjut Server checks -> Selanjutnya
Installation Nama Pengguna Password Nama Depan Nama akhir Alamat Email Kota Pilih Negara -> Perbaharui Profile Installation Nama lengkap situs Nama singkat untuk situs (mis. kata tunggal) Keterangan halaman depan -> Save Changes
Akses Moodle
http://localhost/moodle/ http://ip-address/moodle/
Step 1: Install Nginx HTTP web server
Untuk menginstal Nginx di Ubuntu, jalankan perintah di bawah ini:
Step 2: Install MariaDB Databases Server
Server database sumber terbuka yang dapat Anda gunakan dengan Moodle adalah server database MariaDB. Cepat, aman dan server default untuk hampir semua server Linux.
- Enter current password for root (enter for none): cukup tekan Enter
- Set root password? [Y/n]: Y
- New password: buat password
- Re-enter new password: masukan ulang password 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, jalankan perintah di bawah ini untuk membuka file konfigurasi default MariaDB ...
#
* Basic Settings
#
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
#port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
#skip-external-locking
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = ON
~$ sudo add-apt-repository ppa:ondrej/php
Jalankan perintah di bawah ini untuk membuka PHP
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Jakarta
Masuk ke konsol database MariaDB menggunakan perintah di bawah ini:
Selanjutnya, buat database Moodle kosong
# FLUSH PRIVILEGES;
# EXIT;Langkah 5: Unduh rilis Moodle terbaru
Pada titik ini, Moodle siap untuk diunduh dan diinstal. Gunakan perintah di bawah ini untuk mengunduh Moodle versi terbaru. Pada saat penulisan ini, versi terbaru adalah 4.0.
Untuk melihat rilis Moodle, lihat halaman ini.
~$ sudo apt install git curl
Setelah menginstal git dan curl di atas, ubah ke direktori root Nginx dan unduh paket Moodle dari Github ... Selalu ganti nomor branch dengan branch terbaru.
~$ cd /var/www/
~$ sudo git clone -b MOODLE_39_STABLE git://git.moodle.org/moodle.git moodle
Kemudian jalankan perintah di bawah ini untuk mengatur izin yang benar agar Moodle berfungsi.ls
~$ sudo mkdir -p /var/www/moodledata
~$ sudo chown -R www-data:www-data /var/www/
~$ sudo chmod -R 755 /var/www/
~$ sudo chown www-data:www-data /var/www/moodledata
contoh output :
Jalankan perintah di bawah ini untuk membuat file VirtualHost baru bernama moodle di /etc/nginx/sites-available/ directory
Salin konten di bawah ini dan simpan ke dalam file yang dibuat di atas.
listen 80;
listen [::]:80;
root /var/www/moodle;
index index.php index.html index.htm;
server_name gerootmoodle.com www.gerootmoodle.com;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/www/moodledata/;
}
location ~ [^/].php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Setelah menyimpan file di atas, jalankan perintah di bawah ini untuk mengaktifkan situs baru, kemudian restart server Nginx.
~$ sudo systemctl restart nginx.service
Pada tahap ini, Moodle siap dan dapat diluncurkan dengan masuk ke IP server atau nama host.
Step 7: Install Let’s Encrypt Wildcard Certificates
Pada langkah 6, Moodle siap digunakan tanpa SSL. Namun, jika Anda ingin melayani lalu lintas web melalui HTTPS, maka instal dan konfigurasi Mari Enkripsi sertifikat SSL atau sertifikat publik lainnya adalah suatu keharusan.
Untuk menginstal Mari Enkripsi, jalankan perintah di bawah ini.
~$ sudo apt update
~$ sudo apt-get install letsencrypt
Perintah di atas akan menginstal alat certbot dan semua dependensi yang akan diizinkan untuk membuat fungsi alat.
Mari Enkripsi menyediakan banyak cara untuk menantang Anda untuk memvalidasi bahwa Anda memiliki domain yang ingin Anda berikan sertifikat SSL. Anda tidak akan dapat menghasilkan sertifikat jika Anda tidak dapat membuktikan bahwa Anda memiliki domain yang ingin Anda amankan.
Untuk sertifikat wildcard, satu-satunya metode tantangan Mari Enkripsi terima adalah DNS challenge, yang dapat kita panggil melalui preferred-challenges=dns flag.
Jadi, untuk menghasilkan wildcard cert untuk domain *.gerootmoodle.com Anda menjalankan perintah di bawah ini :
~$ sudo certbot certonly --manual --preferred-challenges=dns --email admin@gerootmoodle.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d gerootmoodle.com -d *.gerootmoodle.com
Opsi perintah di atas dijelaskan di bawah ini:
- certonly : Dapatkan atau perpanjang sertifikat, tetapi jangan pasang
- –manual : Dapatkan sertifikat secara interaktif
- –preferred-challenges=dns : Gunakan dns untuk mengotentikasi kepemilikan domain
- –server : Tentukan titik akhir yang akan digunakan untuk menghasilkan
- –agree-tos : Setuju dengan persyaratan pelanggan server ACME
- -d : Nama domain untuk memberikan sertifikat
Plugins selected: Authenticator manual, Installer None
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: y
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for gerootmoodle.com
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.gerootmoodle.com with the following value:
x4MrZ6y-JqFJQRmq_lGi9ReRQHPa1aTC9J2O7wDKzq8
Before continuing, verify the record is deployed.
Beberapa penyedia DNS perlu beberapa saat untuk menyebarkan perubahan sehingga tergantung pada platform penyedia Anda.
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gerootmoodle.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gerootmoodle.com/privkey.pem
Your cert will expire on 2020-01-09. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
Untuk memverifikasi bahwa sertifikat siap, jalankan perintah di bawah ini:
Certificate Name: gerootmoodle.com
Domains: *.gerootmoodle.com
Expiry Date: 2020-01-05 07:48:04+00:00 (VALID: 85 days)
Certificate Path: /etc/letsencrypt/live/gerootmoodle.com/fullchain.pem
Private Key Path: /etc/letsencrypt/live/gerootmoodle.com/privkey.pem
Dengan Mari Enkripsi terinstal, buka kembali file Nginx VirtualHost yang dibuat di atas dan tambahkan konfigurasi Mari Enkripsi untuk mengamankan situs web Anda.
Jalankan perintah di bawah ini, buka file.
listen 80;
listen [::]:80;
server_name *.gerootmoodle.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::] 443 ssl http2;
root /var/www/moodle;
index index.php index.html index.htm;
server_name gerootmoodle.com www.gerootmoodle.com;
if ($host != "gerootmoodle.com") {
return 301 https://gerootmoodle.com$request_uri;
}
ssl_certificate /etc/letsencrypt/live/gerootmoodle.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gerootmoodle.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/gerootmoodle.com/chain.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS13+AESGCM+AES128:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_ecdh_curve X25519:sect571r1:secp521r1:secp384r1;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/www/moodledata/;
}
location ~ [^/].php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Setelah di atas, restart Nginx dan PHP 7.4-FPM
~$ sudo systemctl reload nginx
~$ sudo systemctl reload php7.4-fpm
Selanjutnya, buka browser Anda dan browse ke nama domain server. Anda akan melihat panduan penyetelan Moodle untuk menyelesaikan. Silakan ikuti wizard dengan hati-hati.
Kemudian ikuti instruksi di layar.
Pilih bahasa instalasi, lalu klik Next untuk melanjutkan.
contoh output :
Pada layar berikutnya, pilih drive basis data [MariaDB] dan klik Next untuk melanjutkan.
contoh output :
Pada layar ini, ketikkan info basis data yang Anda buat di atas, termasuk nama basis data, nama pengguna, dan kata sandi.
Kemudian klik Next untuk melanjutkan.
contoh output :
Di sinilah Anda mengetikkan nama pengguna admin, membuat kata sandi, dan detail lainnya.
contoh output :
Setelah selesai, Moodle harus dipasang dan siap digunakan. Masuk sebagai admin dan mulai mengonfigurasi situs Anda.
contoh output :
Itu dia!
Selamat! Anda telah berhasil menginstal CMS Moodle di Ubuntu 18.04 | 20,04. Jika Anda menemukan kesalahan di atas, silakan gunakan formulir komentar di bawah ini untuk melaporkannya.
Terima kasih,
Komentar
Posting Komentar