Das letzte Update war vor 10. August 2023 von schaechner
In dieser Anleitung zeigen wir euch heute, wie ihr die Lernplattform Moodle installieren könnt.
Am besten, wir starten jetzt gleich!
Wir wechseln ins Terminal und dann mit
cd /var/www/
in unser Daten-Verzeichnis.
Hier downloaden wir gleich mal die neusten Moodle-Dateien mit
sudo wget https://github.com/moodle/moodle/archive/refs/heads/master.zip
Diese ZIP-Datei heißt in unserem Fall jetzt „moodle-4.2.1.zip“ und die entpacken wir mit
sudo unzip master.zip
Und schon haben wir den Ordner entpackt. Falls Sie wollen, können wir den Ordner noch verschieben oder umbenennen, das machen wir alles mit
mv Ordnername Ordnerpfad
Wir bennen den Ordner, der jetzt entpackt worden ist (moodle-master) zu „moodle“ um.
Das machen wir mit
sudo mv moodle-master/ moodle/
Anschließend müssen wir noch die Berechtigungen anpassen, das machen wir mit
sudo chown -R root moodle/
sudo chmod -R 0755 moodle/
Jetzt müssen wir noch unsere Datenbank erstellen.
Das machen wir mit
sudo mysql
CREATE DATABASE datenbankame;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'Passwort';
GRANT ALL PRIVILEGES ON datenbankname.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Den Username, Datenbankname und User-Passwort könnt ihr festlegen wie ihr wollt – aber wir brauchen die Daten später nochmal!
Wenn wir das getan haben, könne wir auch schon die IP-Adresse/moodle aufrufen und schon sind wir bei unserem Web-Installer angelangt!
Optional können wir jetzt noch eine Domain festlegen.
Dafür erstellen wir mit
sudo nano /etc/apache2/sites-available/moodle.conf
eine neue Datei.
Der Inhalt kann ungefähr so aussehen:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/moodle/
ServerName learn.xn--schchner-2za.de
ServerAlias www.learn.schächner.de
Alias /moodle "/var/www/moodle/"
<Directory /var/www/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/moodle
SetEnv HTTP_HOME /var/www/moodle
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =learn.xn--schchner-2za.de [OR]
RewriteCond %{SERVER_NAME} =www.learn.schächner.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Wir aktivieren die Seite mit,
sudo a2ensite moodle.conf
passen die Bereichtigungen wieder an:
sudo chown -R www-data:www-data /var/www/moodle/
sudo chmod -R 755 /var/www/moodle/
und starten unseren Webserver neu:
sudo service apache2 restart
sudo systemctl restart apache2.service
Jetzt brauchen wir nur noch ein SSL-Zertifikat von Let’s Encrypt, damit unsere Webseite sicher ist.
Dafür führen wir diesen Code aus:
sudo certbot --apache
Hier müssen wir unsere Domain mit der Zahl auswählen und schon ist es fertig!
Jetzt können wir wirklich mit der Web-Installation von Moodle starten.
Zuerst wählen wir unsere Sprache
Dann müssen wir unsere Pfade bestätigen.
Entweder Sie lassen sich das Datenverzeichnis selber erstellen (in dem jetzt angegebenen Ordner ist es unsicher) oder wir erstellen uns das Verzeichnis selber mit
sudo mkdir /var/moodledata/
sudo chmod 0777 /var/moodledata/
Dann haben wir das auch.
Das lasen wir so, wie es ist.
Hier müssen Sie von der Datenbank das Passwort und den Usernamen eingeben. Die letzten zwei Felder können Sie leer lassen.
Jetzt müssen wir noch die Bedingungen bestätigen.
Und dann wird nochmal alles überprüft:
Falls PHP-Extension fehlen, kann man die meistens mit
sudo apt install php-EXTENSIONNAME
installieren.
Der rote Fehler ist aber schlimmer; dazu müssen wir die config.php Datei bearbeiten. Das machen wir mit
sudo nano config.php
Und hier ändern wir die Zeile
$CFG->dbtype = 'mysqli';
zu
$CFG->dbtype = 'mariadb';
um.
Ganz unten ist noch der Fehler wegen den max_input_vars.
Den können wir entfernen, indem wir in der Datei mit
sudo nano /etc/php/8.1/apache2/php.ini
öffnen und die Zeile
;max_input_vars = 1000
zu
max_input_vars = 5000
anpassen.
BEACHTET, DASS PHP 8.2 NICHT FUNKTIONIERT!
Anschließend starten wir den Server und PHP mit
sudo service apache2 resart
neu.
Falls dieser Fehler kommt, müssen Sie ein paar Minuten warten oder die Installation von neuem beginnen.
Sie können aber auch einfach versuchen, die Berechtigungen nochmal zu überprüfen.
(fast 6 Stunden später)
Hier sehen wir, das endlich alles fertig ist.
Dann gehen wir auf „weiter“
und nehmen allgemeine Einstellungen vor – wie ihr diese konfiguriert, ist ganz egal!
Zu guter letzt legen wir noch den Namen der Webseite und weitere Einstellungen fest.