From f1c049a6e19ae14070081150e489cfa2483d8a1d Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 8 Dec 2017 06:49:41 -0500 Subject: [PATCH] Update main.yml --- roles/elgg/tasks/main.yml | 135 +++++++++++++++++++++++--------------- 1 file changed, 83 insertions(+), 52 deletions(-) diff --git a/roles/elgg/tasks/main.yml b/roles/elgg/tasks/main.yml index 975797857..cc2e80314 100644 --- a/roles/elgg/tasks/main.yml +++ b/roles/elgg/tasks/main.yml @@ -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