PeterMosmans.dokuwiki

Ansibleロール: Dokuwiki

このロールのビルドステータス: ビルドステータス

このロールは、サーバーにDokuwikiをインストール、設定、強化、またはアップグレードします。主な焦点は、Dokuwikiインスタンスを繰り返し安全に提供することです。このロールは単独でウェブサーバーをインストールしませんが、Apache用の設定ファイルを追加して有効にすることができます(設定ファイルはロールにテンプレートとして含まれています)。

要件

PHPがインストールされたウェブサーバー、例: PeterMosmans.apache2を使用します。

ロール変数

使用可能な変数は以下にリストされており、デフォルト値が示されています。デフォルト値は default/main.yml に記載されています。

dokuwiki_configure_apache2: trueの場合、ApacheにApache設定(dokuwiki.conf.j2)をデプロイし、サイトを有効にします。デフォルトではこの変数は未定義(false)です。

dokuwiki_name: Dokuwikiの「内部」名で、Apacheのログファイルやクリーンアップのcronジョブで使用されます(dokuwiki_configure_apache2がtrueの場合)。これにより、同じサーバー上で複数のDokuwikiサイトにこのAnsibleロールを使用することができます。デフォルト:

dokuwiki_name: dokuwiki

dokuwiki_source: Dokuwikiの(最新の)バージョンが見つかるURLです。デフォルトでは、公式の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.j2users.auth.php.j2)で使用されるため、dokuwiki_provisionがtrueに設定されている場合のみ適用されます。

dokuwiki_acl_all: デフォルトのグループ(@ALL)に対するACLビット。デフォルトでは、ログインしたユーザーのみがアクセスを許可されます(0)。

dokuwiki_acl_user: ユーザー(@user)グループに対するACLビット。デフォルトでは、ユーザーはアップロード、作成、編集、読み取りの権限を持ちます(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: Administrator
  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: Administrator
        email: admin@admin
        groups: admin,user

この例では、Dokuwikiを /var/www/html にインストールし、データディレクトリとして /var/www/html/data を使用します。プラグイン tagpagelist をインストールし、プラグイン authadauthldapauthmysqlauthpdoauthpgsqlinfopopularity を削除します。bootstrap3 テーマをインストールして使用し、ユーザー admin にパスワード admin でウィキへのアクセスを許可します。また、Apacheサイトを設定して有効にします。

ライセンス

GPLv3

著者情報

作成者: Peter Mosmans。提案、フィードバック、プルリクエストは常に歓迎します。

@onnyによる貢献

プロジェクトについて

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

インストール
ansible-galaxy install PeterMosmans.dokuwiki
ライセンス
gpl-3.0
ダウンロード
179
所有者
Lead pentester, security consultant, trainer