MoinMoin-Wiki: Unterschied zwischen den Versionen
imported>Stastka |
imported>Stastka |
||
Zeile 114: | Zeile 114: | ||
== Standalone-Version == | == Standalone-Version == | ||
Für 1-2 Benutzer reicht diese Betriebsart. Bei etwas schwachen NAS-Modellen (wenig RAM) empfiehlt sich diesen Modus zu wählen. | |||
=== S80moin === | |||
Damit das Wiki mit dem Start der NAS gestartet werden soll erstellt man im ini.d Verzeichnis ein Skript: | |||
<pre> | |||
# | |||
# /opt/etc/init.d/S80moin | |||
# | |||
#!/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 | |||
</pre> | |||
== Apache-Version (mod_wsgi) == | == Apache-Version (mod_wsgi) == |
Version vom 13. Mai 2011, 13:47 Uhr
MoinMoin Wiki
Was ist MoinMoin?
MoinMoin ist eine freie Wiki-Software, die in der Programmiersprache Python geschrieben ist. Der Name „MoinMoin“ ist eine Anspielung auf den norddeutschen Gruss „Moin“ sowie auf die Doppelung und „CamelCase“-Schreibweise von „WikiWiki“, einem Synonym von „Wiki“.
Vor und Nachteile des MoinMoin-Wiki
Vorteile:
- OpenSource
- Sie läuft ohne Datenbank, d.h. läuft auf Dateiebene
- Einfach zu warten
- ACLs (Berechtigung)
- 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)
- WYSIWYG-Editor hat ein paar Macken.
Voraussetzungen
Damit das Wiki auf der Synology-Box läuft muss zwingend Python installiert werden. Will man "nur" die Standalone (ohne Apache-Server) betreiben, wird das mod-wsgi nicht benötigt.
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
Ordner der Originalen Wiki-Seiten umbennen, ggf. später löschen wenn man ein Update zu einer älteren Version macht.
mv /opt/share/moin/data /opt/share/moin/data_old
Im Homeverzechnis des wiki-users einen Ordner data erstellen und Soflink erstellen:
cd /opt/share/moin/ ln -s /volume1/homes/wiki/data data
Softlink für das Sitepackages erstellen
cd /opt/share/moin/data/ ln -s /opt/lib/python2.5/site-packages/MoinMoin/web/static/htdocs htdocs
Softlink der Wiki Konfiguration im Root-Wiki-Verzeichnis erstellen
cd /opt/share/moin/ ln -s config/wikiconfig.py .
Order für Log's erstellen
mkdir /opt/share/moin/logs
Underlay-Daten entpacken. Dies sind Hilfeseiten für das Wiki.
tar xfv /opt/share/moin/underlaytmp.tar.gz
Konfiguration
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'
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 ist.
cd /opt/share/moin/ ./wikiserver.py
Werden keine Fehlermeldung angezeigt, kann man nun das Wiki direkt im Browser anzeigen:
http://[IP-Adresse]:8081
Wenn nun alles geklappt hat kann man hier sich entscheiden, will man das Wiki im Standalone-Modus oder im mod_wsgi betreiben:
Standalone-Version
Für 1-2 Benutzer reicht diese Betriebsart. Bei etwas schwachen NAS-Modellen (wenig RAM) empfiehlt sich diesen Modus zu wählen.
S80moin
Damit das Wiki mit dem Start der NAS gestartet werden soll erstellt man im ini.d Verzeichnis ein Skript:
# # /opt/etc/init.d/S80moin # #!/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
Apache-Version (mod_wsgi)
Jetzt wo wir wissen, dass das Wiki funktionstüchtig ist, müssen wir noch den Apache konfigurieren.
moin.wsgi
Das WSGI Modul muss wissen wo das Root-Verzeichnis des Wikis liegt: /opt/share/moin/server/moin.wsgi
sys.path.insert(0, '/opt/share/moin')