Dokuwiki-Installation
Anleitung für die Installation eines dokuwiki.
Anleitung
- Dokuwiki herunterladen: http://www.dokuwiki.org/install
- Auf Server entpacken
- Theme (z.B. "regain-sunshine") unter
lib/tpl
in eigenem Verzeichnis entpacken - Im Browser "install.php" öffnen und ausfüllen
- "install.php" auf dem Server löschen
Konfiguration
Konfigurations-Seite aufrufen
- en: Admin -> Configuration Settings
- de: Admin -> Konfiguration
Die Dokumentation wird unter conf/local.php
abgelegt und kann dort zur Not auch von Hand bearbeitet werden.
Konfiguration anpassen:
- Hauptsprache umstellen unter: "Language" (en), bzw. "Sprache" (de)
- Theme umstellen unter: "Template" (en) bzw. "Designvorlage" (de)
- Von Breadcrumbs auf hiearchischen Pfad umstellen:
- "breadcrumbs" auf "0" stellen
- "youarehere" ankreuzen
- Neuen Usern keine Schreibrechte geben: "defaultgroup" auf "registered" stellen. Jetzt kann man ausgewählten Benutzern Schreibrechte geben, indem man ihre Gruppe auf "user" umstellt.
Schönere URLs
Damit nicht alle URLs auf doku.php
gehen, kann man unter "Admin -> Konfiguration" userewrite
auf .htaccess
stellen.
Damit die .htaccess
-Dateien funktionieren, muss in der Apache-Konfiguration AllowOverride All
angegeben sein.
Außerdem muss noch das Apache-Modul rewrite
aktiviert werden:
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
Aussehen anpassen
Im Verzeichnis lib/tpl
liegen die Profile. Zunächst muss man ein Profil aussuchen, das am ehesten zum gewünschten, neuen Aussehen passt. Diese Profil kopiert man in einen neuen Ordner, welchen man nach dem neuen Aussehen benennt und wieder im Verzeichnis lib/tpl
ablegt.
Nun wechselt man in der Konfiguration auf die neue Designvorlage (siehe oben).
Jetzt kann man die Vorlage nach Belieben anpassen. Durch Neuladen der Seiten kann man jede Änderung sofort sehen.
CSS-Debugging
Normalerweise werden die CSS-Stylesheets von Dokuwiki komprimiert und in einem Stück an den Browser ausgeliefert. Das macht den Seitenaufbau schneller und sollte in der Produktivversion auch so bleiben. Allerdings kann man das CSS nun nur noch schlecht mit Firebug debuggen, weil nicht die echten CSS-Dateien angegeben werden und weil alles in Zeile 1 ist.
Für das Komprimieren des CSS ist in den PHP-Templates - z.B. main.php
- folgende Zeile verantwortlich:
<?php tpl_metaheaders()?>
Während man am CSS herumschraubt, kann man das ganze umgehen, indem man nach dieser Zeile einfach nochmal alle CSS-Stylesheets der Vorlage einbindet. Die entsprechenden Klassen sind dann zwar doppelt definiert, aber die direkten Dateien gewinnen, weil sie ja später definiert sind.
Beispiel:
<?php tpl_metaheaders()?>
<!-- for debug only -->
<link href="<?php echo DOKU_TPL ?>layout.css" type="text/css" media="screen" rel="stylesheet">
<link href="<?php echo DOKU_TPL ?>design.css" type="text/css" media="screen" rel="stylesheet">
<link href="<?php echo DOKU_TPL ?>style.css" type="text/css" media="screen" rel="stylesheet">
<link href="<?php echo DOKU_TPL ?>media.css" type="text/css" media="screen" rel="stylesheet">
In der Datei style.ini
ist definiert, welche CSS-Stylesheets von einer Vorlage verwendet werden.
Mehrere Übersetzungen zeigen
Dokuwiki kann so konfiguriert werden, dass für eine Seite Übersetzungen in mehreren Sprachen gemacht werden können. Es werden dann oben in der Seite kleine Links angezeigt, mit deren Hilfe man zwischen den Sprachen der aktuellen Seite wechseln kann.
Anleitung:
- Auf die Plugin-Verwaltungs-Seite gehen: Admin -> Plugins verwalten
- Das Plugin
translation
installieren und aktivieren. - Nun auf die Konfigurations-Seite wechseln: Admin -> Konfiguration
- Diese hat nun eine neuen Abschnitt, über den das Translation-Plugin konfiguriert werden kann.
- Unter
plugin»translation»translations
die Sprachen einstellen. Die Standard-Sprache dabei nicht angeben. Z.B.en fr
(wenn die Standard-Sprache z.B.de
ist) plugin»translation»translateui
anhaken
Nun in der Vorlage folgenden Code an die Stelle packen, an der die Sprach-Links erscheinen sollen:
<?php
$translation = &plugin_load('syntax','translation');
echo $translation->_showTranslations();
?>
Jetzt noch im Hauptverzeichnis des Wikis die originale index.php
durch eine ersetzen, die je nach Sprache des Benutzers auf die richtige Startseite verweist:
<?php
$acceptLang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$lang = substr($acceptLang, 0, 2);
// Forward to right start page
if ($lang == "de") {
header("Location: doku.php?id=start");
} else if ($lang == "fr") {
header("Location: doku.php?id=fr:start");
} else {
header("Location: doku.php?id=en:start");
}
?>