Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokuwiki

Wiki-Syntax

**Fetter Text**

//Kursiver Text//

<sub>tiefgestellt</sub> und <sup>hochgestellt</sup>

__Unterstrichener Text__

''Code Text''

<del>Durchgestrichener Text</del>

====== Level 1 Überschrift ======

===== Level 2 Überschrift =====

==== Level 3 Überschrift ====

=== Level 4 Überschrift ===

== Level 5 Überschrift ==

[[Interner Link]]

[[http://example.com|Externer Link]]

- Nummerierter Listenpunkt

* Listenpunkt

----                                            - waagerechter Strich

{{bild.png|}}                                   - Bild (nur Kleinschreibung erlaubt!)

{{bild.png?768x600}}                            - Bild skaliert zu fester Aufl. (nur Kleinschreibung erlaubt!)

{{dokument.pdf|}}                               - PDF-Datei (nur Kleinschreibung erlaubt!)

{{testprogramm.exe|}}                           - Demo-Programm für den Download (nur Kleinschreibung erlaubt!)

Bild- und PDF-Dateien müssen direkt in das Verzeichnis /var/lib/dokuwiki/data/media/ bzw. /usr/local/www/dokuwiki/data/media/ mit den Rechten www-data:www-data bzw. www:www abgelegt werden.

Dabei ist unbedingt auf den Dateinamen zu achten! Der Dateiname darf nur aus kleinen Buchstaben, Zahlen und dem Unterstrich in einfacher Form bestehen. Zwei Unterstriche hintereinander stellen auch einen Ungültigen Dateinamensbestandteil dar!

DokuWiki konfigurieren

Wenn man das TGZ von der Web-Seite installiert, dann muss man die Verzeichnisrechte anpassen:

wget http://download.dokuwiki.org/out/dokuwiki-d9556fbc2c1c07a0baaf81c07d4165f6.tgz
tar xzf dokuwiki-d9556fbc2c1c07a0baaf81c07d4165f6.tgz
mv dokuwiki/* /var/www/html/
chown -R www-data:www-data /var/www/html/*
chmod 0750 /var/www/html/data
chmod 0750 /var/www/html/conf
chmod 0750 /var/www/html/bin
chmod 0750 /var/www/html/inc

Den Index neu bauen

FreeBSD:

> echo 'cd /usr/local/www/dokuwiki/data/ ; php ../bin/indexer.php -c' | su -l www

Debial / Ubuntu:

> su -c 'cd /var/www/dokuwiki/data ; php ../bin/indexer.php -c' www-data

Die Breite der Wiki-Seite ändern

> vi lib/tpl/dokuwiki/style.ini
...
__site_width__      = "100%"
...

DokuWiki sichern

Ubuntu Linux

tar cf dokuwiki_sik.tar /var/lib/dokuwiki/ /etc/dokuwiki

FreeDSB

tar cf dokuwiki_sik.tar /usr/local/www/dokuwiki/ /usr/local/etc/apache22/Includes/dokuwiki.conf

DokuWiki installieren

Ubuntu

Installation und Konfiguration durch das Paketmanagement

aptitude install dokuwiki
      /wiki
      [*] apache2
      [*] apache-ssl

lokale Konfigurationsdatei erstellen

cp /etc/dokuwiki/local.php.dist /etc/dokuwiki/local.php

auf deutsch einstellen

vi /etc/dokuwiki/local.php

      $conf['lang']        = 'de';

damit es nicht nur lokal geht

vi /etc/dokuwiki/apache.conf

      #allow from 127.0.0.1
      allow from all
chown www-data:www-data /usr/share/dokuwiki/conf

Konfiguration im Browser

https://192.168.1.1/wiki/install.php
For security reasons this script will only work with a new and
unmodified Dokuwiki installation. You should either re-extract the files
from the downloaded package or consult the complete Dokuwiki
installation instructions

  * unrecognised or modified dokuwiki.php
    (hash=9100fa9a18424bd097b5ab972d66412d)
  * /usr/share/dokuwiki/conf/local.php already exists
  * /usr/share/dokuwiki/conf/users.auth.php already exists
  * /usr/share/dokuwiki/conf/acl.auth.php already exists

Aufruf im Browser

https://192.168.1.1/wiki/

FreeBSD

Erstmal muss der Apache mit mod_ssl installiert werden:

portinstall -prO www/apache22
....
[X] SSL                   Enable mod_ssl
....

Dann das Wiki:

portinstall -prO www/dokuwiki

Jetzt machen wir dass wiki noch per https klar:

vi /usr/local/etc/apache22/Includes/dokuwiki.conf

Include etc/apache22/extra/httpd-ssl.conf

# http://freebsdrocks.net/index.php/guides-mainmenu-25/15-installing-apache-samba-etc/17-installing-apache-22
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#
DirectoryIndex index.php index.html
#
# echo 'accf_http_load="YES"' >> /boot/loader.conf
# kldload accf_http

Alias /wiki "/usr/local/www/dokuwiki/"

<Directory "/usr/local/www/dokuwiki">
        #Options Indexes FollowSymLinks
        #Options Indexes

        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None

        #
        # Controls who can get stuff from this server.
        #
        Order allow,deny
        Allow from all
</Directory>

Jetzt noch den apache neu starten:

# /usr/local/etc/rc.d/apache22 restart
Performing sanity check on apache22 configuration:
Syntax OK
Stopping apache22.
Waiting for PIDS: 1117.
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.

So, und jetzt kann das Wiki eingerichtet werden:

https://192.168.1.1/wiki/install.php

Aufruf im Browser

https://192.168.1.1/wiki/

Ferti!

DokuWiki-Mehrfach-Installation - trotzdem einfaches Update

Ich lege meine Wiki's unter /home/http/ an.

/home/http/wiki
/home/http/privat
/home/http/kinderwiki

Für das Update, die neueste Version von hier runter laden:

Im Wiki-Verzeichnissen liegen praktisch nur die Wiki- und Zugangs-Daten. Die Quell-Daten, in denen sich der Programm-Kode befindet, wird nur per symbolischer Links in das Wiki-Verzeichnis geholt.

> tar xzf dokuwiki-5422200921b877a379e34cc4e0fee22a.tgz -C /home/http/

Wir legen das Quell-Verzeichnis mit der Versionsnummer im Namen an, damit wir bei späteren Update-Vorgängen, mehrere Versionen nebeneinander liegen lassen können. Das ist sinnvoll, um z.B. bei Problemen auf eine bestimmte oder wenigstens auf die letzte funktionierende Version zurück schalten zu können. Das zurück schalten erfolgt durch den symbolischen Link, der ganz einfach nach belieben entsprechend den Erfordernissen gesetzt werden kann.

> cd /home/http/
> mv dokuwiki dokuwiki-5422200921b877a379e34cc4e0fee22a
> ln -s dokuwiki-5422200921b877a379e34cc4e0fee22a dokuwiki
> ls -lha /home/http/dokuwiki
lrwxr-xr-x  1 root  www    41B 13 Apr 19:29 /home/http/dokuwiki -> dokuwiki-5422200921b877a379e34cc4e0fee22a

Es ist auch möglich, dieses Referenz-Verzeichnis an einer anderen stelle im Dateisystem abzulegen. Das hätte dann auch den Vorteil, dass man dieses reine Referenz-Wiki nicht gezielt im Browser aufrufen kann.

DokuWiki-Mehrfach-Installation

> ls -lha /home/http/dokuwiki/
total 156
drwxr-xr-x   8 root    wheel    16B 13 Apr 19:28 .
drwxr-xr-x  15 kontor  www      28B 13 Apr 22:17 ..
-rw-rw-r--   1 root    wheel   1,5K 23 Aug  2015 .htaccess.dist
-rw-rw-r--   1 root    wheel    18K 23 Aug  2015 COPYING
-rw-rw-r--   1 root    wheel   306B 23 Aug  2015 README
-rw-rw-r--   1 root    wheel    23B 23 Aug  2015 VERSION
drwxr-xr-x   2 root    www       9B 13 Apr 19:25 bin
drwxr-xr-x   2 www     wheel    20B 14 Apr 22:30 conf
drwxr-xr-x  12 www     wheel    17B 13 Apr 19:25 data
-rw-rw-r--   1 root    wheel   3,6K 23 Aug  2015 doku.php
-rw-rw-r--   1 root    wheel    19K 23 Aug  2015 feed.php
drwxr-xr-x   6 root    www      62B 13 Apr 19:25 inc
-rw-rw-r--   1 root    wheel   182B 23 Aug  2015 index.php
-rw-rw-r--   1 root    wheel    20K 23 Aug  2015 install.php
drwxr-xr-x   8 root    www       9B 13 Apr 19:25 lib
drwxr-xr-x   5 root    www       7B 13 Apr 19:25 vendor

um die volle Breite im Wiki nutzen zu können, muss dieser Wert auf „100%“ erhöht werden:

> vi /home/http/dokuwiki/lib/tpl/dokuwiki/style.ini
...
__site_width__      = "100%"            ; @ini_site_width
...

die Basis für mein erstes Wiki initial anlegen:

> cp -a /home/http/dokuwiki-5422200921b877a379e34cc4e0fee22a /home/http/wiki
> cd /home/http/wiki/ || exit 1
> rm -fr bin inc lib vendor
> mkdir bin inc lib vendor

die Basis für mein zweites Wiki initial anlegen:

> cp -a /home/http/dokuwiki-5422200921b877a379e34cc4e0fee22a /home/http/privat
> cd /home/http/privat/ || exit 1
> rm -fr bin inc lib vendor
> mkdir bin inc lib vendor

die Basis für mein drittes Wiki initial anlegen:

> cp -a /home/http/dokuwiki-5422200921b877a379e34cc4e0fee22a /home/http/kinderwiki
> cd /home/http/kinderwiki/ || exit 1
> rm -fr bin inc lib vendor
> mkdir bin inc lib vendor

zum Schluß löschen wir noch die Installationsdatei aus dem Original-Verzeichnis, damit nur die drei verlinkten Wiki's konfiguriert werden können. Sonst ist das ja keine Referenz mehr:

> rm -f /home/http/dokuwiki/install.php

Die meisten Verzeichnisse aus den Live-Wiki's sind Bind-Mount's, die in das Verzeichnis mit den originalen Quell-Daten zeigen, in denen sich der Programm-Kode befindet, damit nur das eine Verzeichniss aktualliesiert werden muss. Mit Sym-Links funktioniert es nicht, dann werden die Media-Daten in das Originalverzeichnis geschrieben.

die Bind-Mount's müssen jetzt noch boot-fest gemacht werden:

...
#------------------------------------------------------------------------------#
### DokuWiki's
### Mit Sym-Links funktioniert es nicht, 
### dann werden die Media-Daten in das Originalverzeichnis geschrieben.

/home/http/dokuwiki/bin         /home/http/wiki/bin             nullfs  rw,late 0       0
/home/http/dokuwiki/inc         /home/http/wiki/inc             nullfs  rw,late 0       0
/home/http/dokuwiki/lib         /home/http/wiki/lib             nullfs  rw,late 0       0
/home/http/dokuwiki/vendor      /home/http/wiki/vendor          nullfs  rw,late 0       0

/home/http/dokuwiki/bin         /home/http/privat/bin           nullfs  rw,late 0       0
/home/http/dokuwiki/inc         /home/http/privat/inc           nullfs  rw,late 0       0
/home/http/dokuwiki/lib         /home/http/privat/lib           nullfs  rw,late 0       0
/home/http/dokuwiki/vendor      /home/http/privat/vendor        nullfs  rw,late 0       0
 
/home/http/dokuwiki/bin         /home/http/kinderwiki/bin       nullfs  rw,late 0       0
/home/http/dokuwiki/inc         /home/http/kinderwiki/inc       nullfs  rw,late 0       0
/home/http/dokuwiki/lib         /home/http/kinderwiki/lib       nullfs  rw,late 0       0
/home/http/dokuwiki/vendor      /home/http/kinderwiki/vendor    nullfs  rw,late 0       0

#------------------------------------------------------------------------------#
...

jetzt die Bind-Mount-Verzeichnisse mounten:

> mount /home/http/wiki/bin
> mount /home/http/wiki/inc
> mount /home/http/wiki/lib
> mount /home/http/wiki/vendor
> mount /home/http/privat/bin
> mount /home/http/privat/inc
> mount /home/http/privat/lib
> mount /home/http/privat/vendor
> mount /home/http/kinderwiki/bin
> mount /home/http/kinderwiki/inc
> mount /home/http/kinderwiki/lib
> mount /home/http/kinderwiki/vendor

Das passiert ab jetzt bei jedem boot-Vorgang automatisch.

trotzdem einfaches Update

Dieses Skript sollte erst ausgeführt werden, wenn das Quellverzeichnis aktuallisiert wurde.

#!/bin/bash


### letzte Änderungen
VERSION="v2017120800"

### Liste meiner Wiki's
WIKIS="
/home/http/wiki
/home/http/privat
/home/http/kinderwiki
"

BIND_MOUNT_VERZ="
bin
inc
lib
vendor
"

### Pfad zum Referenz-Wiki (Original vom Autor)
DOKU_WIKI_VERZ="/home/http/dokuwiki"


#==============================================================================#
#
# Für das Update die neueste Version von hier runter laden:
# http://download.dokuwiki.org/
#
#------------------------------------------------------------------------------#
#
# Das Verzeichnis mit den originalen Dateien vom Autor wird hier abgelegt:
# /home/http/
# Auf das Verzeichnis wird dann dieser Symlink zeigen:
# /home/http/dokuwiki/
#
# Die meisten Verzeichnisse aus den Live-Wiki's sind Symlinks, die in das Verz.
# /home/http/dokuwiki/
# zeigen, damit nur das eine Verzeichniss aktualliesiert werden muss.
#
# Das hier sind die einzigen Update-Schritte, die dann noch nötig sind:
# 1. Quellen vom Autor unter "/home/" ablegen;
# 2. die Rechte der Unterverzeichnisse anpassen;
# 3. die Dateien aus diesem Unterverzeichnis "/home/http/dokuwiki/conf/"
#    des Quellverzeichnisbaumes,
#    in die entsprechenden Verzeichnisse der einzelnen Wiki's kopieren;
# 4. den Symlink auf das neue Verzeichnis zeigen lassen;
#
#==============================================================================#

if [ -L /home/http/dokuwiki ] ; then

if [ ! -e ${DOKU_WIKI_VERZ}/lib/tpl/dokuwiki/images/logo_original.png ] ; then
        mkdir -p ${DOKU_WIKI_VERZ}/lib/tpl/dokuwiki/images/
        mv -f ${DOKU_WIKI_VERZ}/lib/tpl/dokuwiki/images/logo.png ${DOKU_WIKI_VERZ}/lib/tpl/dokuwiki/images/logo_original.png 2>/dev/null
        cp /home/http/logo_wiki.png ${DOKU_WIKI_VERZ}/lib/tpl/dokuwiki/images/logo.png
fi

chown -R   0:0 ${DOKU_WIKI_VERZ}/

#------------------------------------------------------------------------------#

service apache24 stop
sleep 1
killall httpd
sleep 1
killall -9 httpd


for VERZ in ${WIKIS}
do
        ls -d ${VERZ}

        cp -f ${DOKU_WIKI_VERZ}/.htaccess.dist ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/COPYING        ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/README         ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/VERSION        ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/doku.php       ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/feed.php       ${VERZ}/
        cp -f ${DOKU_WIKI_VERZ}/index.php      ${VERZ}/

        cp -f ${DOKU_WIKI_VERZ}/conf/*         ${VERZ}/conf/

        ### Bind-Mount-Verzeichnisse auf die neue Version umstellen
        for m in ${BIND_MOUNT_VERZ}
        do
                umount -f ${VERZ}/${m}
                mount ${VERZ}/${m}
        done

        chown      0:80                        ${VERZ}/
        chown      0:0                         ${VERZ}/*
        chown -R  80:0                         ${VERZ}/conf
done


service apache24 start

#------------------------------------------------------------------------------#

chown -R 80:0 ${DOKU_WIKI_VERZ}/conf
chown -R 80:0 ${DOKU_WIKI_VERZ}/bin
chown -R 80:0 ${DOKU_WIKI_VERZ}/inc
chown -R 80:0 ${DOKU_WIKI_VERZ}/data

chown -R  0:0 ${DOKU_WIKI_VERZ}/inc/Form
chown -R  0:0 ${DOKU_WIKI_VERZ}/inc/lang
chown -R  0:0 ${DOKU_WIKI_VERZ}/inc/parser
#chown -R  0:0 ${DOKU_WIKI_VERZ}/inc/phpseclib

fi

#==============================================================================#

/usr/local/etc/apache24/httpd.conf

hier nur den wesentlichen Ausschnitt (weil hier Passwörter eingegeben werden, sollte man nur HTTPS einsetzen):

...
Listen *:443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

SSLRandomSeed startup  file:/dev/random  512
SSLRandomSeed connect  file:/dev/random  512
SSLPassPhraseDialog    builtin
SSLSessionCache        "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout 300

<VirtualHost _default_:443>
        DocumentRoot "/home/http"
        ServerName www.domain.de
        ServerAdmin fritz@domain.de
        ErrorLog "/var/log/httpd-error.log"
        TransferLog "/var/log/httpd-access.log"
        #
        ###  ----------------
        #
        ### Konfiguration fuer mod_ssl
        SSLEngine on
        SSLHonorCipherOrder On
        SSLProtocol -ALL +TLSv1.2
        SSLProxyProtocol -ALL +TLSv1.2
        SSLCipherSuite TLSv1.2
        SSLProxyCipherSuite TLSv1.2
        SSLCertificateFile "/home/etc/ssl/dokuwiki.crt"
        SSLCertificateKeyFile "/home/etc/ssl/dokuwiki.key"
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire +StdEnvVars
        SSLVerifyClient optional
        #SSLVerifyClient require
        SSLVerifyDepth  10
        SSLOptions +OptRenegotiate
        #
        TraceEnable Off
        #
        ###  ----------------
        #
        BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
        CustomLog "/var/log/httpd-ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
...

Jetzt kann man die drei Wiki's im Browser aufrufen:

https://www.domain.de/wiki
https://www.domain.de/privat
https://www.domain.de/kinderwiki
dokuwiki.txt · Zuletzt geändert: 2018/06/12 11:18 von manfred