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
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
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
Nichts gefunden
Es wurde zur Story Wissens-Management auf der Box kein Kommentar gefundenInformation
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
Modal Header
Some text in the Modal Body
Some other text...
(c)2024 stastka.ch // help system