Sistem Operasi : Debian 12
DISK : 100GB
CPU : 4
Memory : 4096
Swap : 8192
IP : 192.168.1.5/24
Gateway : 192.168.1.1
DNS : 8.8.8.8
============== Pada Proxmox ==============
adduser lms
usermod -aG sudo lms
=============== Pada Putty / SSH ==============
===== Database Server =====
clear && apt update && apt upgrade -y && apt install postgresql -y && su - postgres
psql
CREATE USER admin WITH PASSWORD '12345678';
\du
CREATE DATABASE moodle ENCODING 'UTF8' TEMPLATE template0 OWNER admin;
\l
\c moodle
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO admin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO admin;
\q
exit
===== Web Server =====
clear && apt install php-fpm php-pgsql php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-zip php-curl php-cli php-opcache php-readline nginx unzip -y
clear && wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.zip -O moodle.zip && unzip moodle.zip && rm -R /var/www/html/* && cp -R moodle/* /var/www/html && chown -R www-data:www-data /var/www/html && chmod -R 755 /var/www/html && mkdir /var/www/moodledata && chown -R www-data:www-data /var/www/moodledata && chmod -R 770 /var/www/moodledata && cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak && echo "" > /etc/nginx/sites-available/default && nano /etc/nginx/sites-available/default
server {
listen 80;
server_name yourdomain.com;
client_max_body_size 10M;
client_body_timeout 120s;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* \.js$|\.css$|\.png$|\.jpg$|\.jpeg$|\.gif$|\.ico$|\.svg$|\.woff$|\.woff2$|\.ttf$|\.otf$|\.eot$|\.ttc$|\.jpe$ {
expires max;
log_not_found off;
}
}
clear && /sbin/nginx -t && systemctl restart nginx && systemctl status nginx
clear && nano /etc/php/8.2/fpm/php.ini
max_execution_time = 300
memory_limit = 512M
post_max_size = 100M
upload_max_filesize = 100M
max_input_vars = 5000
clear && systemctl restart php8.2-fpm && systemctl status php8.2-fpm
========== Browser Client ================
URL : http://192.168.1.5