56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
---
|
|
|
|
- hosts: unifi_controllers
|
|
vars:
|
|
- unifi_zip_file: UniFi-2.4.6.zip
|
|
- unifi_zip_dest: /usr/local/src/UniFi-2.4.6.zip
|
|
- unifi_prefix: /opt
|
|
- unifi_uid: unifi
|
|
- unifi_gid: unifi
|
|
- ntp_server: pool.ntp.org
|
|
- java_home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
|
|
sudo: yes
|
|
tasks:
|
|
|
|
- name: abort if os is not suitable
|
|
when: ansible_os_family != "RedHat"
|
|
fail: "msg={{ansible_os_family}} is not supported by this playbook"
|
|
|
|
- name: install java and mongodb
|
|
when: ansible_os_family == "RedHat"
|
|
yum: name={{ item }} state=present
|
|
with_items:
|
|
- java-1.6.0-openjdk
|
|
- jakarta-commons-daemon-jsvc
|
|
- mongodb-server
|
|
|
|
- name: no need for the standard mongod service
|
|
service: name=mongod enabled=no state=stopped
|
|
|
|
- name: setup unifi group
|
|
group: name={{ unifi_gid }} system=yes state=present
|
|
|
|
- name: setup unifi user
|
|
user: name={{ unifi_uid }} home={{ unifi_prefix }}/UniFi createhome=no shell=/sbin/nologin system=yes state=present
|
|
|
|
- name: copy unifi zipball to host
|
|
copy: src={{ unifi_zip_file }} dest={{ unifi_zip_dest }}
|
|
|
|
- name: extract unifi
|
|
command: /usr/bin/unzip -o {{ unifi_zip_dest }} -d {{ unifi_prefix }} creates=/opt/UniFi
|
|
|
|
- name: fix permissions
|
|
command: /bin/chown -R {{ unifi_uid }}:{{ unifi_gid }} {{ unifi_prefix }}/UniFi
|
|
|
|
- name: symlink mongod binary to where unifi path
|
|
file: src=/usr/bin/mongod dest={{ unifi_prefix }}/UniFi/bin/mongod state=link
|
|
|
|
- name: install custom config.properties
|
|
template: src=config.properties dest={{ unifi_prefix }}/UniFi/data/config.properties owner={{ unifi_uid }} group={{ unifi_gid }}
|
|
|
|
- name: install init script
|
|
template: src=unifi.init dest=/etc/init.d/unifi owner=root group=root mode=755
|
|
|
|
- name: start unifi service
|
|
service: name=unifi enabled=yes state=started
|