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
``bash 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)
``bash 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:
``sql 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:
``bash mkdir /var/moodledata chown -R www-data:www-data /var/moodledata chmod 770 /var/moodledata ``
4. Webserver konfigurieren
Beispiel: Apache
``bash nano /etc/apache2/sites-available/moodle.conf ``
```apacheconf
Aktivieren:
``bash a2ensite moodle.conf a2enmod rewrite systemctl reload apache2 ``
5. PHP vorbereiten
Installiere PHP + nötige Erweiterungen:
``bash 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:
``bash systemctl restart apache2 ``
6. Moodle konfigurieren
Rufe nun die Moodle-URL im Browser auf:
``text http://moodle.deine-domain.de ``
Alternativ (ohne Browser) per CLI:
``bash 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.
``bash crontab -u www-data -e ``
Einfügen:
```cron
- /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:
``bash 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.