PeterMosmans.dokuwiki

Rôle Ansible : Dokuwiki

État de construction pour ce rôle : État de construction

Ce rôle installe, configure, renforce et/ou met à jour Dokuwiki sur un serveur. L'objectif principal est de provisionner des instances de Dokuwiki de manière répétable et sécurisée. Il n'installe pas de serveur web lui-même, mais il peut ajouter et activer un fichier de configuration Apache (qui est inclus comme modèle dans le rôle).

Exigences

Un serveur web ayant PHP installé, par exemple en utilisant PeterMosmans.apache2.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut. Les valeurs par défaut sont spécifiées dans default/main.yml.

dokuwiki_configure_apache2 : Lorsque vrai, déploiera une configuration Apache (dokuwiki.conf.j2) pour Apache, et activera le site. Par défaut, la variable est non définie (fausse).

dokuwiki_name : Le nom 'interne' du dokuwiki, utilisé par exemple pour les fichiers journaux Apache et le cronjob de nettoyage. (lorsque dokuwiki_configure_apache2 est vrai). Cela permet à ce rôle Ansible d'être utilisé pour plusieurs sites Dokuwiki sur le même serveur. Par défaut :

dokuwiki_name: dokuwiki

dokuwiki_source : L'URL où la version (dernière) de Dokuwiki peut être trouvée. Par défaut, il utilise la source officielle de Dokuwiki.

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

dokuwiki_base : Le chemin local où Dokuwiki sera installé.

dokuwiki_base: /var/www/html

dokuwiki_group : Le groupe propriétaire des fichiers Dokuwiki.

dokuwiki_group: www-data

dokuwiki_plugins : Une liste de paires nom/source, avec des plugins à installer automatiquement. Les sources doivent pointer vers des sources tar ou .tgz (par exemple). Exemple :

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

dokuwiki_plugins_remove : Une liste de plugins à supprimer automatiquement lors de l'installation ou de la mise à jour. Valeur par défaut :

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

dokuwiki_provision : Lorsque vrai, applique les modèles de configuration pour provisionner Dokuwiki. Si non spécifié ou faux, Dokuwiki sera non provisionné, une installation par défaut. Voir ci-dessous dans le chapitre de provisioning quelles variables peuvent être utilisées dans les modèles de configuration. Notez que lorsque cette variable est vraie, elle va (re-)modéliser et écraser la configuration actuelle de Dokuwiki.

Les fichiers de configuration suivants sont modélisés :

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

Exemple :

dokuwiki_provision: true

dokuwiki_savedir : Le répertoire où tous les fichiers (contenu) seront stockés.

dokuwiki_savedir: /var/www/html/data

dokuwiki_templates : Une liste de paires nom/source, avec des modèles à installer automatiquement. Les sources doivent pointer vers des sources tar ou .tgz (par exemple). Exemple :

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

dokuwiki_user : L'utilisateur propriétaire des fichiers Dokuwiki.

dokuwiki_user: root

Provisioning

Les variables suivantes seront utilisées dans les modèles de configuration (local.php.j2, users.auth.php.j2), et ne seront donc appliquées que si dokuwiki_provision est défini sur true.

dokuwiki_acl_all : Les bits ACL pour le groupe par défaut (@ALL). Par défaut, seuls les utilisateurs connectés sont autorisés à accéder (0).

dokuwiki_acl_user : Les bits ACL pour le groupe utilisateur (@user). Par défaut, les utilisateurs ont des permissions d'upload, de création, d'édition et de lecture (8).

dokuwiki_disableactions : Quelles actions désactiver. Par défaut, l'enregistrement est désactivé.

dokuwiki_title : Le titre de Dokuwiki.

dokuwiki_local : Une liste de paires nom/valeur de configuration à ajouter au fichier de configuration local.php. Exemple :

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

Cela entraînera l'ajout de la chaîne suivante à /conf/local.php :

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

dokuwiki_users : Une liste d'utilisateurs, contenant les paires nom/valeur suivantes :

- login: login
- hash: mot de passe hashé
- name: nom complet
- email: adresse email
- groups: liste de groupes séparés par des virgules

Exemple :

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

Cela entraînera l'ajout de l'utilisateur admin à Dokuwiki, avec le mot de passe bcrypted admin.

Dépendances

Aucune.

Exemple de 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: Administrateur
        email: admin@admin
        groups: admin,user

Cet exemple installera Dokuwiki dans /var/www/html, et utilisera /var/www/html/data comme répertoire de données. Il installera les plugins tag et pagelist, et supprimera les plugins authad, authldap, authmysql, authpdo, authpgsql, info et popularity. Il installera et utilisera le thème bootstrap3, et accordera à l'utilisateur admin avec le mot de passe admin l'accès au wiki. De plus, il configurera et activera le site Apache.

Licence

GPLv3

Informations sur l'auteur

Créé par Peter Mosmans. Les suggestions, retours et demandes de tirage sont toujours les bienvenus.

Contributions de @onny

À propos du projet

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

Installer
ansible-galaxy install PeterMosmans.dokuwiki
Licence
gpl-3.0
Téléchargements
179
Propriétaire
Lead pentester, security consultant, trainer