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