PeterMosmans.dokuwiki
Rol de Ansible: Dokuwiki
Estado de construcción para este rol:
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
Installs, configures and hardens Dokuwiki (including plugins and templates)
ansible-galaxy install PeterMosmans.dokuwiki