#!/bin/bash #Update des dokuwiki/js/2010 #nur für debian gedacht #Download der neuesten Version von http://www.splitbrain.org/projects/dokuwiki #dieses Script und die neue dokuwiki-*.tgz müssen im selben Verzeichnis, wie die wikis liegen. #Voraussetzungen erstmal prüfen: if [ ! $UID -eq 0 ] ; then echo "Sie sind nicht root!" echo "Exit 1" exit 1; fi #auf ACL-Programm prüfen: if [ ! `which getfacl` ]; then echo "acl-Programme fehlen" #apt-get install acl exit 1; fi #prüfen ob das wikiupdate vorhanden ist. ls dokuwiki-* >/dev/null f=$? if [ ! $f -eq 0 ]; then echo "Neue Dokuwikidatei nicht im selben Verzeichnis vorhanden!!!" ls echo "Exit 1" exit 1 fi #testen ob zu viele TGZ-Dateien im Verzeichnis liegen wikinew="`ls dokuwiki-*`" echo $wikinew| grep -qi '.tgz ' && { echo "zu viele dokuwiki-*.tgz. Bitte nur eins!"; \ echo $wikinew; exit 1; } #Wiki auswählen: echo "Willkommen zum Dokuwikiupdate" echo "Hier eine Liste der vorhanden Wiki:" echo "" #ls -lgd *wiki* | grep "^d" | cut -d " " -f12; ls -d */ | cut -f1 -d'/' | grep wiki echo "" read -p "Welches Wiki soll upgedatet werden ? " wiki #Erstmal ein Backup des wiki erstellen: cp -avr $wiki $wiki.backup #datadir ermitteln datadir=`grep savedir $wiki/conf/local.php | cut -d "/" -f2 | cut -d "'" -f1` if [ -s $datadir ]; then echo "kein savedir in local.php vorhanden" datadir=`grep savedir $wiki/conf/dokuwiki.php | cut -d "/" -f2 | cut -d "'" -f1` if [ -s $datadir ]; then echo "kein savedir in dokuwiki.php vorhanden" datadir="data" fi fi #acls vom alten Verzeichnis sichern getfacl --recursive $wiki >$wiki.acl tar xvfz $wikinew wikinew=`basename $wikinew .tgz` #testen ob das Verzeichnis estellt werden konnte: f=$? if [ ! $f -eq 0 ]; then echo "Neues Dokuwikiverzeichnis nicht im selben Verzeichnis vorhanden!!!" ls echo "Exit 1" exit 1 fi #neue Dateien reinkopieren cp -avrf $wikinew/{*,.??*} $wiki/ #acls zurücksichern setfacl --restore=$wiki.acl chown -vR www-data $wiki/$datadir/media_attic chown -vR www-data $wiki/$datadir/media_meta read -p "pause" puffer #diverses löschen rm -rf $wikinew rm $wiki.acl rm $wiki/conf/msg #rm -rf $wiki/$datadir/cache/* rm -rf $wiki/$datadir/cache/messages.txt exit 0
in Datei /etc/php5/apache5/php.ini
upload_max_filesize = 2M post_max_size = 2M
auf
upload_max_filesize = 20M post_max_size = 20M
ändern.
Dann Neustart oder Reload des apache2 durchführen.
/etc/init.d/apache2 reload
Auf dem Rechner muss Flash installiert sein und funktionieren.
dann muss das Dokuwiki-Flash-Plugin nachinstalliert werden (http://www.dokuwiki.org/plugin:flashplayer).
dann die Maximalgröße für den Upload erhöhen (s.o.).
dann an die Datei conf/mime.conf
folgende Zeile anhängen:
flv application/octet-stream # nochmal <Enter> für einen Zeilenumbruch drücken
dann muss noch eine Datei wiki/data/media/.htaccess
mit folgendem Inhalt erstellt werden:
order allow,deny Allow from all Satisfy All
Dann Neustart oder Reload des apache2 durchführen.
/etc/init.d/apache2 reload
jetzt kann das Flash ins dokuwiki normal hochgeladen und eingebettet werden.
Codebeispiel für eine Flashdatei:
<flashplayer width="355" height="200">file=http://meinServer/wiki/data/media/playground/madeira.flv</flashplayer>
oder über ein gesondertes Verzeichnis außerhalb des Doku-Wiki:
<flashplayer width="355" height="200">file=/Reisen/Madeira/Curral_das_Freiras1.flv</flashplayer>
<flashplayer width=„355“ height=„200“>file=/Reisen/Madeira/Curral_das_Freiras1.flv</flashplayer>
das Backup-Plugin legt seine Backups in das Verzeichnis <meinwiki>/data/media/dw-backup-datum-version.tar.bz2
Fehler:
Die Anzeige ist völlig fehlerhaft und es wird alles durcheinander gewürfelt. Es werden auch keine Gestaltungselemente mehr angezeigt.
Lösung:
siehe in Logdatei: /var/log/apache2/error.log
:
Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater ... Directive 'register long_arrays' is deprecated in PHP 5.3 and greater ...
die beiden Werte in der Datei /etc/php5/apache2/php.ini
auf Off
setzen und den Apache neu starten.