open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
Open Source Projekte

Moodle installieren auf einem Debian-Server – Schritt für Schritt

Autor
Moodle installieren auf einem Debian-Server – Schritt für Schritt

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 durch www-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.

Weiterführende Links