PeterMosmans.dokuwiki

Rol de Ansible: Dokuwiki

Estado de construcción para este rol: Estado de Construcción

Este rol instala, configura, endurece y/o actualiza Dokuwiki en un servidor. El enfoque principal es proporcionar instancias de Dokuwiki de manera repetible y segura. No instala un servidor web por sí mismo, pero puede agregar y habilitar un archivo de configuración de Apache (que se incluye como plantilla en el rol).

Requisitos

Un servidor web que tenga PHP instalado, por ejemplo, usando PeterMosmans.apache2.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados. Los valores predeterminados están especificados en default/main.yml.

dokuwiki_configure_apache2: Cuando es verdadero, implementará una configuración de Apache (dokuwiki.conf.j2) y habilitará el sitio. Por defecto, la variable no está definida (falsa).

dokuwiki_name: El nombre 'interno' de Dokuwiki, que se utiliza por ejemplo para los archivos de registro de Apache y el cronjob de limpieza. (cuando dokuwiki_configure_apache2 es verdadero). Esto permite que el rol de Ansible se use para múltiples sitios de Dokuwiki en el mismo servidor. Predeterminado:

dokuwiki_name: dokuwiki

dokuwiki_source: La URL donde se puede encontrar la versión (más reciente) de Dokuwiki. Por defecto, utiliza la fuente oficial de Dokuwiki.

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

dokuwiki_base: La ruta local donde se instalará Dokuwiki.

dokuwiki_base: /var/www/html

dokuwiki_group: El grupo propietario de los archivos de Dokuwiki.

dokuwiki_group: www-data

dokuwiki_plugins: Una lista de pares nombre / fuente, con plugins para instalar automáticamente. Las fuentes deben apuntar a fuentes tar o .tgz (por ejemplo). Ejemplo:

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

dokuwiki_plugins_remove: Una lista de plugins para eliminar automáticamente tras la instalación o actualización. Predeterminado:

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

dokuwiki_provision: Cuando es verdadero, aplica plantillas de configuración para provisionar Dokuwiki. Si no se especifica o es falso, Dokuwiki quedará sin provisionar, con una instalación predeterminada. Consulte abajo en el capítulo de aprovisionamiento qué variables se pueden usar en las plantillas de configuración. Tenga en cuenta que cuando esta variable es verdadera, se volverá a plantillar y sobrescribirá la configuración actual de Dokuwiki.

Los siguientes archivos de configuración son plantillas:

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

Ejemplo:

dokuwiki_provision: true

dokuwiki_savedir: El directorio donde se almacenarán todos los archivos (contenido).

dokuwiki_savedir: /var/www/html/data

dokuwiki_templates: Una lista de pares nombre / fuente, con plantillas para instalar automáticamente. Las fuentes deben apuntar a fuentes tar o .tgz (por ejemplo). Ejemplo:

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

dokuwiki_user: El usuario propietario de los archivos de Dokuwiki.

dokuwiki_user: root

Aprovisionamiento

Las siguientes variables se usarán en las plantillas de configuración (local.php.j2, users.auth.php.j2), y por lo tanto solo se aplicarán si dokuwiki_provision está configurado como true.

dokuwiki_acl_all: Los bits de ACL para el grupo predeterminado (@ALL). Por defecto, solo se permite el acceso a los usuarios que han iniciado sesión (0).

dokuwiki_acl_user: Los bits de ACL para el grupo de usuarios (@user). Por defecto, los usuarios tienen permisos de cargar, crear, editar y leer (8).

dokuwiki_disableactions: Qué acciones deshabilitar. Por defecto, el registro está deshabilitado.

dokuwiki_title: El título de Dokuwiki

dokuwiki_local: Una lista de pares de configuración nombre / valor que se agregarán al archivo de configuración local.php. Ejemplo:

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

Esto resultará en agregar la siguiente cadena a /conf/local.php:

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

dokuwiki_users: Una lista de usuarios, que contiene los siguientes pares nombre / valor:

- login: login
- hash: contraseña encriptada
- name: nombre completo
- email: dirección de correo electrónico
- groups: lista de grupos separada por comas

Ejemplo:

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

Esto resultará en agregar el usuario admin a Dokuwiki, con la contraseña encriptada admin.

Dependencias

Ninguna.

Ejemplo 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: Administrador
        email: admin@admin
        groups: admin,user

Este ejemplo instalará Dokuwiki en /var/www/html, y usará /var/www/html/data como directorio de datos. Instalará los plugins tag y pagelist, y eliminará los plugins authad, authldap, authmysql, authpdo, authpgsql, info y popularity. También instalará y usará la plantilla bootstrap3, y otorgará al usuario admin con la contraseña admin acceso a la wiki. Además, configurará y habilitará el sitio de Apache.

Licencia

GPLv3

Información del Autor

Creado por Peter Mosmans. Sugerencias, comentarios y solicitudes de extracción son siempre bienvenidos.

Contribuciones de @onny

Acerca del proyecto

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

Instalar
ansible-galaxy install PeterMosmans.dokuwiki
Licencia
gpl-3.0
Descargas
179
Propietario
Lead pentester, security consultant, trainer