mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
Update main.yml
This commit is contained in:
parent
09808e1e8b
commit
f1c049a6e1
1 changed files with 83 additions and 52 deletions
|
@ -3,11 +3,13 @@
|
|||
|
||||
- name: Download current version from our site
|
||||
shell: wget {{ iiab_download_url }}/elgg-{{ elgg_version }}.zip -c -P {{ downloads_dir }}
|
||||
creates={{ downloads_dir }}/elgg-{{ elgg_version }}.zip
|
||||
args:
|
||||
creates: "{{ downloads_dir }}/elgg-{{ elgg_version }}.zip"
|
||||
when: internet_available
|
||||
|
||||
- name: Determine if software is already expanded
|
||||
stat: path=/opt/elgg-{{ elgg_version }}/index.php
|
||||
stat:
|
||||
path: "/opt/elgg-{{ elgg_version }}/index.php"
|
||||
register: elgg
|
||||
|
||||
# use unzip and shell until unarchive works again
|
||||
|
@ -19,106 +21,133 @@
|
|||
when: elgg.stat.exists is defined and not elgg.stat.exists
|
||||
|
||||
- name: Create a link to the versioned elgg-* folder
|
||||
file: src=./elgg-{{ elgg_version }}
|
||||
dest=/opt/elgg
|
||||
owner={{ apache_user }}
|
||||
group={{ apache_user }}
|
||||
state=link
|
||||
force=true
|
||||
file:
|
||||
src: "./elgg-{{ elgg_version }}"
|
||||
dest: /opt/elgg
|
||||
owner: "{{ apache_user }}"
|
||||
group: "{{ apache_user }}"
|
||||
state: link
|
||||
force: true
|
||||
|
||||
# use template to fix up settings in engine/settings.php with our variables substituted
|
||||
# into engine/settings.example.php
|
||||
# note this will overwrite any manual settings
|
||||
- name: Substitute our parameters in engine/settings.example.php
|
||||
template: src="settings.php.j2"
|
||||
dest="/opt/{{ elgg_xx }}/elgg-config/settings.php"
|
||||
owner={{ apache_user }}
|
||||
group={{ apache_user }}
|
||||
template:
|
||||
src: "settings.php.j2"
|
||||
dest: "/opt/{{ elgg_xx }}/elgg-config/settings.php"
|
||||
owner: "{{ apache_user }}"
|
||||
group: "{{ apache_user }}"
|
||||
|
||||
# The name of this file changed from 1.9 to 1.10.
|
||||
- name: Copy default .htaccess to the root directory of Elgg tree
|
||||
copy: src="/opt/{{ elgg_xx }}/vendor/elgg/elgg/install/config/htaccess.dist"
|
||||
dest="/opt/{{ elgg_xx }}/.htaccess"
|
||||
mode=0644
|
||||
owner={{ apache_user }}
|
||||
group={{ apache_user }}
|
||||
copy:
|
||||
src: "/opt/{{ elgg_xx }}/vendor/elgg/elgg/install/config/htaccess.dist"
|
||||
dest: "/opt/{{ elgg_xx }}/.htaccess"
|
||||
mode: 0644
|
||||
owner: "{{ apache_user }}"
|
||||
group: "{{ apache_user }}"
|
||||
|
||||
#regexp='^#RewriteBase'
|
||||
- name: Modify .htaccess to have RewriteBase as our directory
|
||||
lineinfile: backup=no
|
||||
dest="/opt/{{ elgg_xx }}/.htaccess"
|
||||
state=present
|
||||
insertafter='^#RewriteBase'
|
||||
line="RewriteBase {{ elgg_url }}/"
|
||||
lineinfile:
|
||||
backup: no
|
||||
dest: "/opt/{{ elgg_xx }}/.htaccess"
|
||||
state: present
|
||||
insertafter: '^#RewriteBase'
|
||||
line: "RewriteBase {{ elgg_url }}/"
|
||||
|
||||
- name: Change permissions on engine directory so Apache can write
|
||||
file: path=/opt/elgg/engine/ owner={{ apache_user }} mode=0755 state=directory
|
||||
file:
|
||||
path: /opt/elgg/engine/
|
||||
owner: "{{ apache_user }}"
|
||||
mode: 0755
|
||||
state: directory
|
||||
|
||||
- name: Create an upload directory that Apache can write in or Elgg
|
||||
file: path={{ elgg_upload_path }} state=directory owner={{ apache_user }}
|
||||
file:
|
||||
path: "{{ elgg_upload_path }}"
|
||||
state: directory
|
||||
owner: "{{ apache_user }}"
|
||||
|
||||
- name: Change ownership
|
||||
file: path=/opt/elgg-{{ elgg_version }}
|
||||
owner={{ apache_user }}
|
||||
group={{ apache_user }}
|
||||
recurse=yes
|
||||
state=directory
|
||||
file:
|
||||
path: "/opt/elgg-{{ elgg_version }}"
|
||||
owner: "{{ apache_user }}"
|
||||
group: "{{ apache_user }}"
|
||||
recurse: yes
|
||||
state: directory
|
||||
|
||||
- name: Create a MySQL database for Elgg - can be run more than once
|
||||
mysql_db: name={{ dbname }}
|
||||
mysql_db:
|
||||
name: "{{ dbname }}"
|
||||
register: create_elgg_database
|
||||
|
||||
- name: Create a user to access the Elgg database - can be run more than once
|
||||
mysql_user: name={{ dbuser }} host={{ item }} password={{ dbpassword }} priv={{ dbname }}.*:ALL
|
||||
mysql_user:
|
||||
name: "{{ dbuser }}"
|
||||
host: "{{ item }}"
|
||||
password: "{{ dbpassword }}"
|
||||
priv: "{{ dbname }}.*:ALL"
|
||||
with_items:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
- localhost
|
||||
|
||||
- name: Create file to load database
|
||||
template: src=elggdb.sql.j2
|
||||
dest=/tmp/elggdb.sql
|
||||
template:
|
||||
src: "elggdb.sql.j2"
|
||||
dest: "/tmp/elggdb.sql"
|
||||
|
||||
# elggdb.sql obtained with mysqldump --skip-add-drop-table elggdb > elggdb.sql
|
||||
# tar up a mysqldump of freshly installed database and use it in the install to avoid the startup
|
||||
# form, which worries me a lot. (/var/lib/mysql/elggdb)
|
||||
|
||||
- name: Load Elgg database dump
|
||||
mysql_db: name={{ dbname }}
|
||||
state=import
|
||||
target=/tmp/elggdb.sql
|
||||
mysql_db:
|
||||
name: "{{ dbname }}"
|
||||
state: import
|
||||
target: /tmp/elggdb.sql
|
||||
when: create_elgg_database.changed
|
||||
|
||||
- name: Remove database dump after load
|
||||
file: name=/tmp/elggdb.sql state=absent
|
||||
file:
|
||||
name: /tmp/elggdb.sql
|
||||
state: absent
|
||||
|
||||
- name: Install config file for Elgg in Apache
|
||||
template: src=elgg.conf dest=/etc/{{ apache_config_dir }}/elgg.conf
|
||||
template:
|
||||
src: elgg.conf
|
||||
dest: "/etc/{{ apache_config_dir }}/elgg.conf"
|
||||
|
||||
- name: Enable Elgg for debuntu (will already be enabled above for redhat)
|
||||
file: path=/etc/apache2/sites-enabled/elgg.conf
|
||||
src=/etc/apache2/sites-available/elgg.conf
|
||||
state=link
|
||||
file:
|
||||
src: /etc/apache2/sites-available/elgg.conf
|
||||
dest: /etc/apache2/sites-enabled/elgg.conf
|
||||
state: link
|
||||
when: elgg_enabled and is_debuntu
|
||||
|
||||
- name: Disable Elgg - remove config file for Elgg in Apache (debuntu)
|
||||
file: path=/etc/apache2/sites-enabled/elgg.conf
|
||||
state=absent
|
||||
file:
|
||||
path: /etc/apache2/sites-enabled/elgg.conf
|
||||
state: absent
|
||||
when: not elgg_enabled and is_debuntu
|
||||
|
||||
- name: Disable Elgg - remove config file for Elgg in Apache (redhat)
|
||||
file: dest=/etc/{{ apache_config_dir }}/elgg.conf
|
||||
state=absent
|
||||
file:
|
||||
dest: "/etc/{{ apache_config_dir }}/elgg.conf"
|
||||
state: absent
|
||||
when: not elgg_enabled and is_redhat
|
||||
|
||||
- name: Add 'elgg' to service list
|
||||
ini_file: dest='{{ service_filelist }}'
|
||||
section=elgg
|
||||
option='{{ item.option }}'
|
||||
value='{{ item.value }}'
|
||||
- name: Add 'elgg' to list of services at /etc/iiab/iiab.ini
|
||||
ini_file:
|
||||
dest: "{{ service_filelist }}"
|
||||
section=elgg
|
||||
option: "{{ item.option }}"
|
||||
value= "{{ item.value }}"
|
||||
with_items:
|
||||
- option: name
|
||||
value: elgg-social-netwoking
|
||||
value: Elgg
|
||||
- option: description
|
||||
value: '"Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications."'
|
||||
- option: path
|
||||
|
@ -127,4 +156,6 @@
|
|||
value: "{{ elgg_enabled }}"
|
||||
|
||||
- name: Restart Apache, so it picks up the new aliases
|
||||
service: name={{ apache_service }} state=restarted
|
||||
service:
|
||||
name: "{{ apache_service }}"
|
||||
state: restarted
|
||||
|
|
Loading…
Add table
Reference in a new issue