PeterMosmans.dokuwiki

Ansible-Rolle: Dokuwiki

Baustatus für diese Rolle: Bau Status

Diese Rolle installiert, konfiguriert, sichert und/oder aktualisiert Dokuwiki auf einem Server. Der Hauptfokus liegt darauf, Dokuwiki-Instanzen auf wiederholbare und sichere Weise bereitzustellen. Es installiert selbst keinen Webserver, kann aber eine Apache-Konfigurationsdatei hinzufügen und aktivieren (die als Vorlage in der Rolle enthalten ist).

Anforderungen

Ein Webserver mit installiertem PHP, z.B. durch die Verwendung von PeterMosmans.apache2.

Variablen der Rolle

Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten. Die Standardwerte sind in default/main.yml festgelegt.

dokuwiki_configure_apache2: Wenn true, wird eine Apache-Konfiguration (dokuwiki.conf.j2) an Apache bereitgestellt und die Site aktiviert. Standardmäßig ist die Variable undefiniert (false).

dokuwiki_name: Der 'interne' Name von Dokuwiki, der z.B. für Apache-Logdateien und den Bereinigung-Cronjob verwendet wird (wenn dokuwiki_configure_apache2 true ist). Dies ermöglicht die Verwendung der Ansible-Rolle für mehrere Dokuwiki-Seiten auf demselben Server. Standard:

dokuwiki_name: dokuwiki

dokuwiki_source: Die URL, wo die (neueste) Version von Dokuwiki gefunden werden kann. Standardmäßig wird die offizielle Dokuwiki-Quelle verwendet.

dokuwiki_source: https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

dokuwiki_base: Der lokale Pfad, wo Dokuwiki installiert wird.

dokuwiki_base: /var/www/html

dokuwiki_group: Die Gruppe, die die Dokuwiki-Dateien besitzt.

dokuwiki_group: www-data

dokuwiki_plugins: Eine Liste von Namen / Quellen-Paaren, mit Plugins, die automatisch installiert werden sollen. Die Quellen müssen auf tar- oder .tgz-Dateien zeigen (z.B.). Beispiel:

 - name: pagelist
   src: https://github.com/dokufreaks/plugin-pagelist/tarball/master

dokuwiki_plugins_remove: Eine Liste von Plugins, die automatisch bei der Installation oder Aktualisierung entfernt werden sollen. Standard:

dokuwiki_plugins_remove:
  - name: authad
  - name: authldap
  - name: authmysql
  - name: authpdo
  - name: authpgsql
  - name: info
  - name: popularity

dokuwiki_provision: Wenn true, werden Konfigurationen angewendet, um Dokuwiki bereitzustellen. Wenn nicht angegeben oder false, wird Dokuwiki nicht bereitgestellt, eine Standardinstallation. Siehe weiter unten im Bereitstellungskapitel, welche Variablen in den Konfigurationsvorlagen verwendet werden können. Bitte beachten Sie, dass beim Setzen dieser Variablen auf true die aktuelle Dokuwiki-Konfiguration (re-)templated und überschrieben wird.

Die folgenden Konfigurationsdateien werden templated:

  • /conf/acl.auth.php
  • /conf/local.php
  • /conf/plugins.local.php
  • /conf/users.auth.php

Beispiel:

dokuwiki_provision: true

dokuwiki_savedir: Das Verzeichnis, wo alle Dateien (Inhalte) gespeichert werden.

dokuwiki_savedir: /var/www/html/data

dokuwiki_templates: Eine Liste von Namen / Quellen-Paaren, mit Vorlagen, die automatisch installiert werden sollen. Die Quellen müssen auf tar- oder .tgz-Dateien zeigen (z.B.). Beispiel:

dokuwiki_templates:
 - name: bootstrap3
   src: https://github.com/LotarProject/dokuwiki-template-bootstrap3/tarball/master

dokuwiki_user: Der Benutzer, der die Dokuwiki-Dateien besitzt.

dokuwiki_user: root

Bereitstellung

Die folgenden Variablen werden in den Konfigurationen verwendet (local.php.j2, users.auth.php.j2) und daher nur angewendet, wenn dokuwiki_provision auf true gesetzt ist.

dokuwiki_acl_all: Die ACL-Bits für die Standardgruppe (@ALL). Standardmäßig ist nur angemeldeten Benutzern der Zugang erlaubt (0).

dokuwiki_acl_user: Die ACL-Bits für die Benutzergruppe (@user). Standardmäßig haben Benutzer die Berechtigungen zum Hochladen, Erstellen, Bearbeiten und Lesen (8).

dokuwiki_disableactions: Welche Aktionen deaktiviert werden sollen. Standardmäßig ist die Registrierung deaktiviert.

dokuwiki_title: Der Titel von Dokuwiki.

dokuwiki_local: Eine Liste von Namen-Wert-Konfigurationspaaren, die zur local.php Konfigurationsdatei hinzugefügt werden sollen. Beispiel:

dokuwiki_local:
  - name: "['passcrypt']"
    value: 'bcrypt'

Das führt dazu, dass der folgende String zu /conf/local.php hinzugefügt wird:

$conf['mytemplate'] = 'myvalue';

dokuwiki_users: Eine Liste von Benutzern, die die folgenden Namen-Wert-Paare enthalten:

- login: login
- hash: Passwort-Hash
- name: voller Name
- email: E-Mail-Adresse
- groups: durch Kommata getrennte Liste von Gruppen

Beispiel:

dokuwiki_users:
- login: admin
  hash: "$2y$05$Nr3wFqH54gcdhxPK9easseLSVwLAnLTD2flYmQbAbCVIiiTU4mCjS"
  name: Administrator
  email: admin@admin
  groups: admin,user

Das wird den Benutzer admin zu Dokuwiki hinzufügen, mit dem bcrypted Passwort admin.

Abhängigkeiten

Keine.

Beispiel-Playbook

- hosts: all
  become: yes
  become_method: sudo
  roles:
  - role: PeterMosmans.dokuwiki
  vars:
    dokuwiki_base: /var/www/html
    dokuwiki_configure_apache2: true
    dokuwiki_plugins:
      - name: tag
        src: https://github.com/dokufreaks/plugin-tag/tarball/master
      - name: pagelist
        src: https://github.com/dokufreaks/plugin-pagelist/tarball/master
    dokuwiki_plugins_remove:
      - name: authad
      - name: authldap
      - name: authmysql
      - name: authpdo
      - name: authpgsql
      - name: info
      - name: popularity
    dokuwiki_preconfigure: true
    dokuwiki_savedir: /var/www/html/data
    dokuwiki_template: bootstrap3
    dokuwiki_templates:
      - name: bootstrap3
        src: https://github.com/LotarProject/dokuwiki-template-bootstrap3/tarball/master
    dokuwiki_users:
      - login: admin
        hash: "$2y$05$Nr3wFqH54gcdhxPK9easseLSVwLAnLTD2flYmQbAbCVIiiTU4mCjS"
        name: Administrator
        email: admin@admin
        groups: admin,user

Dieses Beispiel wird Dokuwiki in /var/www/html installieren und /var/www/html/data als Datenspeicher verwenden. Es werden die Plugins tag und pagelist installiert und die Plugins authad, authldap, authmysql, authpdo, authpgsql, info und popularity entfernt. Es wird das Template bootstrap3 installiert und der Benutzer admin mit dem Passwort admin Zugriff auf das Wiki gewährt. Zudem wird die Apache-Seite konfiguriert und aktiviert.

Lizenz

GPLv3

Autoreninformation

Erstellt von Peter Mosmans. Vorschläge, Rückmeldungen und Pull-Requests sind immer willkommen.

Beiträge von @onny

Über das Projekt

Installs, configures and hardens Dokuwiki (including plugins and templates)

Installieren
ansible-galaxy install PeterMosmans.dokuwiki
Lizenz
gpl-3.0
Downloads
179
Besitzer
Lead pentester, security consultant, trainer