Tippsammlung
Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.Archiv
Jahr
Tag(s):Wissens-Management auf der Box
In meinem Beruf als Informatiker ist es wichtig, das relevantes Wissen dokumentiert wird. Installation-Protokolle, Anleitungen, Prozesse usw. Da drängt sich schnell einmal die installation eines Wiki auf. Wissen wird zentral und für alle Erreichbar aufbereitet.
Ich will mit diesem Artikel gewiss nicht Werbung für ein Produkt machen. Jeder hat andere Bedürfnisse. Dennoch will ich damit zeigen wie einfach ein Wiki auf der Synology NAS installiert ist. Die Pfade müssen ggf. für das jeweilige Model angepasst werden.
Wer sich mehr über Wikis erfahren will und was es z.Z. auf dem Mark vorhanden ist, empfehle ich den Besuch der Wiki-Matrik. Man kann K.O. Kriterien definieren und so seine Suche eingrenzen. (http://www.wikimatrix.org/)

Solle das Wiki starten, kann der MoinMoin Prozess geschlossen werden.
Cach-Daten löschen:

Ich will mit diesem Artikel gewiss nicht Werbung für ein Produkt machen. Jeder hat andere Bedürfnisse. Dennoch will ich damit zeigen wie einfach ein Wiki auf der Synology NAS installiert ist. Die Pfade müssen ggf. für das jeweilige Model angepasst werden.
Wer sich mehr über Wikis erfahren will und was es z.Z. auf dem Mark vorhanden ist, empfehle ich den Besuch der Wiki-Matrik. Man kann K.O. Kriterien definieren und so seine Suche eingrenzen. (http://www.wikimatrix.org/)
Wesshalb MoinMoin?
Ich bin durch meine Anstellung bei meinem jetztigen Arbeitgeber auf dieses Wiki gestossen. Es dient bei uns als Wissen-Zentrale und hat sich in unsere Abläufe bewährt. Dennoch will ich folgendes festhalten:- Ein Wiki ist kein Dateiablagesystem (DMS)
- Ein Wiki sollte hirarchisch aufgebaut werden (Dokumentenstruktur, Rechte, Planung)
- Ein Wiki sollte nicht durch Makros zweckentfremdet werden (z.B. Datenbankfunkionalität)
- Ein Wiki lebt von Content. Wen niemand Zeit hat ist es überflüssig.
Die Vorteile:
- OpenSource
- Sie läuft ohne Datenbank, d.h. läuft auf Dateiebene
- Einfach zu warten
- ACL
- Crossplattform (Windows, Mac, Linux)
- Standalone Lösung, WSGY-Mode
- Versionsverwaltung
Nachteile:
- Python muss installiert sein, d.h. braucht einen Interpreter.
- Python als Skriptsprache (Noch eine Sprache die man lernen muss)
- Content-Editor ist nicht einfach Benutzerbar.
- Wiki läuft mit Apache mod_wsgi
- Port 8081
- Daten im Homeverzeichnis für spätere synchronisation
- Migration des alten Wiki (1.8)
Installation
Die installation erfolgt über das IPKG:ipkg install python #Python Framework ipkg install mod-wsgi #Apache Modul für wsgi ipkg install py25-moin #MoinMoin Wiki
Benutzer erstellen
Ich empfehle das Wiki unter einem anderen Benutzer laufen zu lassen. Sollte durch eine Schwachstelle im Wiki eingebrochen werden, ist nur das Wikiverzeichnis betroffen.- Benutzer: wiki
- Gruppe: www-wiki
Ordner / Dateistruktur
- /opt/share/moin/data unbennenen, ggf. später löschen
- /volume1/homes/wiki/data => /opt/share/moin/data
- /opt/share/moin/data/htdocs => /opt/lib/python2.5/site-packages/MoinMoin/web/static/htdocs
- cd /opt/share/moin/
- Softlink ln -s config/wikiconfig.py .
- /opt/share/moin/logs
- underlay.tar.gz in /opt/share/moin/underlay entpacken
wikiconfig.py
Folgende Optionen müssen definiert werden:# Wiki Namen in der Titelheader sitename = u'Mein Wiki' # Startseite page_front_page = u"MyStartingPage" # AdminBenutzer superuser = [u"Moderator","Administrator", ] # ACL bevor die Seite geladen wird. Ist besonders für Nicht-Öffentliche Seiten praktisch. acl_rights_before = u"YourName:read,write,delete,revert,admin"
wikiserverconfig.py
Wiki-Server Konfigurationhostname = '[IP-Adresse]' port = 8081 user = 'wiki' group = 'www-wiki'
Startscript für Dienst (/opt/etc/init.d)
Wenn man die Standalone-Version verwendet, kann man mit folgendem Script die Moin-Moin Instanz als Dienst starten/stoppen/neu starten#!/bin/bash
SERVICE="moin"
PID="/opt/share/moin/var/moin.pid"
CONFIG="/opt/share/moin/"
USER="wiki"
GROUP="www-wiki"
PORT="8082"
COMMAND_START="moin server standalone --user=$USER --group=$GROUP --config-dir=$CONFIG --port=$PORT --pidfile=$PID --start"
COMMAND_STOP="moin server standalone --user=$USER --group=$GROUP --config-dir=$CONFIG --port=$PORT --pidfile=$PID --stop"
DATE=date
if [ "$1" == "start" ]; then
echo "$DATE starting $SERVICE"
$COMMAND_START
elif [ "$1" == "restart" ]; then
echo "$DATE restarting $SERVICE"
if [ -f $PID ]
then
$COMMAND_STOP
wait
fi
if [ -f $PID ]
then
killall $SERVICE
wait
rm $PID
fi
echo "$DATE starting $SERVICE"
$COMMAND_START
elif [ "$1" == "stop" ]; then
echo "$DATE restarting $SERVICE"
if [ -f $PID ]
then
$COMMAND_STOP
wait
fi
killall $SERVICE
elif [ "$1" == "check" ]; then
# if ps -u $USER x | grep -v grep | grep $SERVICE > /dev/null; then
if procps-ps -u $USER | grep $SERVICE > /dev/null; then
echo "$DATE $SERVICE îs running, everything is fine"
else
echo "$DATE Alert! $SERVICE is not running, trying to restart"
# if [ -f $PID ]
# then
# rm $PID
# fi
# $COMMAND_START
fi
else
echo "$DATE : Parameter missing, use start,stop,check or restart"
fi
exit 0
/opt/share/moin/server/moin.wsgi
Das WSGI Modul muss wissen wo das Root-Verzeichnis des Wikis liegt:sys.path.insert(0, '/opt/share/moin')
Berechtigung
Jetzt alle Daten und Unterverzeichnisse die richtigen Berechtigungen setzen. Ggf. wiederholen, wenn man Daten aus einem älteren Wiki migriert.cd /opt/share/moin/ chown wiki:www-wiki -R *
Der erste Test
Jetzt kann man Testen, ob das Wiki richtig konfiguriert.cd /opt/share/moin/Im Browser die Adresse des Servers eingeben:
./wikiserver.py
http://[IP-Adresse]:8081

Solle das Wiki starten, kann der MoinMoin Prozess geschlossen werden.
Migration (Optional)
Die Daten im /volume1/homes/wiki/data löschen und die zu migrieriednen Daten kopieren.Cach-Daten löschen:
moin: maint cleancache --config-dir=/opt/share/moin/wikiconfig.py --wiki-url=http://[IP-ADresse]Daten migrieren:
moin: migration data --config-dir=/opt/share/moin/wikiconfig.py --wiki-url=http://[IP-ADresse]Dazu je nachdem wie das alte 1.8 Wiki Installiert wurde muss man Daten updaten:
- Thema für 1.9 im Market herunterladen
- Macros updaten
Wiki starten
Das Wiki kann man auf zwei arten Laufen lassen. Einerseits als Desktop-Standalone, wenn nur eine oder zwei Personen darauf arbeiten, oder via Apache Mod_wsgi für grössere Nutzungsgemeinde. WSGI hat einen grösseren RAM und CPU verbrauch.Standalone
Für eine Standalone-Version kann man ein Start-Skrip erstellen und bei Bedarf starten:#!/bin/python
/opt/share/moin/wikiserver.py
Mod WSGI
opt/etc/apache2/httpd.conf
# Wo der Apache Server abhört: Listen 8081 ServerName [IP-Adresse] # Directory-Direktive für Root-Apache-Verzeichnis auskommentieren. # Virtuelle Hosts Inkludieren Include etc/apache2/extra/httpd-vhosts.conf # Modul Mod WSGI laden Include etc/apache2/conf.d/mod_wsgi.conf
opt/etc/apache2/extra/httpd-vhosts.conf
Die Eckigen Klammern mit Tags ersetzen. Die WSGI Parameter können je nach Anforderungen verändert werden.[VirtualHost *:8081] ServerName meinServer:8081 ServerAdmin mail@domain.ch DocumentRoot /opt/share/moin/htdocs/ ErrorLog /opt/share/moin/logs/error.log CustomLog /opt/share/moin/logs/access.log common # Aliase für Statische Dateien Alias /robots.txt /opt/share/moin/htdocs/robots.txt Alias /favicon.ico /opt/share/moin/htdocs/favicon.ico Alias /wiki/ /opt/share/moin/htdocs/ # URL http://servername:8081/ WSGIScriptAlias / /opt/share/moin/server/moin.wsgi # erstellt wsgi daemons - mit Benutzer und Gruppe WSGIDaemonProcess daemonwiki umask=0007 user=wiki group=www-wiki processes=5 threads=15 maximum-requests=2000 # Benutze den daemon für den Prozess-Request! WSGIProcessGroup daemonwiki [/VirtualHost]
Finish
Installation der Sprache(n)- Anlegen des Superusers (sofern noch nicht erfolgt)
- Einloggen als Superuser
- http://[IP-Adresse]:8081/LanguageSetup
- Deutsch und Englisch komplett installieren
Mehr Informationen

Neuer Kommentar:
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number