StudIP mit XAMPP, aber wie??

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

StudIP mit XAMPP, aber wie??

Postby Phipser » 13. March 2007 11:23

Hallo,

ich möchte StudIP (ist im weitesten Sinne eine eLearning Plattform) auf einem lokalen Server testen und einrichten.

Ich komme aber mit der mitgelieferten Install-Anleitung einfach nicht weiter.
Ich habe mir schon erfolgreich ein phpbb2-forum auf xampp eingerichtet, aber dieses StudIP Problem übersteigt einfach meine momentanen Fähigkeiten.

Der relevate Auszug aus der Install-Anleitung befindet sich am Ende des Beitrags. Ich denke das Problem liegt in Punkt 1.2., da ich den nicht verstehe bzw. anwenden kann.

-> Die DB hab ich schon erstellt und das Verzeichnis liegt auch schon auf meinen localhost (htdocs Verzeichnis)

-> es will aber nicht starten, sonder zeigt immer " Fatal error: Call to undefined function page_open() in C:\Programme\xampp\xampp\htdocs\studip\index.php on line 21" an


Da es kein direktes bzw. funktionierendes Supportforum für StudIP gibt und meine Probleme direkt mit Apache & php zu tun haben, wende ich mich hierhin. Ich habe schonmal die Suchfunktion befragt, aber da ist zum Thema StudIp nix zu finden, was mir hilft.

Ich kenne niemanden der mir sonst helfen könnte, vielleicht habt ihr ja einen Tip wie ich das hinbekomme.

Vielen Dank im Voraus,

Phipser

Auszug aus der Install-Anweisung:
1.1 Die Stud.IP Distribution

Unter http://sourceforge.net/projects/studip steht die aktuelle Version der Stud.IP Distribution zum Download bereit. Es handelt sich dabei um ein mit bzip2 gepacktes tar Archiv. Die heruntergeladene Datei einfach in ein temporäres Verzeichnis entpacken:

bunzip2 studip-VERSION.tar.bz2 und danach

tar xvf studip-VERSION.tar

oder besser gleich in einem Schritt:

tar xvfj studip-VERSION.tar.bz2

Nun liegen die zur Installtion benötigten Datein im Verzeichnis studip-VERSION vor. Dieses Verzeichnis kann nach erfolgreicher Installation gelöscht oder als Referenz aufbewahrt werden. Folgende Unterverzeichnisse befinden sich nach dem entpacken im Verzeichniss studip-VERSION:

* [studip-config]Default-Konfigurationsdateien (local.inc; config.inc.php; studip-httpd.conf)
* [studip-db]SQL-Dateien zur Einrichtung der Stud.IP MySQL Datenbank
* [studip-doc]This quick installation guide ;-)
* [studip-htdocs]Der Stud.IP-Kern, später sichtbar für Webserver
* [studip-install]Installations-Skript, getestet mit SuSE Linux Version 8.1 (Ansonsten Pfade anpassen!)
* [studip-phplib]Für Stud.IP angepasste Version der PHPLib
* [studip-update]Migrationsskripte für ältere Stud.IP Versionen (WICHTIG: Auf alle Fälle die README Datei lesen!)
* [studip-varlib]Rumpfstruktur für Datenverzeichnisse außerhalb des Apache-Document-Root-Verzeichnisses.

1.2 Konfiguration von Apache und PHP

Für Stud.IP werden der Apache Webserver in der Version 1.3.9 oder höher und die Apache Module für PHP4 benötigt. Die Funktionsfähigkeit von php läßt sich mit einem einfachen <?php phpinfo() ?> Skript feststellen.

Benötigte
PHP Module:

* Stud.IP-core: mysql, gettext
* export: xml, xslt (PHP > 4.1)
* chat: sysvshm, sysvsem

1.2.1 PHPLib - studip-phplib

Stud.IP verwendet die phplib-7.2d mit leichten Modifikationen. Das Orginal ist unter http://phplib.sourceforge.net zu finden.

Folgende Dateien wurden hinzugefügt:

* email-validation.inc (check von Email-Adressen und anderen Angaben)
* smtp.inc (versenden von Mails auf einem Linux-System)
* ct_sql_patched.inc (kleiner bugfix der ct_sql.inc, nur für MySQL)

Folgende Dateien wurden verändert:

* prepend.php (autoinclude der beiden obigen)
* alle *.ihtml befinden sich im Stud.IP /studip-htdocs Verzeichnis und sind im Layout angepasst

Die Datei local.inc ist auf unser System zugeschnitten und muss bis auf die lokale Anpassung folgender Punkte so übernommen werden:

* Setzen von Datenbankrechner, -benutzer, -passwort und -name ($DB_STUDIP_HOST, $DB_STUDIP_USER, $DB_STUDIP_PASSWORD, $DB_STUDIP_DATABASE)
* Anpassung des Mailhostes, wenn Mails nicht über ein lokales Sendmail, sondern einen externen Rechner verschickt werden sollen. ($MAIL_HOST_NAME)
* Absoluter Pfad zu Stud.IP-Dateien, sichtbar für den Webserver ($ABSOLUTE_PATH_STUDIP)
* Absoluter Pfad zum Upload-Verzeichnis, muss nicht für den Webserver sichtbar sein ($UPLOAD_PATH)
* Absoluter Pfad zum Archiv-Verzeichnis, muss nicht für den Webserver sichtbar sein ($ARCHIV_PATH)
* Evtl. Setzen der Datenbankparameter und Aktivierung der ILIAS-Anbindung

Die angepasste Version der phplib befindet sich im Verzeichnis /studip-phplib und sollte in das Apache-Root-Verzeichnis kopiert werden. Ist dies z.B. /usr/local/httpd, dann sind die Dateien folglich nach /usr/local/httpd/studip-phplib zu kopieren. Bitte dieses Include-Verzeichnis nicht unterhalb des Document-Root des Webservers einfügen! Seit SuSE 8.1 befindet sich das Root-Verzeichnis des Webservers in /srv/www . Für debian-Linux 3.0 ist z.B. das Verzeichnis /usr/lib/apache eine gute Wahl.

Die Anpassungen der php ini Werte sollte nach Möglichkeit über eine <Directory> Anweisung in der Apache Konfigurationsdatei vorgenommen werden. Auf diese Weise werden andere laufende PHP Applikationen nicht beeinflusst. Im Installationsarchiv unter /studip-config befindet sich eine Datei namens studip-httpd.conf, die alle notwendigen Einstellungen enthält.

Mit einer aktuellen SuSE Distribution wäre die Vorgehensweise folgende:

* Kopieren von studip-httpd.conf nach zB. /etc/httpd/studip-httpd.conf
* Anpassen der Pfadangaben in studip-httpd.conf
* in /etc/sysconfig/apache HTTPD_CONF_INCLUDE_FILES="/etc/httpd/studip-httpd.conf" setzen
* SuSEconfig aufrufen
* Webserver neustarten: rcapache restart

In anderen Distributionen kann man den Inhalt von studip-httpd.conf einfach in die httpd.conf kopieren, oder eine include Anweisung verwenden, um studip-httpd.conf einzubinden. Wir empfehlen studip-httpd.conf einfach via z.B. Include /etc/httpd/studip-httpd.conf am Ende der Konfigurationsdatei httpd.conf des Apache Webservers einzubinden.

Sollte die beschriebene Vorgehensweise nicht möglich sein, kann man auch die Datei php.ini direkt anpassen, die sich nach der Installation von php in /etc/httpd/ (bzw. bei SuSE ab 7.2 in /etc, bei debian in /etc/php4/apache) befinden sollte.

Dabei muss auto_prepend_file auf prepend.php zeigen:

; automatically add files before or after any PHP document

auto_prepend_file = /usr/local/httpd/php/prepend.php

Und der include_path muss das soeben kopierte php Verzeichnis enthalten. In unserem Beispiel also:

; Paths and Directories ;

include_path = /usr/local/httpd/php

[Desweiteren sollte track_vars auf ON stehen und magic_quotes_gpc ebenfals.]

Außerdem wichtig: register_globals = On

Damit das Registrierungsmodul von Stud.IP funktioniert, muss der Mailversand konfiguriert sein, d.h. der Webserver muss in der Lage sein Mails über den in $MAIL_HOST_NAME (s. /studip-phplib/local.inc) angegebenen Mailserver zu verschicken. In den verschickten Mails ist Reply-To auf abuse@<SERVER_NAME> gesetzt, Mails an diese Adresse sollten an einen der Administratoren weitergeleitet werden. In der php.in ist deshalb noch ein Blick auf sendmail_path nötig. Damit aus dem Stud.IP Programm E-Mails über den lokalen Rechner verschickt werden können, muss die Variable sendmail_path angepasst werden. Auf den meisten Systemen sollte /usr/lib/sendmail -t funktionieren.

1.3 Anlegen der MySQL Datenbank »studip«

Stud.IP setzt eine installierte MySQL Datenbank in der Version 3.22.30 oder höher voraus (Eigentlich sollte es ab 3.17 funktionieren ;-). Zur in Betriebnahme von Stud.IP muss eine Datenbank, der Einfachheit halber nennen wir sie 'studip', angelegt werden.

mysql -e "create database studip" und die entsprechenden Tabellen hinzugefügt werden

mysql studip < studip-db/studip-x.x.x.sql

mysql studip < studip-db/studip-root_user.sql (Hiermit wird der Admin-Acount für studip angelegt: root@studip ; password: testing .)

Desweiteren muss ein Datenbankbenutzer für die Datenbank studip angelegt werden. In der Stud.IP-PHPLib Version der Datei local.inc, muss dieser unter $DB_STUDIP_USER mit entsprechendem Passwort ($DB_STUDIP_PASSWORD) eingetragen werden. Als Default-Wert ist jeweils studip eingetragen. Der Datenbankbenutzer benötigt die Rechte: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP (letztere für temporäre Tabellen).

Dies läßt sich einfach erledigen mit:

mysql -u root -p -e "grant all on studip.* to studip identified by 'studip' "

Die Datei studip-db/studip-x.x.x_demo_data.sql enthält Beispiel Daten (FAQ - StudIP). Wer Lust hat, kann diese importieren und so bereits auf Inhalte treffen ;-)

Nicht vergessen, die MySQL Datenbank neu zu starten (reload!).

Als einfach zu bedienende Tools haben sich bei uns kmysqladmin und phpMyAdmin (http://www.phpwizard.net/projects/phpMyAdmin/) bewährt.

1.4 Konfiguration von Stud.IP


Die Dateien von Stud.IP befinden sich im Verzeichnis /studip-htdocs. Dieses sollte ins Document-Root-Verzeichnis des Webservers kopiert werden. In unserem Beispiel also nach /srv/www/htdocs/studip. Wer einen anderen Verzeichnisnamen als benutzt, muss daran denken in der local.inc $ABSOLUTE_PATH_STUDIP entsprechend zu ändern.

In den in der local.inc angegebenen Verzeichnissen $UPLOAD_PATH, $ARCHIV_PATH, $TMP_PATH und $TEXCACHE_PATH (bei Verwendung des LATEX-Renderers) muss der Webserver-User (zumeist ist das wwwrun.nogroup, zur Sicherheit am besten in der httpd.conf nachsehen) Schreibrechte haben. Seit der Version 0.7.5 können die Verzeichniss upload_doc und archiv auch ausserhalb des DocumentRoot angelegt werden. Die Default-Konfiguration in der local.inc erwartet diese beiden Verzeichnisse in /var/lib/studip .

Durch die Datei config.in.php im Verzeichnis /studip-htdocs werden die grundlegenden Einstellungen für Stud.IP vorgenommen. Die Datei ist gut dokumentiert und deshalb weitesgehend selbsterklärend.

1.4.1 Der erste Kontakt

Nach erfolgreicher Installation ist die Startseite von Stud.IP unter http://localhost/studip erreichbar. Mit dem Import von studip-root_user.sql ist bereits ein Root-Benutzer für das Stud.IP System angelegt worden:

Benutzername: root@studip

Password: testing

Also einfach auf login, Benutzername und Passwort des root eingeben ... und schon ist der Erstkontakt mit Stud.IP vollbracht. Jetzt kann Stud.IP eingerichtet und damit an die eigenen Bedürfnisse angepasst werden. Wie das funktioniet, können Sie im Kapitel Administration Guide nachlesen.

1.5 Benötigte Libaries und Packete

In der local.inc (s.o.) sind Pfade zu weitergehenden Libraries zu setzen, die für Stud.IP notwendig sind.

Benötigt
für die Grundfunktionalität:

* zip
* giftopnm, pnmscale, djpeg, cjpeg (Konvertierung von hochgeladenen Benutzerbildern) (Bei debian 3.0 befinden sich die notwendigen Binaries in den packages netpbm, und libjpeg-progs)

Benötigt
für den LATEX-Renderer:

* Vollständig konfiguriertes LATEX-System
* dvips
* ImageMagick

Der LATEX-Renderer kann in der local.inc unter $LATEXRENDER_ENABLE ein- bzw. ausgeschaltet werden (default: ein). Wenn er eingeschaltet ist, können an verschiedenen Stellen in Stud.IP LaTex-Formeln durch [tex]...[/tex] gesetzt werden.

Benötigt
für das Export-Modul: 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 (www.gingerall.com) und PHP entsprechend neu zu konfigurieren (configure -enable-xslt -with-xslt-sablot). Für Debian erledigt beides das Paket php4-xslt (apt-get install php4-xslt). Für den Export als PDF ist zusätzlich FOP (Formatting Objects Processor) aus dem Apache XML Projekt notwendig. (http://xml.apache.org/fop/download.html) FOP ist in Java realisiert, es wird also auch ein lauffähiges JRE 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)
Benötigt
für das Modul Chat: 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!).
Benötigt
für das Modul Extern: Für das Modul "Externe Seiten" kann ein zusätzlicher Datenbankbenutzer,der nur lesenden Zugriff auf die Datenbank hat angelegt werden. Dieser Benutzer muss mit Namen und Passwort unter $DB_INSTITUT_USER und $DB_INSTITUT_PASSWORD eingetragen werden. Wenn kein zusätzlicher Datenbankbenutzer angelegt werden soll bitte hier einfach den Datenbankbenutzer eintragen, der auch in $DB_STUDIP_USER hinterlegt ist.
Benötigt
für das Modul Ilias Connect: Für das Modul "Ilias Connect", dass die Verbindung zu Ilias Lernmodulen ermöglicht, wird eine laufende Ilias Installation der Version 2.3.3 oder größer (nicht 3.x !) benötigt. Die Datei studip-htdocs/lernmodule/studip2ilias.php muss ins Ilias Stammverzeichnis kopiert werden. Es muss ein Datenbankbenutzer mit Passwort in $DB_ILIAS_USER und $DB_ILIAS_PASSWORD eingetragen werden, dieser braucht SELECT,INSERT,UPDATE und DELETE Rechte für die Ilias Datenbank. In $ABSOLUTE_PATH_ILIAS muss die komplette URL der Ilias Installation eingetragen werden.
Phipser
 
Posts: 1
Joined: 13. March 2007 11:05

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 35 guests