Open Source Projekte

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

Moodle ist eines der weltweit bekanntesten Open-Source-Lernmanagementsysteme (LMS).

1 min Lesezeit
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

``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 ServerName moodle.deine-domain.de DocumentRoot /var/www/html/moodle

Options FollowSymLinks AllowOverride All Require all granted ```

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

Weiterführende Links