--- # 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