Difference between revisions of "TWiki"

From Dietrich Blog (Strato)
Jump to: navigation, search
(Replaced content with "This page has been moved to my BLOG at http://blog.kr8.de")
Line 1: Line 1:
{{TOCright}}
+
This page has been moved to my BLOG at http://blog.kr8.de
Meine mit TWiki gemachte [[WebsiteTWiki]] habe ich in 2007 nach [[MediaWiki]] migriert.
 
 
 
== TWiki das WikiWiki für mein Knowledge-Management ==
 
Siehe auch: [[TWikiInstallationWindows]]
 
* Was ist eigentlich ein [[WikiWikiWebMain|WikiWikiWeb]]?
 
* Wofür ich das WikiWiki benutzen will:... [[WikiWikiWebAuswahlverfahren]]
 
* Warum ich TWiki für mich ausgesucht habe... [[WikiWikiWebAuswahlverfahren]]
 
 
 
== Installationsgeschichte ==
 
Bei der ersten Installation von TWiki habe ich mich genau an das TWiki:TWiki.WindowsInstallCookbook gehalten. Nach vier Monaten der Nutzung haben mich nun aber doch einige Dinge an der Art der Erst-Installation gestört:
 
* Installationsordner ausserhalb des Document-Root von [[Apache|Apache]]
 
* Langsame Ausführung der TWiki-Perl-Skripts im CGI-Standard-Modus
 
* Starke Abhängigkeit von [[Cygwin|Cygwin]] (Cygwin [[Perl|Perl]], Cygwin RCS, Cygwin Mountpoints)
 
* Shebang-Zeile in den [[Perl|Perl]]-Scripts
 
 
 
Folgende Veränderungen der Installation habe ich heute durchgeführt:
 
* TWiki-Dateipfad:  d:\home\kracht\www\twiki  ( URL:  http://localhost/twiki  )
 
* ActivePerl 5.6 (als Voraussetzung für ''mod_perl'')
 
* Installation von ''mod_perl'' für die schnelle Ausführung von [[Perl|Perl]]-Scripts unter [[Apache|Apache]] 
 
* Angabe von Datei-Pfaden nicht mehr bezogen auf Cygwin-Mounts (/twiki/bin/...), sondern als Windows Dateipfade (d:/home/kracht/www/twiki/bin/...)
 
 
 
=== 2007-04-08 Installation der Version 4.1.1 ===
 
Zuerst in der alten TWiki-Version (02 Sept 2004 1742 "Cairo")
 
* TWiki.TwikiPreference:  SMTPMAILHOST = localhost
 
 
 
Installationsbeschreibung: [[http://TWiki.org/cgi-bin/view/TWiki/TWikiDocumentation|http://TWiki.org/cgi-bin/view/TWiki/TWikiDocumentation]]
 
* Apache: 1.3.29
 
* Perl: 5.6 ---> 5.8
 
* Installationsverzechnis: e:/var/www/htdocs/wiki
 
* Das File e:/var/www/htdocs/wiki/bin/LocalLib.cfg aus dem Txt-File erstellen
 
* Apache httpd.conf: ScriptAlias und Alias einrichten (als erster Schritt)
 
* Im Skript-File "configure" die Shebang-Zeile ändern auf:  #!/perl/bin/perl ....
 
* Das Skript "configure" starten ([[http://braunbaer.kr8.de/wiki|http://braunbaer.kr8.de/wiki]])
 
** Pfade eintragen
 
** LoginManager = TemplateLogin
 
** PasswordManager = HtPasswdUser
 
** ...
 
* Shebang-Zeile in allen Perl-Skripten in wiki/bin ändern
 
* Passwort-File .htpasswd nach wiki/data/.htpasswd kopieren
 
* Kracht-Wiki kopieren von twiki/data/Kracht nach wiki/data/Kracht
 
* User einrichteen
 
* User-Berechtigungsprüfung per Apache einrichten ("AuthType Basic" für wiki/bin in httpd.conf oder .htaccess)
 
* ...
 
 
 
Weitere Änderungen der Konfiguration:
 
* {MapUserToWikiName} $TWiki::cfg{MapUserToWikiName} = 0;
 
* {Register}{NeedVerification} $TWiki::cfg{Register}{NeedVerification} = 0;
 
* {Htpasswd}{Encoding} $TWiki::cfg{Htpasswd}{Encoding} = 'sha1';
 
* {SafeEnvPath} $TWiki::cfg{SafeEnvPath} = 'd:\\Programme\\gnurcs\\bin\\win32;c:\\WINNT\\system32';
 
 
 
Perl Module
 
* Active Perl: PPM  install CGI-Session .....
 
 
 
=== 2004-11-27 Installation der Version 02 Sep 2004 ===
 
Auf meinem neuen PC, den ich '''Braunbaer''' getauft habe, installiere ich die neue Version (02 Sep 2004) von TWiki. Auf diese war ich aufmerksam geworden, weil die TWiki-Installation (Version 01 Feb 2003) bei meinem WebProvider-Provider Westhost ein Sicherheitsproblem hatte und gehackt wurde.
 
Die Installation auf Braunbaer mit Windows2000 will ich so einfach und robust wie möglich machen, d.h. ganz ohne [[Cygwin|Cygwin]] und mit einem stabilen RCS (also nicht RCSLite) auf Win32-Basis. Das TWiki-Modul '''RcsWrap.pm''' enthält aber leider noch einen gemeinen Fehler, den ich erst nach mehreren Stunden der Analyse finde:
 
<pre>
 
Zeile 106: #TODO set from TWiki.cfg
 
Zeile 107: my $cmdQuote = "'";
 
</pre>
 
Für Windows2000 muss das geändert werden in:
 
<pre>
 
Zeile 106: #TODO set from TWiki.cfg
 
Zeile 107: my $cmdQuote = "\"";
 
</pre>
 
Dann funktionieren die RCS-Funktionalitäten von TWiki.
 
 
 
'''Peter Thoeny möge sich schämen, wie vielen Menschen hat er wie viele Stunden ihres Lebens gestohlen?'''
 
 
 
---------------
 
== Neue Installation auf ComputerBraunbaer (ohne Cygwin) ==
 
* Definitive Software Library ID: '''TWiki'''
 
* Name: TWiki
 
* Version:  02 Sep 2004 (Security Update)
 
* Hersteller/Bezugsquelle: Peter Thoeny  http://twiki.org
 
* Systemvoraussetzungen:  [[Perl|Perl]], GNU [[RCS|RCS]], [[Apache|Apache]], UnxTools
 
* Installations-Ordner:  E:\var\www\htdocs\twiki
 
* Konfiguration: E:\var\www\htdocs\twiki\bin\setlib.cfg  (Einzelheiten s.u.)
 
** Prüfen der Installation:  http://localhost/twiki/bin/testenv
 
** RCS: ohne Cygwin, auf DOS-Ebene mit GNURCS und den UnxTools
 
** RCS-Locks: Die Locks sind auf User '''dkracht''', deshalb muss der Apache-Service auch unter dieser UserId laufen
 
 
 
=== Konfigurationsdatei:  ...\www\htdocs\twiki\bin\setlib.cfg ===
 
<pre>
 
# -------------- Change these settings if required
 
 
 
# Path to lib directory containing TWiki.pm. Set to absolute file path:
 
$twikiLibPath = 'e:/var/www/htdocs/twiki/lib';
 
 
 
# Path to local Perl modules (e.g. under home directory for users
 
# without 'root' on Unix/Linux). Uncomment and set if needed:
 
# $localPerlLibPath = '';
 
</pre>
 
 
 
=== Konfigurationsdatei: ...\www\twiki\lib\TWiki.cfg ===
 
<pre>
 
# variables that need to be changed when installing on a new server:
 
# '''<tt>==============================================================</tt>'''
 
# ---- Windows paths should normally be written as "c:/foo" not "c:\foo"
 
# ---- (which doesn't do what you may think it does).  You can use '\'
 
# ---- without problems inside single quotes, e.g. 'c:\foo'.
 
$defaultUrlHost = "http://braunbaer.kr8.de";
 
# %SCRIPTURLPATH% : cgi-bin URL path for TWiki:
 
$scriptUrlPath = "/twiki/bin";
 
# %PUBURLPATH% : Public data URL path for TWiki (root of attachments) :
 
$pubUrlPath = "/twiki/pub";
 
# Public data directory (file path not URL), must match $pubUrlPath :
 
$pubDir   = "e:/var/www/htdocs/twiki/pub";
 
# Template directory :
 
$templateDir = "e:/var/www/hatdocs/twiki/templates";
 
# Data (topic files) root directory (file path not URL):
 
$dataDir = "e:/var/www/htdocs/twiki/data";
 
# Log directory for log files, debug and warning files. Default "$dataDir" :
 
$logDir   = "$dataDir";
 
 
 
$saveEnvPath  = 'D:\Programme\gnurcs\bin\win32;c:\WINNT\system32';
 
$rcsDir   = "D:/Programme/gnurcs/bin/win32";
 
$StoreTopicImpl = "RcsWrap";
 
$lsCmd   =  'D:\Programme\gnurcs\bin\win32\ls';  (aus Sourceforge: UnxTools)
 
$egrepCmd   = 'D:\Programme\gnurcs\bin\win32\egrep';  (aus Sourceforge: UnxTools)
 
$fgrepCmd =  'D:\Programme\gnurcs\bin\win32\fgrep';  (aus Sourceforge: UnxTools)
 
 
 
$editLockTime = "300";
 
</pre>
 
 
 
=== Konfigurationsdatei:  ...\www\twiki\bin\.htaccess ===
 
Das war noch eine kleine Gemeinheit: Was ich auch in die Apache-Konfigurationsdatei ''httpd.conf'' eingetragen habe, egalweg wollte '''mod_perl''' für die Scripts hier nicht zur Anwendung kommen. Erst das Auskommentieren von '''SetHandler cgi-script''' brachte dann den Erfolg.
 
<pre>
 
# bin/.htaccess.txt
 
#
 
# Controls access to TWiki scripts - rename this to '.htaccess' to make
 
# Apache use it.
 
 
 
# Use CGI & Perl to handle all files in 'bin' directory, i.e. run as scripts
 
# - this should remove the need to rename files to end in '.pl' etc,
 
# if your web hosting provider permits this.  Remove if using mod_perl.
 
####SetHandler cgi-script
 
</pre>
 
 
 
=== User-Ids und Passwörter ===
 
Für die Ausführung bestimmter Perl-Scripts (z.B. edit, save) wird eine Authentifizierung verlangt.  User-Ids und Passwörter sin in der Datei '''.htpasswd''' gespeichert. Diese Datei wird mit Hilfe des zu [[Apache|Apache]] gehörigen Dienstprogramms '''htpasswd.exe''' erstellt. Standardmässig wird von den Passwörtern ein MD5-Hash gespeichert (wahlweise auch ein SHA1-Hash).
 
* htpasswd -cs .htpasswd dkracht
 
* htpasswd -s .htpasswd DietrichKracht
 
Die obigen Befehle erzeugen eine Passwort-Datei '''.htpasswd''' mit den Usern "dkracht" und "DietrichKracht" und entsprechenden Passwörtern als SHA1-Hashs. Diese Datei muss dann nach /twiki/data kopiert werden... (s.u. AuthUserFile)
 
 
 
<pre>
 
# Password file for TWiki users
 
#
 
# The path here must be a system file pathname, not a URL - first part should
 
# match the $dataDir setting in TWiki.cfg
 
AuthUserFile e:/var/www/htdocs/twiki/data/.htpasswd
 
AuthName 'Enter your WikiName: (First name and last name, no space, no dots, capitalized, e.g. JohnSmith). Cancel to register if you do not have one.'
 
AuthType Basic
 
 
 
# File to return on access control error (e.g. wrong password)
 
# The path here must be a URL path, not a file pathname - first part should
 
# match the $scriptUrlPath in TWiki.cfg
 
ErrorDocument 401 /twiki/bin/oops/TWiki/TWikiRegistration?template=oopsauth
 
</pre>
 
 
 
=== Apache Konfiguration ===
 
Für die Lauffähigkeit von TWiki mussen in der Apache-Konfigurationsdatei ''https.conf'' folgende Eintragungen vorgenommen werden.
 
<pre>
 
<IfModule mod_env.c>
 
SetEnv TZ CET-1EST
 
SetEnv RCSINIT -x,v/
 
SetEnv TEMP e:/tmp
 
SetEnv TMP e:/tmp
 
SetEnv LOGNAME dkracht
 
# SetEnv PERL5SHELL "cmd.exe /x/c"
 
</IfModule>
 
</pre>
 
 
 
=== TWiki.TWikiPreferences ===
 
Im Dokument (Topic) TWiki.TWikiPreferences werden noch folgende Parameter eingestellt:
 
* WIKIWEBLIST = Kracht Consulting TWiki Sandbox
 
* WEBBGCOLOR = #C0C0C0
 
* WIKIWEBMASTER = xxx@kr8.org
 
* ALLOWTOPICCHANGE = Main.TWikiAdminGroup
 
 
 
=== WebPreferences ===
 
Im Dokument (Topic) Kracht.WebPreferences werden folgende Parameter eingestellt:
 
* SKIN = kracht
 
Diese in der alten TWiki-Version entwickelte Skin besteht aus folgenden Template-Dateien:
 
* attach.kracht.tmpl
 
* edit.kracht.tmpl
 
* preview.kracht.tmpl
 
* print.kracht.tmpl
 
* rdiff.kracht.tmpl
 
* search.kracht.tmpl
 
* view.kracht.tmpl
 
Diese Skin-Templates liegen im Ordner /twiki/templates
 
 
 
=== Cascading Stylesheet (CSS) ===
 
Zur Gestaltung der Optik wurde ein eignenes Stylesheet '''blue.css''' entwicklet, dies liegt in '''/twiki/css'''.
 
 
 
Damit dieses Stylesheet auch für alle Steiten verwendet wird, habe ich zwei Zeilen in '''twiki.tmpl''' einfügen müssen(?).
 
 
 
=== Letzte Aktionen ===
 
Der User Main.DietrichKracht ist anzulegen, einzutragen in Main.TWikiUsers und in Main.TWikiAdminGroup
 
 
 
----------------
 
== Installation auf lonzo.kr8.de ==
 
* Definitive Software Library ID: '''TWiki'''
 
* Name: TWiki
 
* Version:  01 Feb 2003
 
* Hersteller/Bezugsquelle: Peter Thoeny  http://twiki.org
 
* Installations-Ordner:  D:\home\kracht\www\twiki
 
* Konfiguration: D:\home\kracht\www\twiki\bin\setlib.cfg  (Einzelheiten s.u.)
 
* Systemvoraussetzungen:  [[Perl|Perl]], [[RCS|RCS]], [[Apache|Apache]], [[Cygwin|Cygwin]], UnxTools
 
 
 
=== Konfigurationsdatei:  ...\www\twiki\bin\setlib.cfg ===
 
<pre>
 
# -------------- Change these settings if required
 
 
 
# Path to lib directory containing TWiki.pm. Set to absolute file path:
 
$twikiLibPath = 'd:/home/kracht/www/twiki/lib';
 
 
 
# Path to local Perl modules (e.g. under home directory for users
 
# without 'root' on Unix/Linux). Uncomment and set if needed:
 
# $localPerlLibPath = '';
 
</pre>
 
 
 
=== Konfigurationsdatei: ...\www\twiki\lib\TWiki.cfg ===
 
<pre>
 
# variables that need to be changed when installing on a new server:
 
# '''<tt>==============================================================</tt>'''
 
# ---- Windows paths should normally be written as "c:/foo" not "c:\foo"
 
# ---- (which doesn't do what you may think it does).  You can use '\'
 
# ---- without problems inside single quotes, e.g. 'c:\foo'.
 
$wikiHomeUrl = "http://localhost/twiki";
 
# URL for TWiki host : (e.g. "http://myhost.com:123")
 
$defaultUrlHost = "http://localhost";
 
# %SCRIPTURLPATH% : cgi-bin URL path for TWiki:
 
$scriptUrlPath = "/twiki/bin";
 
# %PUBURLPATH% : Public data URL path for TWiki (root of attachments) :
 
$pubUrlPath = "/twiki/pub";
 
# Public data directory (file path not URL), must match $pubUrlPath :
 
$pubDir   = "d:/home/kracht/www/twiki/pub";
 
# Template directory :
 
$templateDir = "d:/home/kracht/www/twiki/templates";
 
# Data (topic files) root directory (file path not URL):
 
$dataDir = "d:/home/kracht/www/twiki/data";
 
# Log directory for log files, debug and warning files. Default "$dataDir" :
 
$logDir   = "$dataDir";
 
</pre>
 
 
 
=== Konfigurationsdatei:  ...\www\twiki\bin\.htaccess ===
 
Das war noch eine kleine Gemeinheit: Was ich auch in die Apache-Konfigurationsdatei ''httpd.conf'' eingetragen habe, egalweg wollte '''mod_perl''' für die Scripts hier nicht zur Anwendung kommen. Erst das Auskommentieren von '''SetHandler cgi-script''' brachte dann den Erfolg.
 
<pre>
 
# bin/.htaccess.txt
 
#
 
# Controls access to TWiki scripts - rename this to '.htaccess' to make
 
# Apache use it.
 
 
 
# Use CGI & Perl to handle all files in 'bin' directory, i.e. run as scripts
 
# - this should remove the need to rename files to end in '.pl' etc,
 
# if your web hosting provider permits this.  Remove if using mod_perl.
 
####SetHandler cgi-script
 
</pre>
 
 
 
=== User-Ids und Passwörter ===
 
Für die Ausführung bestimmter Perl-Scripts (z.B. edit, save) wird eine Authentifizierung verlangt.  User-Ids und Passwörter sin in der Datei '''.htpasswd''' gespeichert. Diese Datei wird mit Hilfe des zu [[Apache|Apache]] gehörigen Diensprogramms '''htpasswd.exe''' erstellt. Standardmässig wird vonden Passwörtern ein MD5-Hash gespeichert (wahlweise auch ein SHA1-Hash).
 
* htpasswd -cs .htpasswd dkracht
 
* htpasswd -s .htpasswd DietrichKracht
 
Die obigen Befehle erzeugen eine Passwort-Datei '''.htpasswd''' mit den Usern "dkracht" und "DietrichKracht" und entsprechenden Passwörtern als SHA1-Hashs. Diese Datei muss dann nach /twiki/data kopiert werden... (s.u. AuthUserFile)
 
 
 
<pre>
 
# Password file for TWiki users
 
#
 
# The path here must be a system file pathname, not a URL - first part should
 
# match the $dataDir setting in TWiki.cfg
 
AuthUserFile d:/home/kracht/twiki/data/.htpasswd
 
AuthName 'Enter your WikiName: (First name and last name, no space, no dots, capitalized, e.g. JohnSmith). Cancel to register if you do not have one.'
 
AuthType Basic
 
 
 
# File to return on access control error (e.g. wrong password)
 
# The path here must be a URL path, not a file pathname - first part should
 
# match the $scriptUrlPath in TWiki.cfg
 
ErrorDocument 401 /twiki/bin/oops/TWiki/TWikiRegistration?template=oopsauth
 
</pre>
 
 
 
=== Apache Konfiguration ===
 
Für die Lauffähigkeit von TWiki mussen in der Apache-Konfigurationsdatei ''https.conf'' folgende Eintragungen vorgenommen werden.
 
<pre>
 
<IfModule mod_env.c>
 
SetEnv LOGNAME system
 
SetEnv PERL5SHELL "d:/Programme/cygwin/bin/bash.exe -c"
 
SetEnv PERL5LIB "d:/home/kracht/www/twiki/bin"
 
</IfModule>
 
</pre>
 
 
 
 
 
-----------
 
 
 
== Kategorien mit TWiki-WebForms ==
 
Als erstes muss für das betroffene TWiki-Web (hier: "Kracht") die Funktionalität "WebForms" aktiviert werden. Das geschieht im Dokument ("Topic") WebPreferences durch die Angabe:
 
* Set WEBFORMS = form1, form2, form3,...
 
 
 
Als Nächstes müssen dann die Forms angelegt werden (hier: WebForm) :
 
<blockquote style="background-color: yellow">
 
{| class=wikitable
 
|-
 
| '''Name''' || '''Type''' || '''Size''' || '''Values''' || '''Tootip message'''
 
|-
 
| TopicClassification || text || 32 || | Cassification
 
|-
 
| TopicSummary || text || 32 || | Summary
 
|-
 
| DefinitiveSoftwareLibrary || checkbox || 1 || DSL || Is this an entry to the DSL?
 
|-
 
| ClientRelation || text || 32 || | What client is related to this?
 
|-
 
| RelatedTopics || text || 32 || | What topics are related to this?
 
|}
 
</blockquote>
 
 
 
Als Drittes müssen dann die bereits vorhandenen Dokumente (Topics) mit "Edit" und "Add form" nachträglich mit den beschreibenden Informationen der WebForm (Kategorien u.a.) versehen werden.
 
 
 
Als Viertes werden dann Abfrage-Dokumente für die Kategorien angelegt (mit "%SEARCH....") z.B. [[TopicClassification]].
 
 
 
 
 
-- Main.DietrichKracht - 01 May 2004
 

Revision as of 17:20, 27 February 2019

This page has been moved to my BLOG at http://blog.kr8.de