Wissens-Management auf der Box
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/)

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.
Was spricht nun für das MoinMoin Wiki?

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.
Ziele für die Installation:
  •  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
Im Homeverzechnis einen Ordner data erstellen, die Originale Daten des Wiki reinkopieren und Soflink auf /opt/share/moin/data legen.
  • /volume1/homes/wiki/data => /opt/share/moin/data
Für das Sitepackages einen Softlink erstellen
  • /opt/share/moin/data/htdocs  => /opt/lib/python2.5/site-packages/MoinMoin/web/static/htdocs
Wiki Konfiguration ins Root-Wiki-Verzeichnis
  • cd /opt/share/moin/
  • Softlink ln -s config/wikiconfig.py .
Für Alle Log-Daten einen Ordner erstellen
  • /opt/share/moin/logs
Underlay-Ordner entpacken. Dies sind Hilfeseiten für das Wiki.
  • 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 Konfiguration
hostname = '[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/
./wikiserver.py
Im Browser die Adresse des Servers eingeben:
http://[IP-Adresse]:8081
MoinMoin Wiki 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

Null Linux

Nichts gefunden

Es wurde zur Story Wissens-Management auf der Box kein Kommentar gefunden

Information

Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt


* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Ihr Kommentar
?
?
captcha Image?
?
 
×

...auch noch interessant

Tippsammlung

Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.

Archiv

JahrArchiv
Tag(s):