dokuwiki

Ansible Роль: Dokuwiki

Статус сборки для этой роли: Статус сборки

Эта роль устанавливает, настраивает, защищает и/или обновляет Dokuwiki на сервере. Основное внимание уделяется развертыванию экземпляров Dokuwiki безопасным и воспроизводимым способом. Она не устанавливает веб-сервер самостоятельно, но может добавить и включить конфигурационный файл Apache (который включен в качестве шаблона в роль).

Требования

Веб-сервер с установленным PHP, например, с использованием PeterMosmans.apache2.

Переменные роли

Доступные переменные перечислены ниже вместе с значениями по умолчанию. Значения по умолчанию указаны в default/main.yml.

dokuwiki_configure_apache2: Если установлено значение true, развернет конфигурацию Apache (dokuwiki.conf.j2) в Apache и включит сайт. По умолчанию переменная неопределена (false).

dokuwiki_name: 'внутреннее' имя dokuwiki, которое, например, используется для логов Apache и для задания на очистку. (когда dokuwiki_configure_apache2 истинно). Это позволяет использовать роль Ansible для нескольких сайтов Dokuwiki на одном сервере. По умолчанию:

dokuwiki_name: dokuwiki

dokuwiki_source: URL, по которому можно найти (последнюю) версию Dokuwiki. По умолчанию используется источник официального Dokuwiki.

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

dokuwiki_base: Локальный путь, где будет установлено Dokuwiki.

dokuwiki_base: /var/www/html

dokuwiki_group: Группа, владеющая файлами Dokuwiki.

dokuwiki_group: www-data

dokuwiki_plugins: Список пар имя/источник с плагинами, которые нужно установить автоматически. Источники должны указывать на tar или .tgz. Пример:

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

dokuwiki_plugins_remove: Список плагинов, которые нужно автоматически удалить после установки или обновления. По умолчанию:

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

dokuwiki_provision: Если установлено значение true, применит шаблоны конфигурации для развертывания Dokuwiki. Если не указано или false, Dokuwiki будет установлен по умолчанию. Смотрите раздел о развертывании ниже, какие переменные могут использоваться в шаблонах конфигурации. Учтите, что когда эта переменная установлена в true, она перезапишет текущую конфигурацию Dokuwiki.

Следующие конфигурационные файлы будут задействованы:

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

Пример:

dokuwiki_provision: true

dokuwiki_savedir: Директория, где будут храниться все файлы (контент).

dokuwiki_savedir: /var/www/html/data

dokuwiki_templates: Список пар имя/источник с шаблонами, которые нужно установить автоматически. Источники должны указывать на tar или .tgz. Пример:

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

dokuwiki_user: Пользователь, владеющий файлами Dokuwiki.

dokuwiki_user: root

Развертывание

Следующие переменные будут использованы в шаблонах конфигурации (local.php.j2, users.auth.php.j2), и поэтому будут применены только если dokuwiki_provision установлено в true.

dokuwiki_acl_all: Биты ACL для группы по умолчанию (@ALL). По умолчанию доступ разрешен только для пользователей, вошедших в систему (0).

dokuwiki_acl_user: Биты ACL для группы пользователя (@user). По умолчанию пользователи имеют разрешения на загрузку, создание, редактирование и чтение (8).

dokuwiki_disableactions: Какие действия отключить. По умолчанию регистрация отключена.

dokuwiki_title: Заголовок Dokuwiki.

dokuwiki_local: Список пар имя/значение конфигурации, которые будут добавлены в файл конфигурации local.php. Пример:

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

Это приведет к добавлению следующей строки в /conf/local.php:

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

dokuwiki_users: Список пользователей, содержащий следующие пары имя/значение:

- login: логин
- hash: хэш пароля
- name: полное имя
- email: адрес электронной почты
- groups: список групп, разделенный запятой

Пример:

dokuwiki_users:
- login: admin
  hash: "$2y$05$Nr3wFqH54gcdhxPK9easseLSVwLAnLTD2flYmQbAbCVIiiTU4mCjS"
  name: Администратор
  email: admin@admin
  groups: admin,user

Это приведет к добавлению пользователя admin в Dokuwiki с зашифрованным паролем admin.

Зависимости

Нет.

Пример плейбука

- 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: Администратор
        email: admin@admin
        groups: admin,user

Этот пример установит Dokuwiki в /var/www/html и использует /var/www/html/data в качестве директории для данных. Он установит плагины tag и pagelist, а также удалит плагины authad, authldap, authmysql, authpdo, authpgsql, info и popularity. Он установит и использует тему bootstrap3 и предоставит пользователю admin с паролем admin доступ к вики. Кроме того, будет настроен и включен сайт Apache.

Лицензия

GPLv3

Информация об авторе

Создано Петером Мосмансом. Предложения, отзывы и пулл-запросы всегда приветствуются.

Вклад от @onny

О проекте

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

Установить
ansible-galaxy install PeterMosmans/ansible-role-dokuwiki
Лицензия
gpl-3.0
Загрузки
166
Владелец
Lead pentester, security consultant, trainer