You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.6 KiB
113 lines
2.6 KiB
--- |
|
# NOTE: https://wiki.alpinelinux.org/wiki/DokuWiki |
|
- name: testing ssh connection to container |
|
hosts: dokuwiki |
|
tags: containers |
|
vars: |
|
lighttpd_user: lighttpd |
|
lighttpd_group: lighttpd |
|
docroot: /var/www/localhost/htdocs |
|
doku_url: https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz |
|
doku_tar: /tmp/dokuwiki-stable.tgz |
|
doku_dir: "{{ docroot }}/dokuwiki" |
|
tasks: |
|
- name: install packages |
|
vars: |
|
packages: |
|
- lighttpd |
|
- php7-common |
|
- php7-session |
|
- php7-iconv |
|
- php7-json |
|
- php7-gd |
|
- php7-curl |
|
- php7-xml |
|
- php7-mysqli |
|
- php7-imap |
|
- php7-cgi |
|
- php7-pdo |
|
- php7-pdo_mysql |
|
- php7-soap |
|
- php7-xmlrpc |
|
- php7-posix |
|
- php7-mcrypt |
|
- php7-gettext |
|
- php7-ldap |
|
- php7-ctype |
|
- php7-dom |
|
- fcgi |
|
- tar |
|
apk: |
|
name: "{{ packages | join(' ') }}" |
|
state: present |
|
|
|
# TODO: break out lighttpd default config to a separate playlist |
|
|
|
- name: copy lighttpd.conf |
|
copy: |
|
src: ../templates/lighttpd.conf.j2 |
|
dest: /etc/lighttpd/lighttpd.conf |
|
|
|
- name: ensure lighttpd service is started |
|
service: |
|
name: lighttpd |
|
enabled: yes |
|
state: started |
|
|
|
- name: test if dokuwiki was already installed |
|
find: |
|
paths: "{{ doku_dir }}" |
|
pattern: README |
|
register: doku_find_result |
|
|
|
- name: download dokuwiki stable |
|
get_url: |
|
url: "{{ doku_url }}" |
|
dest: "{{ doku_tar }}" |
|
when: doku_find_result.matched == 0 |
|
|
|
- name: make directory for dokiwiki in docroot |
|
file: |
|
path: "{{ doku_dir }}" |
|
state: directory |
|
owner: "{{ lighttpd_user }}" |
|
group: "{{ lighttpd_group }}" |
|
when: doku_find_result.matched == 0 |
|
|
|
- name: unarchive downloaded file |
|
unarchive: |
|
remote_src: yes |
|
src: "{{ doku_tar }}" |
|
dest: /tmp |
|
owner: "{{ lighttpd_user }}" |
|
group: "{{ lighttpd_group }}" |
|
when: doku_find_result.matched == 0 |
|
|
|
- name: find doku temporary directory |
|
find: |
|
paths: /tmp/ |
|
file_type: directory |
|
pattern: "dokuwiki-20*" |
|
use_regex: true |
|
register: doku_tmp_dir |
|
|
|
- name: copy dokuwiki files to webroot |
|
copy: |
|
remote_src: yes |
|
src: "{{ doku_tmp_dir.files[0].path }}" |
|
dest: "{{ doku_dir }}" |
|
when: doku_tmp_dir.matched > 0 |
|
|
|
- name: remove archive |
|
file: |
|
path: "{{ doku_tar }}" |
|
state: absent |
|
|
|
- name: remove temporary files |
|
file: |
|
path: "{{ doku_tmp_dir.files[0].path }}" |
|
state: absent |
|
when: doku_tmp_dir.matched > 0 |
|
|
|
# TODO: copy archived dokuwiki files |
|
|
|
|