mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			168 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- debug:
 | 
						|
    var: postgresql_install
 | 
						|
- debug:
 | 
						|
    var: postgresql_enabled
 | 
						|
- debug:
 | 
						|
    var: postgresql_installed
 | 
						|
 | 
						|
- name: "Set 'postgresql_install: True' and 'postgresql_enabled: True'"
 | 
						|
  set_fact:
 | 
						|
    postgresql_install: True
 | 
						|
    postgresql_enabled: True
 | 
						|
 | 
						|
- name: POSTGRESQL - run the 'postgresql' role
 | 
						|
  include_role:
 | 
						|
    name: postgresql
 | 
						|
 | 
						|
- name: "Install packages: python-psycopg2, php-pgsql (OS's other than debuntu)"
 | 
						|
  package:
 | 
						|
    name:
 | 
						|
      - python-psycopg2
 | 
						|
      - php-pgsql
 | 
						|
    state: present
 | 
						|
  when: not is_debuntu
 | 
						|
 | 
						|
- name: Install 4 php packages (debuntu)
 | 
						|
  package:
 | 
						|
    name:
 | 
						|
      - php{{ php_version }}-pgsql
 | 
						|
      - php{{ php_version }}-curl
 | 
						|
      #- php{{ php_version }}-zip
 | 
						|
      - php{{ php_version }}-gd
 | 
						|
      #- php{{ php_version }}-mbstring
 | 
						|
      # mbstring is now included in php-cli
 | 
						|
      - php{{ php_version }}-cli
 | 
						|
    state: present
 | 
						|
  when: is_debuntu | bool
 | 
						|
 | 
						|
- name: "Install package: php{{ php_version }}-zip (ubuntu or debian-9+)"
 | 
						|
  package:
 | 
						|
    name: "php{{ php_version }}-zip"
 | 
						|
  when: is_ubuntu or (is_debian and not is_debian_8)
 | 
						|
 | 
						|
- name: "Install package: php-pclzip (debian-8)"
 | 
						|
  package:
 | 
						|
    name: php-pclzip
 | 
						|
  when: is_debian_8 | bool
 | 
						|
 | 
						|
- name: Determine if Moodle is already downloaded
 | 
						|
  stat:
 | 
						|
    path: "{{ moodle_base }}/config-dist.php"
 | 
						|
  register: moodle
 | 
						|
 | 
						|
- name: Download the latest Moodle repo
 | 
						|
  git:
 | 
						|
    repo: "{{ moodle_repo_url }}"
 | 
						|
    dest: "{{ moodle_base }}"
 | 
						|
    depth: 1
 | 
						|
    force: yes
 | 
						|
    version: "MOODLE_{{ moodle_version }}_STABLE"
 | 
						|
    #version: master   # TEMPORARY DURING MAY 2018 TESTING, installed 3.5beta+ = https://download.moodle.org/releases/development/
 | 
						|
  #ignore_errors: yes
 | 
						|
  when: internet_available and moodle.stat.exists is defined and not moodle.stat.exists
 | 
						|
 | 
						|
- name: Create dir {{ moodle_base }} owned by {{ apache_user }} (for config file?)
 | 
						|
  file:
 | 
						|
    path: "{{ moodle_base }}"
 | 
						|
    owner: "{{ apache_user }}"
 | 
						|
    recurse: yes
 | 
						|
    state: directory
 | 
						|
 | 
						|
- name: Create dir {{ content_base }}/dbdata/moodle owned by {{ apache_user }}
 | 
						|
  file:
 | 
						|
    path: "{{ content_base }}/dbdata/moodle"
 | 
						|
    owner: "{{ apache_user }}"
 | 
						|
    # mode: '0755'
 | 
						|
    state: directory
 | 
						|
 | 
						|
- name: Create dir {{ moodle_data }} owned by {{ apache_user }}:{{ apache_user }} with write permission 0770    # /library/moodle
 | 
						|
  file:
 | 
						|
    path: "{{ moodle_data }}"
 | 
						|
    owner: "{{ apache_user }}"
 | 
						|
    group: "{{ apache_user }}"
 | 
						|
    mode: '0770'
 | 
						|
    state: directory
 | 
						|
 | 
						|
- name: Remove Apache's stock moodle.conf
 | 
						|
  file:
 | 
						|
    path: "/etc/{{ apache_conf_dir }}/moodle.conf"
 | 
						|
    state: absent
 | 
						|
 | 
						|
- name: Install Apache's 022-moodle.conf from template, if moodle_enabled
 | 
						|
  template:
 | 
						|
    src: 022-moodle.j2
 | 
						|
    dest: "/etc/{{ apache_conf_dir }}/022-moodle.conf"
 | 
						|
    # owner: root
 | 
						|
    # group: root
 | 
						|
    # mode: '0644'
 | 
						|
 | 
						|
- name: Restart postgresql-iiab
 | 
						|
  service:
 | 
						|
    name: postgresql-iiab
 | 
						|
    state: restarted
 | 
						|
 | 
						|
- name: Create PostgreSQL db user Admin/changeme
 | 
						|
  postgresql_user:
 | 
						|
    name: Admin
 | 
						|
    password: changeme
 | 
						|
    encrypted: yes   # Required by PostgreSQL 10+ e.g. Ubuntu 18.04's PostgreSQL 10.3+, see https://github.com/iiab/iiab/issues/759
 | 
						|
    role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB
 | 
						|
    state: present
 | 
						|
  become: yes
 | 
						|
  become_user: postgres
 | 
						|
 | 
						|
- name: 'Create database: {{ moodle_database_name }}'
 | 
						|
  postgresql_db:
 | 
						|
    name: "{{ moodle_database_name }}"
 | 
						|
    encoding: utf8
 | 
						|
    owner: Admin
 | 
						|
    template: template1
 | 
						|
    state: present
 | 
						|
  become: yes
 | 
						|
  become_user: postgres
 | 
						|
 | 
						|
- name: Install {{ moodle_base }}/moodle_installer from template
 | 
						|
  template:
 | 
						|
    src: moodle_installer
 | 
						|
    dest: "{{ moodle_base }}"
 | 
						|
    mode: '0755'
 | 
						|
 | 
						|
- name: Enable & Restart postgresql-iiab
 | 
						|
  service:
 | 
						|
    name: postgresql-iiab
 | 
						|
    state: restarted
 | 
						|
    enabled: yes
 | 
						|
  when: moodle_enabled | bool
 | 
						|
 | 
						|
- name: Restart Apache systemd service ({{ apache_service }})
 | 
						|
  service:
 | 
						|
    name: "{{ apache_service }}"
 | 
						|
    state: restarted
 | 
						|
 | 
						|
- name: Does {{ moodle_base }}/config.php exist?
 | 
						|
  stat:
 | 
						|
    path: "{{ moodle_base }}/config.php"
 | 
						|
  register: config
 | 
						|
 | 
						|
- name: Execute {{ moodle_base }}/moodle_installer
 | 
						|
  shell: "{{ moodle_base }}/moodle_installer"
 | 
						|
  when: config.stat.exists is defined and not config.stat.exists
 | 
						|
 | 
						|
- name: Give read permission 0644 to {{ moodle_base }}/config.php    # /opt/iiab/moodle/config.php
 | 
						|
  #command: chown -R {{ apache_user }} {{ moodle_base }}
 | 
						|
  file:
 | 
						|
    path: "{{ moodle_base }}/config.php"
 | 
						|
    mode: '0644'
 | 
						|
 | 
						|
 | 
						|
# RECORD Moodle AS INSTALLED
 | 
						|
 | 
						|
- name: "Set 'moodle_installed: True'"
 | 
						|
  set_fact:
 | 
						|
    moodle_installed: True
 | 
						|
 | 
						|
- name: "Add 'moodle_installed: True' to {{ iiab_state_file }}"
 | 
						|
  lineinfile:
 | 
						|
    dest: "{{ iiab_state_file }}"    # /etc/iiab/iiab_state.yml
 | 
						|
    regexp: '^moodle_installed'
 | 
						|
    line: 'moodle_installed: True'
 |