< Quickstart-Guide | Admin-Dokumentation | Konfiguration >
Auf dieser Seite... (ausblenden)
Die aktuellste Version dieser Anleitung finden Sie jederzeit im Hilfe-Wiki unter folgendem Link: http://docs.studip.de/admin/Admins/Installationsanleitung .
Weitere nützliche Hinweise zur Installation und zum Betrieb finden sie im Dokumentationsverzeichnis des Release-Paktes (/doc/de/) in mehreren FAQs zu unterschiedlichen Themenbereichen.
Stud.IP setzt für den produktiven Einsatz ein LAMP-System voraus. Alternativ ist eine Installation auf einem WAMP-System möglich, wird jedoch von uns nicht empfohlen, da einige Kernfunktionen wie etwa das Versenden von E-Mails oder die Exportfunktion u.U. schwierig zu konfigurieren sind.
WICHTIGER HINWEIS: Diese Installationsanleitung setzt root Rechte bezüglich des Webservers (inclusive PHP Interpreter) und der MySQL Datenbank voraus.
Empfohlen wird der Apache in der Version 2.x unter Unix oder Windows.
Seit der Stud.IP Version 2.0 wird PHP Version 5.3 vorausgesetzt. Wir empfehlen aus Sicherheitsgründen immer die neuesten Versionen der 5.3-Serie.
Zusätzlich sind folgende Module erforderlich:
mysql erlaubt den Zugriff auf einen MySQL Datenbank-Server.
gettext implementiert ein NLS (Native Language Support) API, das dazu verwendet wird, Stud.IP zu internationalisieren.
session bietet die Möglichkeit, bestimmte Daten während einer Folge von Aufrufen Ihrer Website festzuhalten.
JSON ist ab PHP v5.2.0 schon enthalten und muss ansonsten über PECL installiert werden. Das JSON-Modul ist notwendig für die De-/Kodierung in das JSON-Format.
FTP um im Dateibereich von Stud.IP das Verlinken von Dateien von fremden FTP-Servern zu ermöglichen.
sysvshm und sysvsem empfohlen, die aber in den meisten PHP-Paketen bereits enthalten sind.
xsl und xml benötigt. Zudem müssen der Formating Objects Processor und ein Java Runtime Environment installiert sein.
LDAP-Moduls nötig.
dom benötigt.
Die korrekte Funktion von PHP im Zusammenspiel mit dem Apache und MySQL läßt sich mit einem einfachen Script feststellen, in dem folgender Text enthalten sein muss und anschließend in das Stammverzeichnis des Webservers gelegt wird (etwa unter dem Namen test.php):
<?
phpinfo();
?>
Dabei werden alle einkompilierten Module angezeigt und es können die Einstellungen der php.ini überprüft werden.
Seit Stud.IP Version 1.6 wird nur noch MySQL Version 5.0 oder Version 5.1 unterstützt.
zip/unzipzip/unzip nicht zur Verfügung stehen, können sie die Konfigurationsvariable $ZIP_USE_INTERNAL auf TRUE setzen (zu finden in der Datei local.inc, siehe in Abschnitt 7.1).
dvips und
ImageMagick.
Sie bekommen die neuesten Stud.IP-Releases unter http://sourceforge.net/projects/studip. Das Release ist sowohl als Zip-Datei (Endung: .zip) als auch als Tarball (Endung: .tar.bz2) erhältlich.
Auf einer typischen Unix-Kommandozeile geben sie:
tar jxvf studip-x.x.tar.bz2
bzw.:
unzip studip-x.x.zip
ein. Dieses Kommando legt ein neues Verzeichnis studip-x.x/ an, das alle Stud.IP-Dateien und -Verzeichnisse enthält. Verschieben sie den eben erzeugten Ordner an eine Stelle im Dateisystem, auf die der Webserver keinen Zugriff hat:
mv studip-x.x /usr/local/studip
Die entpackten Dateien dürfen nicht über eine URL erreicht werden, um Sicherheitsprobleme einzuschränken. In den folgenden Schritten gehen wir von /usr/local/studip als Installationspfad Ihres Stud.IPs aus.
Kurzübersicht der im Paket vorhandenen Verzeichnisse:
appcliconfigconfig_local.inc.php, config.inc.php)
datadbREADME lesen!)
docliblocalepublictemplatestoolsvendorStud.IP benötigt Zugriff auf eine zu erstellende MySQL-Datenbank. Es muss ein Datenbankbenutzer angelegt werden, der entsprechende Rechte erhält. Notieren sie sich bitte den Namen der Datenbank, den Namen und das Passwort des Datenbankbenutzers und den Datenbank-Hostname, da sie diese Informationen später benötigen werden.
Im Folgenden nennen wir die Datenbank studip.
Das Anlegen der Datenbank kann auf der Kommandozeile mit
mysql -u root -p -e "CREATE DATABASE studip DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci"
geschehen. Die Collation (latin1_german1_ci) und das Character Set (latin1) müssen von Ihnen angepasst werden, wenn sie nicht hauptsächlich deutsche Texte in Ihrem Stud.IP speichern wollen.
Sollte es bei Ihnen Probleme mit dem Umlauten geben, z.B. weil sie eine aktuelle SuSE benutzen die von utf8 als Default Character Set ausgeht, dann helfen folgende Zeile in der my.cnf das Problem zu lösen:
skip_character_set_client_handshake
collation_server=latin1_german1_ci
character_set_server=latin1
Beim Anlegen des Datenbankbenutzers ist darauf zu achten, dass dieser folgende Rechte erhält: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES.
Auf der Kommandozeile können Sie mit diesen Befehlen einen Benutzer 'studip' anlegen, und ihm die notwendigen Rechte erteilen:
mysql -u root -p -e "GRANT USAGE ON *.* TO 'studip'@'localhost' IDENTIFIED BY '<password>'"
mysql -u root -p -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON studip.* TO 'studip'@'localhost'"
Als einfach zu bedienendes Werkzeug zur Arbeit mit der MySQL-Datenbank haben sich der MySQL Query Browser und phpMyAdmin bewährt.
Das Datenbankschema für die von Ihnen erzeugten Datenbank ist in der Datei /usr/local/studip/db/studip.sql enthalten. Fügen sie die darin enthaltenen Tabellen Ihrer Datenbank hinzu:
mysql -u root -p studip < /usr/local/studip/db/studip.sql
Außerdem werden folgende Datenbankdumps mitgeliefert. Bitte stellen sie die Dumps in der hier vorgegebenen Reihenfolge ein!
studip_root_user.sqlroot (innerhalb von Stud.IP) angelegt werden.root@studiptestingstudip_default_data.sqlstudip_resources_default_data.sqlstudip_demo_data.sql, studip_resources_demo_data.sqltest_admin, test_dozent, test_tutor und test_autor. Bei allen Accounts ist das Passwort ebenfalls testing.Dem Webserver müssen nun die Dateien, die sich in /usr/local/studip/public befinden, verfügbar gemacht werden. Zu diesem Zweck gibt es verschiedene Möglichkeiten, von denen hier zwei detaillierter erklärt werden.
Damit dieser Weg funktioniert, muss der Apache symbolischen Links folgen dürfen. Die relevanten Optionen müssen daher FollowSymLinks oder SymLinksIfOwnerMatch enthalten.
Für das Verständnis der folgenden Erläuterungen, müssen sie den DocumentRoot Ihres Apache kennen. Für diese Installationsanleitung gehen wir von /srv/www/ aus.
Geben sie auf der Kommandozeile als root folgende Kommandos ein:
cd /srv/www ln -s /usr/local/studip/public studip
Nach erfolgreichem Absetzen wurde ein symbolischer Link im Verzeichnis /srv/www/ angelegt, so dass nun im Browser unter der URL http://www.example.com/studip/ Stud.IP zur Verfügung steht.
AliasMit der Alias-Direktive können sie einen beliebigen Teil des Dateisystems in den "web space" abbilden. Mit der folgenden Zeile in Ihrer Apache-Konfiguration:
Alias /studip /usr/local/studip/public
wird die URL http://www.example.com/studip/xyz.php auf den Pfad /usr/local/studip/public/xyz.php abgebildet.
Für den Betrieb von Stud.IP müssen bestimmte Parameter von PHP konfiguriert werden:
Folge Werte müssen angepasst werden:
register_globals = on
Diese Option muss auf jeden Fall gesetzt werden und aktiviert die automatische Definition von Variablen aus HTTP-Requestvariablen.
magic_quotes_gpc = on
Die Option ist ebenfalls nötig, damit Stud.IP korrekt funktioniert, und schützt bestimmte Zeichen in HTTP-Requestvariablen automatisch mit einem umgekehrten Schrägstrich (Backslash).
upload_max_filesize = 8M
Dieser Wert beeinflusst direkt die maximale Größe von Datei-Uploads. Wenn sie größere Dateien zulassen wollen, müssen sie diesen Wert entsprechend hoch einstellen.
memory_limit = 40M
post_max_size = 9M
Diese Werte bestimmen das Speicherlimit eines PHP-Skripts bzw. die maximale Größe von HTTP-POST-Requests. Letzerer Wert muss geringfügig über upload_max_filesize liegen.
max_execution_time = 300
Dieser Wert beeinflusst die maximale Ausführungsdauer eines PHP-Skriptes. Ein höherer Wert hat sich hier bewährt.
allow_url_fopen On
Wenn sie die Dateiverlinkung benutzen wollen, muss diese Option eingeschaltet sein.
error_reporting E_ALL & ~E_NOTICE
Die Fehlerausgabe sollte auf diese Optionen reduziert werden.
Für die Konfiguration sind drei unterschiedliche Varianten möglich:
php.ini. Wenn sie auf Ihrem Server Stud.IP als einzige PHP-Software einsetzen, ist dies eine gute Wahl.
httpd.conf per <Directory>-Anweisung setzen. Das hat den Vorteil, dass verschiedene PHP-Programme nebeneinander installiert werden können und verschiedene Einstellungen der Optionen je nach Verzeichnis gelten.
.htaccess Datei ablegen und damit direkt im Verzeichnis der Software die Einstellungen setzen. Diese Variante hat den Vorteil, dass sie keinen Zugriff auf den Webserver benötigen (etwa bei einer Installation auf dem Rechner eines externen Providers).
ACHTUNG: Um Stud.IP und ILIAS auf einem Server zusammen betreiben zu können, müssen sie eine der beiden letzten Varianten wählen.
php.iniSie sollten diese Variante der Konfiguration nur wählen, wenn sie nur eine PHP-Webapplikation installiert haben. Wir empfehlen für einen reibungslosen Betrieb die beiden letzten Varianten.
Die PHP-Konfigurationsdatei php.ini sollte sich nach der Installation von PHP in /etc/ befinden. Bei aktuellen Distributionen finden sie die Datei in /etc/php4/apache2 respektive in /etc/php5/apache2. Wenn sie das oben erwähnte Skript ausführen, finden sie unter dem Eintrag "Configuration File (php.ini) Path"" den für Ihre Installation gültigen Pfad.
httpd.confNach Möglichkeit sollte die Anpassungen der PHP-Konfigurationseinstellungen über eine <Directory>-Anweisung in der Apache Konfigurationsdatei vorgenommen werden. Auf diese Weise werden andere laufende PHP-Applikationen nicht beeinflusst.
Im Installationsarchiv unter config befindet sich eine Datei studip-httpd.conf.dist, die alle notwendigen Einstellungen enthält. Mit einer aktuellen SuSE Distribution wäre die Vorgehensweise folgende:
studip-httpd.conf.dist nach zB. /etc/apache2/conf.d/studip-httpd.conf
studip-httpd.conf
In anderen Distributionen oder mit älteren Apache Versionen kann man den Inhalt von studip-httpd.conf.dist einfach in die httpd.conf kopieren, oder eine include Anweisung verwenden, um studip-httpd.conf einzubinden.
.htaccessÄhnlich verhält es sich, wenn die Werte über eine .htaccess Datei verändert werden. Diese Variante hat den Vorteil, dass man keinen Zugriff auf den Webserver bzw. die Konfigurationsdatei des Webservers haben muss. Dazu muss in der httpd.conf lediglich der Eintrag:
AllowOverride All
entweder global für alle Verzeichnisse oder das verwendete Verzeichnis als <Directory>-Anweisung eingetragen worden sein.
Anschließend legt man in das public Verzeichnis Ihrer Stud.IP-Installation (also /usr/local/studip/public) eine .htaccess-Datei an, die die entsprechenden Werte
der php.ini enthält.
Im Verzeichnis config befindet sich eine solche .htaccess.dist-Datei, die alle notwendigen Einstellungen enthält.
Für die Stud.IP-Installation ist keinerlei Konfiguration von MySQL notwendig. Bei großen Nutzerzahlen kann aber eine Optimierung der Standardeinstellungen notwendig werden (mehr dazu im Abschnitt "Konfiguration zur Steigerung der Performance").
Für die Stud.IP-Konfiguration müssen die Dateien config/config_local.inc.php und config/config.inc.php angepaßt werden. Außerdem müssen einige Verzeichnisse für den Apache Webserver schreibbar gemacht werden. Die Konfiguration der optionalen Module und Komponenten erfolgt ebenfalls in der Datei config/config_local.inc.php:
config_local.inc.phpDie Datei config_local.inc.php im Verzeichnis config ist eine der beiden zentralen Konfigurationsdateien des Stud.IP-Systems. Hier werden vor allem grundlegende technische Einstellungen festgelegt.
Weitere Einstellungen können in der Datei config.inc.php vorgenommen werden (dort sind vor allem inhaltliche Einstellungen wie diverse Bezeichungen und andere Voreinstellungen abgelegt) oder im System im Konfigurationseditor bearbeitet werden. Letzter befindet sich noch im Testbetrieb, so dass bisher nur ein sehr kleiner Teil der Einstellungen darüber bearbeitet werden kann.
Kopieren sie die Dateien config_local.inc.php.dist und config.inc.php.dist nach config_local.inc.php und config.inc.php.
z.B.:
cd /usr/local/studip/config cp config_local.inc.php.dist config_local.inc.php cp config.inc.php.dist config.inc.php
Folgende Parameter in der config_local.inc.php müssen an die lokalen Gegebenheiten angepasst werden bzw. sollten überprüft werden:
$UNI_NAME_CLEANDie im Abschnitt "Anlegen der Stud.IP-Datenbank" notierten Werte werden in den folgenden Variablen benötigt:
$DB_STUDIP_HOST$DB_STUDIP_USER$DB_STUDIP_PASSWORD$DB_STUDIP_DATABASEWenn sie die (veraltete) Ilias 2 Anbindung nutzen wollen, müssen weitere Einträge analog für DB_ILIAS vorgenommen werden.
$MAIL_HOST_NAME$UPLOAD_PATH$ARCHIV_PATH$TMP_PATH$ABSOLUTE_URI_STUDIPAußerdem:
Unter Administration -> Globale Einstellungen -> Konfiguration können sie auch die Aktivierung der Inhaltselemente (Module) vornehmen. Für jedes Modul gibt es einen Schalter $<MODULNAME>_ENABLE, über den sie das Modul ein- und ausschalten können. Doese befinden sich in der Gruppe "modules".
Einige Module verlangen weitere Angaben in der config_local.inc.php, wie Pfadangaben oder andere Einstellungsoption, die sie im Normalfall einfach so lassen, wie im Auslieferungszustand eingestellt.
Wichtig sind nur folgende Optionen:
$FOP_SH_CALL und evtl. $JAVA_ENV_CALL entsprechend gesetzt werden.
Neben den oben beschrieben Optionen gibt es noch weitere Parameter, die in der config_local.inc.php optional festgelegt werden können, wie z.B. $LATEXRENDER_ENABLE
$ALLOW_GROUPING_SEMINARS, $ALLOW_SELFASSIGN_STUDYCOURSE, $SHOW_TERMS_ON_FIRST_LOGIN sind einige erweiterte Einstellungen, die sie unter Umständen umstellen können, etwa wenn sie mit einer externen Authentifizierung (LDAP o.ä.) arbeiten
$ALLOW_CHANGE_USERNAME
$ALLOW_CHANGE_EMAIL
$ENABLE_SELF_REGISTRATION
Weitere Parameter können seit der Version 1.2 direkt im Konfigurationseditor im Bereich "globale Einstellungen", "Konfiguration" durch root-Benutzer im Webfrontend eingegeben bzw. umgestellt werden.
Der LaTeX-Renderer ist standardmäßig so konfiguriert, dass damit mathematische Formeln gesetzt und angezeigt werden können. Es ist möglich, weitere Formate selbst zu definieren und damit z.B. phonetische Zeichensätze, arabische, hebräische, kyrillische Schrift, bestimmte Diagrammtypen etc. zur Verfügung zu stellen.
Dazu sind zwei Punkte zu beachten:
$LATEX_FORMATS muss um einen Eintrag für das zusätzliche Format erweitert werden. (Die genaue Syntax und zwei Beispiele sind in der Datei config_local.inc.php.dist angegeben.)
In den folgenden Verzeichnissen, die in der config/config_local.inc.php angegeben werden, muss der Webserver-User (zumeist ist das wwwrun, zur Sicherheit am besten in der Datei httpd.conf nachsehen) Schreibrechte haben:
$UPLOAD_PATH<Installationspfad>/data/upload_doc/)
$ARCHIV_PATH<Installationspfad>/data/archiv/)
$EXTERN_CONFIG_FILE_PATH<Installationspfad>/data/extern_config/)
$MEDIA_CACHE_PATH<Installationspfad>/data/media_cache)
$DYNAMIC_CONTENT_PATH<Installationspfad>/public/pictures/)
$TMP_PATH/tmp/)
Die ersten vier Verzeichnisse dürfen NICHT von außen über den Webserver erreichbar sein.
Der Zugriff auf das Temp-Verzeichnis (Standardwert: /tmp) muss ebenfalls gewährleistet sein.
Die einfachste (aber im Produktivbetrieb nicht empfohlene) Möglichkeit ist, das komplette Stud.IP Verzeichnis dem Webserver Nutzer zu geben, z.B.:
chown -R wwwrun /usr/local/studip
Zum Betrieb von Stud.IP muss im conf-Verzeichnis der Stud.IP Installation die Datei config.inc.php angelegt werden. sie finden dort bereits eine Distributionsversion
mit dem Namen config.inc.php.dist. Benennen sie die Datei in config.inc.php um.
In der Datei config.inc.php sollten sie zunächst nur die allgemeinen Daten wie $UNI_URL, $UNI_CONTACT und $UNI_INFO setzen. Alle weiteren Einstellungen sollten als Standardwerte gut funktionieren - verändern sie
diese Optionen bitte erst, wenn sie mit dem System bereits vertraut sind.
ACHTUNG: Wenn sie das System im Regelbetrieb einsetzen, sollten nachträglich außer den obengenannten Optionen möglichst keine Einstellungen mehr verändert werden, da sonst Inkonsistenzen in der Datenbank auftreten können.
Neben dem Basissystem existieren einige Stud.IP Module, die besondere Voraussetzungen zum Betrieb benötigen oder speziell konfiguriert werden müssen. In Auslieferungszustand
werden diese Module mit installiert, daher sollten sie im entsprechenden Abschnitt zur Datei config_local.inc.php einen Blick darauf werden, welche Module existieren und welche überhaupt benötigt werden.
Der LaTeX-Renderer kann in der local.inc unter $LATEXRENDER_ENABLE ein- bzw. ausgeschaltet werden (Standardwert: ein). Wenn er eingeschaltet ist, können an
verschiedenen Stellen in Stud.IP LaTex-Formeln durch
[tex]...[/tex]
gesetzt werden.
Für den Export von Daten als HTML, PDF etc. wird die XSLT-Unterstützung für PHP benötigt. Falls die in der verwendeten PHP-Installation nicht vorhanden ist, sind die Sablotron und expat Bibliotheken zu installieren
und PHP entsprechend neu zu konfigurieren (configure --enable-xslt --with-xslt-sablot ...). Für Debian erledigt beides das Paket php4-xslt.
Für den Export als PDF ist zusätzlich FOP (Formatting Objects Processor) aus dem Apache XML Projekt notwendig . FOP ist in Java realisiert, es wird also auch ein lauffähiges JRE (Java Runtime Environment) benötigt.
$FOP_SH_CALL muss den kompletten Pfad zum FOP Startskript enthalten.
In $JAVA_ENV_CALL muss evtl. der Pfad zu einem Skript zum setzen der Java Umgebungsvariablen eingetragen werden (/etc/profile.d/alljava.sh bei einer SuSE Distribution).
Die Evaluationsauswertung kann ebenfalls als PDF exportiert werden, und benötigt dazu den oben erwähnten FOP.
Das Chat-Modul benötigt die PHP Module sysvshm und sysvsem. Sollten diese Module nicht verfügbar sein, kann man auch $CHAT_SERVER_NAME auf "ChatFileServer"
umstellen, in diesem Fall läuft die Datenspeicherung dateibasiert (sehr schlechte Performance, nicht für größere Installationen zu empfehlen!).
Eine weitere Möglichkeit ist die Speicherung in einer Tabelle der Datenbank, in diesem Fall sollte $CHAT_SERVER_NAME auf "ChatMysqlServer" umgestellt werden.
Eine ausführlichere Anleitung für dieses Modul finden sie in der Datei
doc/de/verbindung_studip_ilias3.rtf oder doc/de/verbindung_studip_ilias3.pdf in diesem Verzeichnis.
Die wichtigsten Schritte in einer Kurzfassung.
config_local.inc.php) setzen sie $SOAP_ENABLE auf TRUE.
$ELEARNING_INTERFACE_MODULES['ilias3'] tragen sie die Daten ihrer Ilias Installation ein (name, ABSOLUTE_PATH_ELEARNINGMODULES, ABSOLUTE_PATH_SOAP, soap_data (username und password für den gerade angelegten Administratoraccount, client_id (Name des Ilias Mandanten) der Ilias Installation)).
- Rufen sie in Stud.IP als root in den Administrationsbereich unter Tools/Lernmodul-Schnittstelle und wählen sie ihre Ilias Installation aus. Geben sie weiter unten auf der Seite unter "Kategorie" den Namen der Kategorie ein, die sie im Ilias "Magazin" erstellt haben, und klicken sie auf "aktivieren".
Zunächst ist sicherzustellen, dass PHP mit der Yaz-Erweiterung kompiliert wurde. Eine kurze Erklärung finden sie unter [1]. Diese dient dazu, externe Literaturkataloge über die Z39.50-Schnittstelle abzufragen. Sie können neben den mitgelieferten Plugins weitere Plugins im Verzeichnis lib/classes/lit_search_plugins für ihre Bibliothek(en) anlegen.
Bitte nutzen sie die mitgelieferten Plugins für den GVK (Gemeinsamer Verbundkatalog des GBV) und die SUB Göttingen (Niedersächsische Staats- und Universitätsbibliothek)
als Vorlage für weitere Plugins und erkundigen sie sich bei Ihrer Bibliothek nach Einzelheiten für die Anbindung. Falls ihre Bibliothek Mitglied im GBV ist, können sie einfach eine neue Klasse von StudipLitSearchPluginGvk.class.php ableiten, und müssen nur die Felder z_host und z_profile anpassen. Der Name ihres Plugins muss mit StudipLitSearchPlugin beginnen.
Dann können sie das Plugin in der Datei config/config_local.inc.php unterhalb von "literature search plugins" aktivieren, indem sie es in das Array $_lit_search_plugins eintragen. Hier können sie
zusätzlich einen Link eintragen, der in den Web Opac ihrer Bibliothek verweist.
In Stud.IP wird an vielen Stellen zum Übertragen von Dateien das PHP-Skript sendfile.php verwendet. Seit der Stud.IP-Version 1.3 besteht die Möglichkeit das
Aussehen der Downloadlinks über den Parameter SENDFILE_LINK_MODE in der Systemkofiguration zu ändern. Es sind die Werte old, normal und rewrite möglich.
oldnormalDer Unterschied zwischen old und normal besteht lediglich in einem zusätzlichen "/" hinter dem Fragezeichen das Probleme bei der Anzeige von PDF-Datein bei einigen Browsern umgehen soll.
rewriteDer rewrite-Modus liefert eine URL die mit jedem Browser problemlos nutzbar ist. Benötigt wird dazu das Apache-Rewrite-Modul. Es wird mit einem "RewriteEngine on" in der Datei studip-httpd.conf eingeschaltet. Die weitere Konfiguration in der studip-httpd.conf unterscheidet sich geringfügig je nachdem ob das Stud.IP-Verzeichnis direkt im <Document-Root> des Apache liegt oder ob es per Alias-Anweisung eingebunden wird.
Innerhalb des <Document-Root>:
<Directory "/srv/www/htdocs/studip"> # für rewrite wird die Option FollowSymLinks oder SymLinksIfOwnerMatch benötigt ... #Options SymLinksIfOwnerMatch Options FollowSymLinks RewriteEngine on RewriteRule ^download/(normal|force_download|zip)/([0-46])/([^/]+)/(.+)$ sendfile.php?$1=1&type=$2&file_id=$3&file_name=$4 [L] RewriteRule ^download/(normal|force_download|zip)/5/([^/]+)/([^/]+)/(.+)$ sendfile.php?$1=1&type=5&range_id=$2&list_id=$3&file_name=$4 [L] ... </Directory>
per Alias:
Alias /abcd /srv/studip/public <Directory "/srv/studip/public"> # für rewrite wird die Option FollowSymLinks oder SymLinksIfOwnerMatch benötigt ... #Options SymLinksIfOwnerMatch Options FollowSymLinks RewriteEngine on RewriteBase /srv/studip/public RewriteRule ^download/(normal|force_download|zip)/([0-46])/([0-9a-f]+)/(.+)$ /abcd/sendfile.php?$1=1&type=$2&file_id=$3&file_name=$4 [L] RewriteRule ^download/(normal|force_download|zip)/5/([^/]+)/([^/]+)/(.+)$ /abcd/sendfile.php?$1=1&type=5&range_id=$2&list_id=$3&file_name=$4 [L] ... </Directory>
Die rewrite-Regeln befinden sich bereits in der mitgelieferten studip-httpd.conf, es müssen nur die Kommentarzeichen vor der gewünschten Variante entfernt werden.
Die PluginEngine lässt sich über verschiedene Konfigurationsvariablen in der Datei config_local.inc.php anpassen. Zur Aktivierung der PluginEngine muss die Variable $PLUGINS_ENABLE auf TRUE gesetzt werden. Danach erscheint auf der Startseite des root-Administrators der Menüeintrag Verwaltung von Plugins. In der Standardkonfiguration können hier nur Pluginpakete aus einem definierten Verzeichnis auf dem Webserver in Stud.IP importiert werden. Dieses Verzeichnis lässt sich über die Variable $NEW_PLUGINS_PATH ändern. Hier muss ein absoluter
Pfad angegeben werden. Dieses Verzeichnis muss vom Webserver-Benutzer lesbar sein.
Über die Variable $PLUGINS_UPLOAD_ENABLE lässt sich ein Upload-Formular freischalten, so dass der root-Administrator Plugin-Pakete direkt per Upload in das System laden kann. Sollte der root-Administratoren-Account jedoch gehackt werden, so stellt dies eine nicht zu unterschätzende Sicherheitslücke dar, denn einem Hacker werden hier weitreichende Möglichkeiten eröffnet, indem nahezu beliebiger Sourcecode in das System geladen werden kann.
Um auch bei aktiviertem Upload-Formular dennoch eine gewisse Sicherheit zu erreichen, ist der Einsatz des PHP-Safemodes zu empfehlen. Ebenso sollte der WebServer niemals mit dem Benutzer root gestartet werden. Der Einsatz einer chroot-Umgebung für den Webserver ist ratsam.
Plugins werden in der Standardkonfiguration in ein Verzeichnis plugins_packages abgelegt, welches sich unterhalb des public-Verzeichnisses befindet.
Dieses Verzeichnis muss für den Webserver-Nutzer schreibbar sein. Dem Verzeichnis sollten die Rechte 755 eingeräumt werden.
Zur Authentifizierung gegen einen LDAP Server stehen im Release drei Plugins zur Verfügung (in der config/config_local.inc als Ldap, LdapReader und LdapReadAndBind bezeichnet. Die entsprechenden Klassen befinden sich im Verzeichnis lib/classes/auth_plugins und heissen dort StudipAuthLdap.class.php, StudipAuthLdapReader.class.php und StudipAuthLdapReadAndBind.class.php. Die Konfiguration dieser Plugins sollte in der config_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:
=%u.
%u durch den Nutzernamen, %U durch den lokalen Namensbestandteil (vor dem @) und %d durch den Domänenteil (nach dem @), %% durch ein einfaches %.
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.
LdapReadAndBind benutzt ebenfalls einen konfigurierten Account, um den user dn des Nutzers zu finden. Es wird aber nicht versucht das Passwort auszulesen, sondern zur Authentifizierung des Nutzers wird ein weiterer Anmeldevorgang mit dem ermittelten user dn und dem eingegebenen Passwort des Nutzers versucht.
Einstellungen:
Weitere Module wie der Kalender, die Ressourcenverwaltung, das Wiki- oder die Vote- und Evaluations-Module benötigen keine spezielle Konfiguration oder Zusatzsoftware.
Damit das Registrierungsmodul von Stud.IP funktioniert, muss der E-Mailversand konfiguriert sein, d.h. der Webserver muss in der Lage sein E-Mails über den in $MAIL_HOST_NAME angegebenen E-Mailserver zu verschicken. In den verschickten E-Mails ist Reply-To auf abuse@<SERVER_NAME> gesetzt, E-Mails an diese Adresse sollten an einen der Administratoren weitergeleitet werden.
ACHTUNG: Wenn der E-Mailversand nicht ordnungsgemäß konfiguriert wurde, funktioniert weder die Selbstregistrierung von Nutzern noch das Eintragen von neuen Nutzern, da die Registrierungs-E-Mail bzw. das Passwort auf diese Weise an die Nutzer zugestellt werden.
Die beiden Parameter $MESSAGING_FORWARD_AS_EMAIL und $MESSAGING_FORWARD_DEFAULT erlauben es, systeminterne Nachrichten die gespeicherte E-Mail-Adresse eines Nutzers
weiterzuleiten und dafür einen Standardwert festzulegen.
Im Administrationsbereich von Stud.IP gibt es einen neuen Menupunkt "/globale Einstellungen/Konfiguration".
Hier können einige Einstellungen zur Laufzeit vorgenommen werden. Die Option $MAIL_NOTIFICATION_ENABLE schaltet die Benachrichtigungsfunktion ein. Das eigentliche Verschicken der E-Mails erfolgt über das Skript send_mail_notifications.php, welches im Verzeichnis cli zu finden ist.
Wenn das PHP-Kommando in /usr/bin/php zu finden ist (which php auf der Kommandozeile gibt darüber Auskunft), und die Datei ausführbar gemacht ist, kann man das Skript direkt in einen cronjob einbauen. Das Skript gibt für jede verschickte E-Mail eine Nachricht zurück, daher sollten die Ausgaben des Skriptes in eine Datei umgeleitet werden.
Ein Beispiel:
22 2 * * * root /usr/local/studip/cli/send_mail_notifications.php >> /var/log/studip_notifications 2>&1
Zum Testen sollte es einmal direkt aufgerufen werden, nachdem man mit einem Account die Benachrichtigungen für bestimmte Veranstaltungen aktiviert hat. In der Datei config_local.inc.php muss $ABSOLUTE_URI_STUDIP konfiguriert werden, wenn das Skript zum Verschicken von E-Mailbenachrichtigungen benutzt wird. Sollten die Einträge
von $MAIL_LOCALHOST und $MAIL_HOST_NAME leer sein (d.h. der Webserver selbst verschickt Mails) müssen auch hier korrekte Einträge gemacht werden. (Da das Skript zum Verschicken der Benachrichtigungen als PHP-Shellskript ausgeführt wird, können diese Angaben nicht aus der
Umgebungsvariablen SERVER_NAME hergeleitet werden.)
Weitere Einstellungen, die den Server für den Einsatz mit großen Nutzerzahlen "tunen", können in der httpd.conf (Apache), in der my.cnf (MySQL) und
in den Systemeinstellungen vorgenommen werden. Einzelheiten finden sie in der Datei studip_max_configuration.txt im Verzeichnis doc.
Letzte Änderung am 15.05.2012 14:37 Uhr von tthelen.