aboutsummaryrefslogtreecommitdiff
path: root/doc/de/studip_installation_faq.txt
blob: 85b837a38a30e46c1a1f3f2b11c0622e946ea317 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
1. Sortierung der Umlaute

Q: Stud.IP sortiert Umlaute immer am Ende einer Liste ein, nicht da wo sie hingehören. Wie kann ich das ändern?

A: Das ist kein Problem von Stud.IP, sondern von MySQL(?). Was helfen sollte:
   - MySQL(?) runterfahren
   - in die my.cnf folgende Zeile unter [mysqld] eintragen: "default-character-set=german1"
   - in das Verzeichnis mit den Tabellen wechseln
   - "myisamchk -r -q --set-character-set=german1 *.MYI" ausführen
   - MySQL(?) wieder starten

   Vorher ein Backup der DB machen :)

2. LDAP

Q: Wie richte ich LDAP Authentifizierung ein ?

Zur Authentifizierung gegen einen LDAP Server stehen im Release zwei Plugins zur Verfügung (in der config/config_local.inc als
Ldap und LdapReader bezeichnet). Die entsprechenden Klassen befinden sich im Verzeichnis
lib/classes/auth_plugins und heissen dort StudipAuthLdap.class.php und StudipAuthLdapReader.class.php.
Die Konfiguration dieser Plugins sollte in der local.inc vorgenommen werden. Hierzu muss der Name des Plugins in die
Konfigurationsvariable $STUDIP_AUTH_PLUGIN[] eingetragen werden, normalerweise reicht das entfernen der
Kommentarzeichen. Es kann mehr als ein Plugin aktiviert sein, die Reihenfolge, in der die Plugins bei einem
Authentifizierungsvorgang abgearbeitet werden, kann hier auch vorgenommen werden. Unterhalb von $STUDIP_AUTH_PLUGIN[]
müssen dann die Optionen für das ausgewählte Plugin konfiguriert werden ($STUDIP_AUTH_CONFIG_xxx). Für Ldap sind
folgende Einstellungen nötig:

    - host : Hostname des LDAP Servers, oder eine URL der Form ldap[s]://[hostname]:[port]
    - protocol_version : LDAPv2 oder LDAPv3, für OpenLDAP 2.x.x besser 3
    - base_dn : base DN, die Suchbasis unterhalb derer die Einträge zu finden sein müssen
    - username_attribute : Attribut, welches den Nutzernamen enthält
    - anonymous_bind : lässt der LDAP Server ein anonymes anmelden zu, so kann vor der eigentlichen Authentifizierung
      das Verzeichnis nach dem eingegebenen Nutzernamen durchsucht werden, um den korrekten Nutzer DN zu finden.
      Ist das anonyme Binden ausgeschaltet, muss die Suchbasis dem Zweig entsprechen, indem die persönliche Angaben zu finden
      sind, da der Nutzer DN in diesem Fall direkt aus der Suchbasis gebildet wird. Außerdem ist dann keine Möglichkeit
      gegeben eine Meldung über ein falsches Passwort zu geben.
    - error_head : Präfix der Fehlermeldung bei fehlgeschlagener Anmeldung mit diesem Plugin
    - user_data_mapping : in diesem Array werden die Zuordnungen von LDAP Attributen zu Stud.IP Datenbankeinträgen
      vorgenommen. Diese Zurodnungen werden bei jeder erfolgreichen Anmeldung in der Stud.IP Datenbank aktualisiert.
      Der Schlüssel eines Eintrages ist das Stud.IP Datenbankfeld in der Form <tabelle>.<feld>. Zu jedem Schlüssel sind
      zwei weitere Einträge nötig. In "callback" wird der Name der Methode im Plugin angegeben, die die Zuordnung
      vornehmen soll, "map_args" enthält die Argumente, die an die Methode übergeben werden. Der Eintrag dummy als
      callback nimmt keine Zuordnung vor, verhindert aber, dass die entsprechenden Felder im Stud.IP vom Nutzer
      verändert werden können, man sollte die default Einträge für username und password besser nicht verändern.
      Im LDAP PLugin existieren zwei simple mapping Methoden doLdapMap und doLdapMapVorname. Erstere erwartet als
      Argument den Namen des LDAP Attributes (z.B. sn für den Nachnamen) und gibt einfach den Inhalt zurück. Letztere
      nimmt zwei Argumente entgegen und versucht aus dem cn den Vornamen zu extrahieren (nur ein Beispiel).
      Benötigt man komplexere Mappings, so empfiehlt es sich ein eigenenes Plugin von AuthLdap abzuleiten und
      die entsprechenden Methoden dort zu realisieren.

LdapReader authentifiziert nicht den Nutzer direkt gegen den LDAP Server, sondern benutzt einen konfigurierten LDAP
Account mit Leserechten, um das Passwort des Nutzers aus dem Verzeichnis zu lesen und mit dem eingegebenen zu vergleichen.
Anonymes Binden wird dazu nicht benötigt. Dieses Plugin ist als Beispiel gedacht, und
sollte als Vorlage für eigene Plugins dienen.
Einstellungen:

    - user_password_attribute : das Attribut des Nutzerpasswortes (Passwort muss als MD5 Hash vorliegen!)
    - reader_dn : der Nutzer DN des Accounts, der zum auslesen benutzt wird
    - reader_password : das Passwort des Accounts, der zum auslesen benutzt wird

3. Literaturverwaltung unter SuSE ab 9.2

Q: Probleme mit der Literaturverwaltung (Modul php-yaz fehlt) mit neueren PHP-Versionen/SuSE-Distributionen (SuSE Linux > 9.2)

Das von der Literaturverwaltung benötigte Modul php-yaz ist nicht mehr standardmäßig in php enthalten und muss
nachinstalliert werden. Dabei gibt es mehrere Probleme, mit denen ein Linux-Laie schlecht umgehen kann.

Zumindest in SuSE Linux 9.2 und 9.3 gibt es für phpyaz nämlich kein rpm. Erforderlich ist es also, die
Datei yaz.so aus der Source zu generieren. Dazu holt man sich die Aktuelle Source (bei mir 1.04) von
http://www.indexdata.dk/phpyaz/.

Nach dem Entpacken:

    phpize
    ./configure
    make

Unter  modules/yaz.so  ist die Extension erzeugt worden. Die Datei yaz.so speichert man in das Verzeichnis der php-Extensions (unter SuSE Linux 9.3 ist das /usr/lib/php/extensions ).

In php.ini (bei mir /etc/php.ini) ergänzt man im extensions-Abschnitt

    extension = yaz.so

Neuladen des Apache-Webservers nicht vergessen!

4. Assets

Q: Ich möchte Grafiken, CSS und Javascrips gerne auslagern. Wie gehe ich dabei vor?

Bitte passen Sie den Wert $ASSETS_URL in der config/config_local.inc.php an. Achten Sie bitte unbedingt darauf, dass Sie den absoluten Pfad zu dem Assets-Verzeichnis
angeben, da die Bildarstellung ansonsten nicht korrekt funktioniert.
In der E-Learning-Schnittstelle müssen ggf. die Pfade zu den verwendeten Grafiken anpassen, wenn diese nach dem Verschieben des Assets-
Verzeichnisses nicht korrekt dargestellt werden. Sie finden diese Einstellungen in der local.inc.

- The Stud.IP Core Group <info@studip.de> 2007