- Veröffentlicht am
- • Open Source Projekte
Moodle installieren auf einem Debian-Server – Schritt für Schritt
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-

Moodle ist eines der weltweit bekanntesten Open-Source-Lernmanagementsysteme (LMS). Es wird in Schulen, Universitäten und Unternehmen eingesetzt, um Online-Lernen, Kurse und Prüfungen zu organisieren. In diesem Artikel zeigen wir dir, wie du Moodle manuell und sauber auf einem Debian-12-Server installierst – ohne One-Click-Installer, ohne Docker, aber mit voller Kontrolle.
Voraussetzungen
Um Moodle installieren zu können, benötigst du:
- Einen Debian 12 Server mit Root-Zugriff
- Einen Webserver (Apache oder NGINX)
- Eine Datenbank (z. B. MySQL oder PostgreSQL)
- PHP 8.x mit den nötigen Erweiterungen
- Einen Mailserver oder externen SMTP-Zugang
- Grundkenntnisse in Linux und SSH
1. Moodle herunterladen
Variante A: Manuell herunterladen
cd /var/www/html
wget https://download.moodle.org/stable500/moodle-latest-500.tgz
tar -xvzf moodle-latest-500.tgz
chown -R www-data:www-data moodle
Variante B: Git (empfohlen für Entwickler)
cd /var/www/html
git clone -b MOODLE_500_STABLE git://git.moodle.org/moodle.git moodle
chown -R www-data:www-data moodle
2. Datenbank erstellen
Nutze z. B. MySQL/MariaDB:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'DEINPASSWORT';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost';
FLUSH PRIVILEGES;
Hinweis: Passwörter sicher speichern!
3. Datenverzeichnis anlegen
Dieses Verzeichnis wird außerhalb des Webroots angelegt:
mkdir /var/moodledata
chown -R www-data:www-data /var/moodledata
chmod 770 /var/moodledata
4. Webserver konfigurieren
Beispiel: Apache
nano /etc/apache2/sites-available/moodle.conf
<VirtualHost *:80>
ServerName moodle.deine-domain.de
DocumentRoot /var/www/html/moodle
<Directory /var/www/html/moodle>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Aktivieren:
a2ensite moodle.conf
a2enmod rewrite
systemctl reload apache2
5. PHP vorbereiten
Installiere PHP + nötige Erweiterungen:
apt install php php-mysql php-xml php-curl php-gd php-intl php-zip php-soap php-mbstring php-bcmath php-readline php-cli php-ldap php-xmlrpc php-apcu php-opcache
Starte Apache neu:
systemctl restart apache2
6. Moodle konfigurieren
Rufe nun die Moodle-URL im Browser auf:
http://moodle.deine-domain.de
Alternativ (ohne Browser) per CLI:
php /var/www/html/moodle/admin/cli/install.php
Dort gibst du:
- Datenbank-Zugangsdaten
- Admin-Login
- Sprache
- Speicherorte
ein. Moodle erstellt anschließend config.php
automatisch.
7. Cron-Job einrichten
Sehr wichtig! Ohne regelmäßigen Cron-Job funktionieren viele Moodle-Funktionen nicht.
crontab -u www-data -e
Einfügen:
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null 2>&1
8. Sicherheit und Berechtigungen
/var/www/html/moodle
: nicht beschreibbar/var/moodledata
: beschreibbar durchwww-data
Beispiel:
chown -R www-data:www-data /var/www/html/moodle /var/moodledata
chmod -R 755 /var/www/html/moodle
chmod -R 770 /var/moodledata
9. Glückwunsch!
Du hast jetzt ein funktionierendes Moodle-System eingerichtet. Du kannst dich als Administrator einloggen und Kurse anlegen, Benutzer einladen und das System weiter konfigurieren.