„openSchulportfolio“ ist eine auf der Software DokuWiki basierende Lösung zur Erstellung und Pflege des Schulportfolios auf Wiki-Basis.→ OpenSchulportfolio
„Schu-Q-Wiki“ ist ein für das LS (Landesinstitut für Schulentwicklung BW) angepasste Version von OpenSchulportfolio für die Qualitätsentwicklung.
→ Schu-Q-Wiki
Dort findet man auch eine Installationsanleitung: Installationsanleitung
Ist der Linuxmuster.net Server nur über DSL angebunden, so ist der externe Zugriff auf das intern betriebene OSP (via DEB-Paket installiert) relativ langsam. Daher kann es sinnvoll sein, das OSP auf einem externen vServer / Root-Server zu betreiben. Um sicherzustellen, dass die bisherige Authentifizierung 1:1 weiterhin auch für das externe OSP genutzt wird, kann dieses so eingerichtet werden, dass die Authentifizierung via LDAPs gegen den linuxmuster.net - Server erfolgt. Zudem kann gleichzeitig die lokale Authentifizierung weiterhin genutzt werden, um so z.B. externen Beteiligten ebenfalls Zugriff auf das OSP zu gewähren.
Um beide Authentifizierungsmechanismen parallel nutzen zu können, ist in der Konfiguration der sog. chained Authentifizierungsmodus einzustellen. Diese ist mit den aktuelleren Versionen ab hicupp.11 zu realisieren.
Zur internen Installation auf dem linuxmuster.net Server:
stable release im Repository openml5-stable:
OSP ist wie folgt zu installieren:
apt-get install linuxmuster-portfolio
Es kann die Version aus openml5-stable verwendet werden. Hierzu in der etc/apt/sources.list.d eine neue Datei anlegen (z.B. linuxmuster-osp.list) mit folgendem Inhalt:
# Basispaket Linuxmuster.net 5.1 stable - mit OSP stable release 12.11.hiccup.8 deb http://pkg.linuxmuster.net/ openml5-stable/ deb-src http://pkg.linuxmuster.net/ openml5-stable/
danach sind die Quellen einmal zu aktualisieren und anschließend OSP wie folgt zu installieren:
apt-get update apt-get install linuxmuster-portfolio
Ist OSP nun installiert, so sollten unter linuxmuster.net 6 die Einträge für o.g. Quellen wieder auskommentiert werden.
testing release als Download unter:
Dieses herunterladen und manuell installieren:
dpkg --install /pad/zum/paket.deb
Stable Release: Tar-Archiv OSP 12.11-hiccup.8
Testing Release:Tar-Archiv OSP 13.03
Zum Update bestehender externer Installation gibt es eigene ZIP-Pakete, die auf der OSP - Seite zu finden sind.
Laden Sie sich das benötigte Archiv herunter und entpacken Sie dieses.
Um vom externen OSP-Server eine LDAPs-Authentifizierung gegen den internen linuxmuster.net Server durchführen zu können, ist es erforderlich, dass Anfragen auf dem Port 636 auf den linuxmuster.net Server weitergeleitet werden und dieser eine entsprechende Antwort zurückliefert. Diese sollte nach erfolgreichem Funktionstest auf eine externe IP-Adresse begrenzt werden, damit nur Anfragen des externen OSP-Servers weitergeleitet werden.
Hierzu sind:
Auf dem Router ist eine Portweiterleitung für Port 636 auf die externe Netzwerkkarte des IPCop (rot) / IPFire einzurichten. im IPCop sind unter Firewall → Port-Weiterleitung folgende Regeln einzurichten:
Hinweis: Anstelle des roten Pfeils ist die IP-Adresse des externen Servers einzutragen, der LDAPs anfragen schicken darf.
Zusätzlich ist im IPCop unter Firewall → Block Outgoing Traffic folgende Regel einzutragen.
Die IP-Adresse des anfragenden Servers ist rot durchgestrichen.
Nachdem das o.g. TAR-Arcghiv heruntergeladen und entpackt wurde, ist der Ordner portfolio samt Unterordner und Dateien in das DocumentRoot Verzeichnis des Web-Serveres des externen Servers zu entpacken. Die Dateien können via FTP/sFTP oder SCP übertragen werden.
Wird Ubuntu 12.04 in Verbindug mit Apache2 verwendet, so ist das Document-Root Verzeichnis auf
/var/www
voreingestellt. Das Verzeichnis portfolio ist in dieses Verzeichnis oder in das Verzeichnis des eingerichteten vHosts zu kopieren.
Das DocumentRoot Verzeichnis des Apache2 wird in
/etc/apache2/sites/enabled
festgelegt. Dort findet sich eine Konfigurationsdatei für den aktivierten vHost.
Diese könnte wie folgt aussehen (Umleitung aller Anfrage auf SSL etc.):
<VirtualHost *:80> ServerAdmin webmaster@myvhost.de # redirect port 80 access to ssl access via port 443 # apache mod rewrite has to be enabled RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R] # DocumentRoot /var/www/myvhost.de/htdocs ServerName myvhost.de ServerAlias www.myvhost.de DirectoryIndex index.php index.xhtml index.html index.htm <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/myvhost.de/htdocs> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /var/www/myvhost.de/cgi-bin <Directory "/var/www/myvhost.de/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> # Horde einbinden Alias /horde /var/www/horde ErrorLog /var/www/myvhost.de/log/error_myvhost.de.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/www/myvhost.de/log/access_myvhost.de.log combined #ServerSignature On </VirtualHost> # SSL config for myvhost.de # <VirtualHost *:443> # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # A self-signed (snakeoil) certificate can be created by installing # the ssl-cert package. See # /usr/share/doc/apache2.2-common/README.Debian.gz for more info. # If both key and certificate are stored in the same file, only the # SSLCertificateFile directive is needed. SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key ServerAdmin webmaster@myvhost.de DocumentRoot /var/www/myvhost.de/htdocs ServerName myvhost.de ServerAlias www.myvhost.de DirectoryIndex index.php index.xhtml index.html index.htm <Directory /> Options FollowSymLinks AllowOverride None </Directory>
Der Benutzer, unter dem der Daemon Apache2 läuft ist unter Ubuntu i.d.R. www-data. Da OSP von PHP ausgeführt wird, benötigt der PHP-Prozess Schreibrechte für diese Dateien. Der Benutzer www-data muss also im Ordner portfolio Schreibrechte für die Dateien besitzen.
Die folgenden Berechtigungen müssen geändert werden damit OSP funktioniert:
data/
und data/tmp/
Verzeichnis: Für alle Dateien in und unterhalb dieser Verzeichnisse müssen für www-data Schreibrechte eingeräumt werden.lib/plugins/
Verzeichnis: Für die Funktion des plugin-Managers benötigt www-data Schreibrechte auf dieses Verzeichnis.lib/
Verzeichnis: Dieses Verzeichnis muss für alle lesbar sein, um die Stylesheets angezeigt zu bekommen. Die Berechtigung '755' wird hierfür empfohlen.conf/
Verzeichnis: Für die folgenden Dateien muss wwwrun Schreibrechte besitzen:local.php
users.auth.php
und acl.auth.php
sind für die ACL
Web-Konfiguration und den Plugin-Usermanager
erforderlich.Um unter Ubuntu diese Berechtigungen zu setzen, können folgende Kommandos verwendet werden: Hier könnten die folgenden Kommandos verwendet werden:
deinwiki> chmod 775 data/
_ _ _ _*deinwiki> chgrp www-data data/
deinwiki/conf> chgrp www-data local.php;chmod 664 local.php
deinwiki/conf> chgrp www-data {users.auth.php,acl.auth.php};chmod 664 {users.auth.php,acl.auth.php}
deinwiki/lib> chgrp www-data plugins/
deinwiki/lib> chmod 775 plugins/
In Verzeichnissen wo das setgid
Bit gesetzt ist, gehören neu erstellte Dateien und Verzeichnisse zur selben Gruppe wie das Verzeichnis in dem sich die Dateien befinden. Die folgenden Beispiele zeigen, wie man eine solche Konfiguration für den Benutzer www-data
, der zur Gruppe www-data
gehört, einrichten kann.
deinwiki> chmod 775 data/
deinwiki> chown www-data:www-data data/
deinwiki> chmod 2775 {attic,cache,index,locks,media,meta,pages,tmp}
deinwiki> chown www-data:www-data {attic,cache,index,locks,media,meta,pages,tmp}
Ziel ist es nun, den externen OSP-Server so anzupassen, dass sowohl eine LDAPs-Authentifizierung gegenüber dem internen linuxmuster.net Server erfolgt und zudem eine lokale Anmeldung möglich ist.
Hierzu ist die Datei
/var/www/myvhost.de/htdocs/portfolio/conf/local.php
anzupassen.
Diese Datei könnte wie folgt aussehen:
$conf['title'] = 'Mein OSP'; $conf['lang'] = 'de'; $conf['template'] = 'portfolio2'; $conf['license'] = ''; $conf['recent'] = 35; $conf['breadcrumbs'] = 7; $conf['youarehere'] = 1; $conf['dformat'] = '%d.%m.%Y %H:%M'; $conf['sneaky_index'] = 1; $conf['useacl'] = 1; $conf['authtype'] = 'chained'; //chained, ldap, plain //es erfolgt zuerst der Versuch via LDAP anzumelden, falls dies scheitert wird eine lokale Anmeldung versucht $conf['auth']['chained']['authtypes'] = 'ldap,plain'; $conf['auth']['chained']['usermanager_authtype'] = 'plain'; $conf['auth']['chained']['find_auth_by_password'] = 'false'; $conf['defaultgroup'] = 'users'; $conf['superuser'] = 'admin,@portfolioadm'; //lokaler Benutzer dessen md5 Kennwort in users.auth.php abgelegt wird $conf['manager'] = 'admin'; $conf['rememberme'] = 0; $conf['disableactions'] = 'register,resendpwd'; $conf['updatecheck'] = 0; $conf['autoplural'] = 1; $conf['compress'] = 0; $conf['plugin']['selectsearch']['searchnamespaces'] = '|Alles^M portfolio|Portfolio^M hilfe|Hilfe'; $conf['plugin']['tag']['pagelist_flags'] = 'default'; $conf['plugin']['include']['showcomments'] = 0; $conf['plugin']['include']['showlinkbacks'] = 0; $conf['plugin']['task']['datefield'] = 0; $conf['plugin']['task']['tasks_formposition'] = 'top'; $conf['plugin']['archiveupload']['manageronly'] = 1; $conf['tpl']['portfolio2']['sitetitle'] = 'My OSP'; $conf['tpl']['portfolio2']['schoolname'] = 'My OSP School'; $conf['openregister'] = '0'; $conf['plugin']['include']['noheader'] = '1'; // end auto-generated content // Eine der LDAP Optionen durch entfernen der "//" // aktivieren - bevorzugt LDAPS zur // verschlüsselten Übertragung der Benutzerdaten verwenden // ldap ssl $conf['auth']['ldap']['server'] = 'ldaps://url.meinesservers.de:636'; $conf['auth']['ldap']['version'] = '3'; // AENDERN an die eigene Schule anpasssen $conf['auth']['ldap']['usertree'] = 'ou=accounts,dc=linuxmuster,dc=local'; $conf['auth']['ldap']['grouptree'] = 'ou=groups,dc=linuxmuster,dc=local'; $conf['auth']['ldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))'; $conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))'; $conf['auth']['ldap']['groupdelprefix'] = "p_";
Nachdem Sie OSP erfolgreich auf einem externen Server installiert und konfiguriert haben, sollte nun sowohl eine lokale
Anmeldung als admin
als auch eine Anmeldung mit einem LDAP-Nutzer des internen linuxmuster.net Servers möglich sein.
Anders als bei dem intern installierten OSP haben Sie nun als admin einen Benutzer-Manager mit dessen Hilfe Sie für weitere externe Nutzer
Accounts anlegen können und unter der Zugangsverwaltung haben Sie die Möglichkeit, für die Namensräume Berechtigungen für einzelne Nutzer und/oder für Nutzergruppen festzulegen.
Hinweise zur Definition dieser ACLs finden Sie unter: