PmWiki Infos

Winfried Mueller, www.reintechnisch.de

15.11.2015 Problem "unable to retrieve edit form EditForm"

Tritt z.B. auf, wenn in einem passwortgeschützten Wiki eine Seite zur Bearbeitung für alle freigegeben wird. Problem ist, dass die Spezialseite Site.EditForm zum lesen nicht freigegeben ist. Lösung: Auf diese Seite gehen, dort mit action=attr das Lesepasswort auf "nopass" setzen.

12.05.2008 Beschränkungen durch Suhosin-PHP System

Um PHP zu härten, also weniger angreifbar zu machen, setzen manche Provider das Suhosin-System ein (http://www.hardened-php.net/). Das macht z.B. der Provider http://www.hosteurope.de so.

Was einerseits mehr Sicherheit bringt, schränkt andererseits die Arbeit mit Pmwiki mitunter ein. Hauptproblem sind die eingestellten Limits für die Datenmenge von übermittelten POST Daten, wenn man einen editierten Beitrag speichern will. Hier ist eine Limit von 65000 Byte eingestellt. Ist ein Beitrag länger, kann er nicht mehr abgespeichert werden. Das Limit erreicht man bei Texten, die ausgedruckt etwa 15 Seiten einnehmen. Mir ist das schon öfters passiert.

Ich hab lange gesucht, bis ich auf die Idee gekommen bin, dass es das Suhosin-System ist - zuvor hatte ich noch nie was davon gehört.

Bei Hosteurope kann man die eingestellten Limits über eine .htaccess Datei hochsetzen. Die Einträge dafür lauten:

 
php_value suhosin.post.max_value_length 200000
php_value suhosin.request.max_value_length 200000
 

Hiermit werden die Limits von 65000 auf 200000 hochgesetzt, was in den meisten Fällen genügen sollte.

14.11.2004 Pre-Textrahmen

Ich finde es netter, wenn Pre-formatierter Text z.B. für Programmcode mit einem Rahmen umzogen ist. Hierzu in der css-Datei des entsprechenden Skins (pub/skins/skinname/) folgendes eingefügt wird:

 
pre {
  border: 1px solid;
  padding-left: 8px;
  padding-right: 8px;
  background-color: #f8f8f8;
}


14.11.2004 Schicke URL generieren

Die normale pmwiki-Url ist http://www.domain.tld/wikipfad/pmwiki.php/Gruppe/Seite. Schick ist es, wenn die URL so aussehe: http://wwww.domain.tld/wikipfad/Gruppe/Seite.

Dies geht so:

  • Voraussetzung: Apache hat mod_rewrite
  • .htaccess ins pmwiki-root-Verzeichnis legen mit folgendem Inhalt:
 
DirectoryIndex pmwiki.php
RewriteEngine on
RewriteBase /
RewriteRule ^([A-Z].*) /pfad/zu/pmwiki/pmwiki.php?pagename=$1 [L,qsappend]

  • Anpassung der local/config.php
 
//Rewrite-Anpassungen
$ScriptUrl    = 'http://www.domain.tld/pfad/zu/pmwiki/pmwiki.php';
$PageUrlFmt   = 'http://www.domain.tld/pfad/zu/pmwiki/$Group/$Title_';
$PubDirUrl    = 'http://www.domain.tld/pfad/zu/pmwiki/pub';
$UploadUrlFmt = 'http://www.domain.tld/pfad/zu/pmwiki/uploads';