Inhaltsverzeichnis

Installationsanleitung

Version Status Datum Autor URL
0.1 Entwurf 26.08, 03.09.2020 Koch Joel
0.2 Finish 16.09, 17.09.2020 Koch Joel
0.3 Ergänzungen 18.09.2020 Koch Joel
1.0 Review und Freigabe TT.MM.JJJJ Vorname Nachname

1. Kurzfassung

In dieser Anleitung wird beschrieben, wie man auf einen Ubuntu Server den Moodle Server installiert. Die Installation des Servers erfolgt über die Kommandozeile. Die Basis installation und die Konfiguration jedoch, wird auf dem grafischen Interface auf der Webseite erledigt. Zur Konfiguration gehört auch die Authentifizierung durch einen LDAP-Server.

2. Installation

2.1 Kern und Zusätzliche Software

Zunächst muss Apache, MySQL und PHP installiert werden. Dies geht wie folgt:

sudo apt install apache2 mysql-client mysql-server php libapache2-mod-php

Nun setzen wir das Rootpasswort für MySQL:

sudo mysql_secure_installation

Wir wählen die Passwortsicherheit LOW aus, setzen aber trotzdem ein sicheres Passwort. Nachdem setzen des Passworts kommen ein paar Fragen die man alle mit Yes beantworten kann.

Danach wird noch zusätzliche Software installiert:

sudo apt install graphviz aspell ghostscript clamav php7.4-pspell php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-ldap php7.4-zip php7.4-soap php7.4-mbstring

sudo service apache2 restart

Für das installieren vom Moodle Paket benutzen wir Git:

sudo apt install git

2.2 Moodle

cd /opt

Den Moodle Code herunterladen:

sudo git clone git://git.moodle.org/moodle.git

Ins Verzeichnis mit dem heruntergeladenen Code wechseln:

cd moodle

Nun listen wir alle Versionen auf:

sudo git branch -a

Danach wählen wir eine davon aus:

sudo git branch --track MOODLE_39_STABLE origin/MOODLE_39_STABLE

sudo git checkout MOODLE_39_STABLE

Jetzt kopieren wir das lokale Repository zu /var/www/html:

sudo cp -R /opt/moodle /var/www/html/

sudo mkdir /var/moodledata

sudo chown -R www-data /var/moodledata

sudo chmod -R 777 /var/moodledata

sudo chmod -R 0755 /var/www/html/moodle

2.2.1 MySQL

Als nächstes konfigurieren wir das MySQL file:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Diese 3 Statements muss man bei den Basic Settings in der letzten Zeile einfügen:

default_storage_engine = innodb

innodb_file_per_table = 1

<html> <style type=„text/css“>

.warning{
color: red;
font-weight: bold;
}

</style>

<div class=warning>(Beim Zeitpunkt dieser Doku funktionierte dieses Statement nicht:)<br>
innodb_file_format = Barracuda
</div>

</html>


Damit diese Änderungen auch richtig implementiert werden, restarten wir MySQL;

sudo service mysql restart

Jetzt müssen wir die Moodle Datenbank erstellen und konfigurieren:

sudo mysql -u root -p

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

„passwordformoodledude“ und „moodledude“ auf deine Anforderungen ändern.

create user 'moodledude'@'localhost' IDENTIFIED BY 'passwordformoodledude';

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodledude'@'localhost';
quit;

Dann müssen wir die Berechtigungen ändern damit wir die Installation von Moodle sauber durchführen können:

sudo chmod -R 777 /var/www/html/moodle

Danach öffnest du deinen Browser und gehst zu → http://IP.VON.DEINEM.SERVER/MOODLE

3. Konfiguration

3.1 Basiskonfiguration von Moodle

<html> <style type=„text/css“> .header{ color: #ff5050; font } </style>

<div class="header"><h3>Sprache</h3></div>
 <p> Die bevorzugte Sprache oder die vorgegebene.</p>
<div class="header"><h3>Verzeichnis für moodledata</h3></div>
 <p>var/moodledata</p>
<div class="header"><h3>Datenbank Typ</h3></div>
 <p>Wähle --> mysqli</p>
<div class="header"><h3>Datenbank Einstellungen</h3></div>
 <dl>
  <li>Host Server --> localhost</li>
  <li>Datenbank --> moodle</li>
  <li>User --> ... (Der Benutzer den du beim aufsetzen der Datenbank erstellt hast)</li>
  <li>Password --> ... (Das Passwort das du für den Benutzer erstellt hast)</li>
  <li>Tables Prefix --> mdl_</li>
 </dl>
 <div class="header"><h3>Folge den Anweisungen und clicke einfach weiter.</h3></div>
 <div class="header"><h3>Danach musst du einen Seiten Administrator erstellen, am besten verwendest du dafür deine Vorgaben.</h3></div><br>
 <div class="header"><h3>Berechtigungen nach der Basiskonfiguration</h3></div>

</html> Da wir die Basiskonfiguration auf dem Webinterface gemacht haben, müssen wir diese Berechtigungen noch ändern.

sudo chmod -R 0755 /var/www/html/moodle

3.2 Zusätzliche Konfiguration

<html> <style type=„text/css“> .header{ color: #ff5050; font } </style> <div class=„header“><h3>Systempfade nach der Installation</h3></div> <p>Gehe zu Seiten Administration –> Server –> Systempfade</p>

 <dl>
  <li>Path to du --> /usr/bin/du</li>
  <li>Path to apsell --> /usr/bin/aspell</li>
  <li>Path to dot --> /usr/bin/dot</li><br>
  <p>Sichere deine Änderungen</p>
 </dl>

<div class=„header“><h3>Antivirus</h3></div> </html> Das Quarantäne Verzeichnis erstellen:

sudo mkdir /var/quarantine

Den Besitzer ändern:

sudo chown -R www-data /var/quarantine

Nun navigiere zur Seitenadmininstration → Plugins → Antivirus Plugins → Antivirus Plugins verwalten

<html> <dl>

<li>Aktivere ClamAV Antivirus</li>
<li>Gehe zu Einstellungen</li>
<li>Setze die richtigen Einstellungen</li>
<li><b>ClamAV Pfad:</b> /usr/bin/clamscan</li> 
<li><b>Quarantäne Pfad:</b> /var/quarantine</li>
<li>Speichern</li>

</dl> </html>

4. LDAP

4.1 Installation

Da wir nun alle Konfigurationen am Moodle fertig gemacht haben, können wir mit der Authentifizierung beginnen.
Für das gehen wir zuerst zur Seitenadministration → Plugins → Plugins installieren

Danach installieren wir ein Plugin von der Moodle Website.

Auf der Website angelangt, suchen wir nach LDAP. Eines der ersten sollte LDAP (Sync Plus) sein.

Genau dieses Plugin brauchen wir. Also wählen wir die neueste Version aus und installieren es auf unseren Computer. Danach gehen wir zurück zur Plugins Installieren Seite und ziehen den ZIP Ordner in das Feld hinein. Sobald es installiert ist, geht es weiter zum Konfigurieren.

4.2 Konfiguration

Als erstes konfigurieren wir die LDAP Verbindung. Für das müssen wir zu → Plugins → Plugins Übersicht. Wenn man dann auf zusätzliche Plugins klickt, kommt das neu installierte Plugin. Wir gehen dann zu den Einstellungen und konfigurieren sie so. 1) 2) <html> <dl>

<ol><b>Server Settings</b></ol>
<li>Host URL --> Die IP-Adresse des LDAP-Servers</li><br>
<ol><b>Bind Settings</b></ol>
<li>Distinguished Name --> Den Bind-User muss man hier angeben. Beispiel: cn=admin,dc=rafisa,dc=org</li>
<li>Password --> Das Passwort für den Bind-User.</li><br>
<ol><b>User lookup Settings</b></ol>
<li>User Type --> Welchen Nutzertyp deinen LDAP Server benutzt. Beispiel: posixAccount (rfc2307)</li>
<li>Contexts --> Wo die zu synchronisierenden Benutzer sind. Beispiel: ou=people,dc=rafisa,dc=org</li>
<li>Search Subcontexts --> Yes</li>
<li>Dereference Alias --> Yes</li>
<li>User Attribute --> uid</li>
<li>Member Attribute --> memberuid</li>
<li>Member Attribute uses dn --> 0</li><br>
<ol><b>LDAP Password Expiry Settings</b></ol>
<li>Expiry Warning --> 10</li>

</dl> </html> Damit diese Authentifizierung auch benutzt wird, muss man sie noch aktivieren. Für das gehen wir wieder zu Plugins → Plugins Übersicht → zusätzliche Plugins.

Dann klicken wir hier drauf:

Und klicken dann auf das Auge. Auch kann man es noch mit den Pfeilen nach oben verschieben damit es die bevorzugte Authentifizierungsmethode ist.

4.3 Synchronisierungs Vorgang

Damit die User auch Synchronisiert werden, muss man noch einen Vorgang konfigurieren. Für das geht man zu Seiten Adminstration → Server → Geplante Vorgänge. Dann bei LDAP users sync job (Sync Plus) diese Veränderungen vornehmen. <html> <dl>

<li>Minute --> */5</li>
<li>Hour --> *</li>
<li>Day --> *</li>
<li>Month --> *</li>
<li>Day of Week--> *</li>  

</dl> </html> Die Checkbox wo Disabled steht noch unchecken damit der Vorgang aktiviert wird. Was das nun macht, ist, dass dieser Vorgang jede 5 Minuten gestartet wird.

Wenn man möchte, kann man dies auch gerade Testen in denn man die Einstellungen speichert und dann auf „Run Now“ klickt.

5. Testing

Moodle-Installation

Testfall Nr. #1
Beschreibung Das Verbinden mit dem Moodle Server
Vorgehen Den Internetbrowser seiner Wahl öffnen
Dann zu IP.ADRESSE.VOM.SERVER/moodle gehen
Voraussetzung / Umfeld Die Moodle Installation wurde richtig durchgeführt
Erwartetes Resultat Die Verbindung wird ohne Probleme hergestellt.
OK / nicht OK OK
Aufgetretene Fehler / Bemerkungen Keine

LDAP-Verbindung

Testfall Nr. #2
Beschreibung Das Anmelden via LDAP funktioniert
Vorgehen Mit den Benutzerdaten von einem LDAP Benutzer sich im Moodle einloggen
Voraussetzung / Umfeld Die LDAP Verbindung ist richtig konfiguriert und die Benutzer sind synchronisiert.
Erwartetes Resultat Man kann sich einloggen
OK / nicht OK OK
Aufgetretene Fehler / Bemerkungen Keine

6. Auswertung

Ich konnte bei diesem langwierigen Projekt viel über den Moodle Server lernen. Leider funktionierte nicht alles von Anfang an wie es sollte, da der Authentifizierungs Prozess sehr schwierig war zu konfigurieren. Die einzelnen Einstellungen hatten nämlich keine Ähnlichkeit gegenüber den anderen Server die wir aufgesetzt haben. Somit musste ich viele Informationen recherchieren und ausprobieren. Nach langer recherche jedoch, konnte ich das System zum laufen bringen und die Freude war umso grösser, als das System endlich lief.

7. Quellenverzeichnis

https://docs.moodle.org/39/en/Step-by-step_Installation_Guide_for_Ubuntu