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.j2
、users.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
を使用します。プラグイン tag
と pagelist
をインストールし、プラグイン authad
、authldap
、authmysql
、authpdo
、authpgsql
、info
、popularity
を削除します。bootstrap3
テーマをインストールして使用し、ユーザー admin
にパスワード admin
でウィキへのアクセスを許可します。また、Apacheサイトを設定して有効にします。
ライセンス
GPLv3
著者情報
作成者: Peter Mosmans。提案、フィードバック、プルリクエストは常に歓迎します。
@onnyによる貢献