mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 19:52:06 +00:00
123 lines
3.7 KiB
YAML
123 lines
3.7 KiB
YAML
|
# we need to install the rpm in order to get the dependencies
|
||
|
# but we only need to do this the first time
|
||
|
|
||
|
- name: See if the owncloud startup page exists
|
||
|
stat: path={{ owncloud_prefix }}/owncloud/index.php
|
||
|
register: owncloud_page
|
||
|
|
||
|
- name: Install owncloud package
|
||
|
package: name={{ item }}
|
||
|
state=present
|
||
|
with_items:
|
||
|
- curl
|
||
|
- owncloud
|
||
|
tags:
|
||
|
- download
|
||
|
when: owncloud_page.stat.exists is defined and not owncloud_page.stat.exists
|
||
|
|
||
|
- name: Remove owncloud package
|
||
|
package: name=owncloud
|
||
|
state=absent
|
||
|
when: owncloud_page.stat.exists is defined and not owncloud_page.stat.exists
|
||
|
|
||
|
- name: remove config files for package
|
||
|
file: src=/etc/apache2/conf-available/owncloud.conf
|
||
|
dest=/etc/apache2/conf-enabled/owncloud.conf
|
||
|
state=absent
|
||
|
|
||
|
- name: remove config files for package
|
||
|
file: path=/etc/apache2/conf-available/owncloud.conf
|
||
|
state=absent
|
||
|
|
||
|
#- name: Remove /etc/owncloud to avoid confusion as we use the config in {{ owncloud_prefix }}/config/
|
||
|
# file: path=/etc/owncloud
|
||
|
# state=absent
|
||
|
|
||
|
# but we use the tar file to get the latest version
|
||
|
|
||
|
- name: Get the owncloud software
|
||
|
get_url: url={{ xsce_download_url }}/{{ owncloud_src_file }} dest={{ downloads_dir }}/{{ owncloud_src_file }}
|
||
|
when: not {{ use_cache }} and not {{ no_network }}
|
||
|
async: 300
|
||
|
poll: 5
|
||
|
tags:
|
||
|
- download2
|
||
|
|
||
|
- name: Copy it to permanent location /opt
|
||
|
unarchive: src={{ downloads_dir }}/{{ owncloud_src_file }}
|
||
|
dest={{ owncloud_prefix }}
|
||
|
creates={{ owncloud_prefix }}/owncloud/version.php
|
||
|
when: not is_F18
|
||
|
|
||
|
# ansible 1.4.1 does not have "creates"
|
||
|
- name: Copy it to permanent location /opt
|
||
|
unarchive: src={{ downloads_dir }}/{{ owncloud_src_file }}
|
||
|
dest={{ owncloud_prefix }}
|
||
|
when: is_F18
|
||
|
|
||
|
- name: in Centos, the following config dir is symlink to /etc/owncloud
|
||
|
file: path=/etc/owncloud
|
||
|
state=directory
|
||
|
|
||
|
- name: Add autoconfig file
|
||
|
template: src=autoconfig.php.j2
|
||
|
dest={{ owncloud_prefix }}/owncloud/config/autoconfig.php
|
||
|
owner={{ apache_user }}
|
||
|
group=apache
|
||
|
mode=0640
|
||
|
|
||
|
- name: Make apache owner
|
||
|
file: path={{ owncloud_prefix }}/owncloud
|
||
|
owner={{ apache_data }}
|
||
|
group=apache
|
||
|
recurse=yes
|
||
|
state=directory
|
||
|
|
||
|
- name: Create data directory library
|
||
|
file: path={{ item }}
|
||
|
mode=0750
|
||
|
owner={{ apache_data}}
|
||
|
group=apache
|
||
|
state=directory
|
||
|
with_items:
|
||
|
- "{{ owncloud_data_dir }}"
|
||
|
|
||
|
- name: Create a mysql database for owncloud
|
||
|
mysql_db: name={{ owncloud_dbname }}
|
||
|
when: mysql_enabled and owncloud_enabled
|
||
|
|
||
|
- name: Create a user to access the owncloud database
|
||
|
mysql_user: name={{ owncloud_dbuser }} host={{ item }} password={{ owncloud_dbpassword }} priv={{ owncloud_dbname }}.*:ALL,GRANT
|
||
|
with_items:
|
||
|
- "{{ owncloud_dbhost }}"
|
||
|
- 127.0.0.1
|
||
|
- ::1
|
||
|
- localhost
|
||
|
when: mysql_enabled and owncloud_enabled
|
||
|
|
||
|
- name: Restart apache, so it picks up the new aliases
|
||
|
service: name={{ apache_service }} state=restarted
|
||
|
when: not owncloud_enabled
|
||
|
|
||
|
# Enable owncloud by copying template to httpd config
|
||
|
|
||
|
- include: owncloud_enabled.yml
|
||
|
when: owncloud_enabled
|
||
|
|
||
|
- name: Add owncloud to service list
|
||
|
ini_file: dest='{{ service_filelist }}'
|
||
|
section=owncloud
|
||
|
option='{{ item.option }}'
|
||
|
value='{{ item.value }}'
|
||
|
with_items:
|
||
|
- option: name
|
||
|
value: owncloud
|
||
|
- option: description
|
||
|
value: '"OwnCloud is a local server-based facility for sharing files, photos, contacts, calendars, etc."'
|
||
|
- option: path
|
||
|
value: "{{ owncloud_prefix }}/owncloud"
|
||
|
- option: source
|
||
|
value: "{{ owncloud_src_file }}"
|
||
|
- option: enabled
|
||
|
value: "{{ owncloud_enabled }}"
|