Perintah terminal Install Moodle di Debian 12
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php -y
sudo systemctl start apache2 && sudo systemctl enable apache2
sudo systemctl status apache2
sudo systemctl start mariadb && sudo systemctl enable mariadb
sudo systemctl status mariadb
php -v
php -m
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_file_format = Barracuda
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1
sudo systemctl restart mariadb
sudo mariadb-secure-installation
sudo mariadb -u root -p
CREATE DATABASE moodle_db;
CREATE USER ‘moodle’@’localhost’ IDENTIFIED BY ‘moodle’;
GRANT ALL PRIVILEGES ON moodle_db.* TO ‘moodle’@’localhost’;
FLUSH PRIVILEGES;
SHOW DATABASES;
EXIT;
sudo nano /etc/php/8.2/apache2/php.ini
memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Malta
max_input_vars = 6000
sudo systemctl restart apache2
cd /var/www
sudo wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgz
sudo tar -xf moodle-latest-405.tgz
sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledata
sudo nano /etc/apache2/sites-available/moodle.conf
DocumentRoot /var/www/moodle/
ServerName Your IP or Domain here
ServerAdmin email@example.com
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
sudo a2enmod rewrite
sudo a2ensite moodle.conf
sudo apachectl configtest
sudo systemctl restart apache2
Secure Moodle with SSL:
sudo apt install certbot python3-certbot-apache -y
sudo certbot –apache –agree-tos –no-eff-email -m email@example.com -d your_domain_name