Skip to content
Snippets Groups Projects
Select Git revision
  • d83adcb31098f668a5438a7bd51d02d88d0c6f6f
  • master default protected
  • th/caddy-wip
  • th/caddy
  • th/lego
  • th/acmebot
  • pyzabbix
  • th/keycloak
8 results

main.yml

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    main.yml 3.01 KiB
    ---
    
    - name: install packages
      apt:
        name:
          - php
          - php-mbstring
          - php-mysql
          - php-intl
          - composer
    
    - name: install additional packages for the php sites
      apt:
        name: "{{item.packages}}"
      loop: "{{phpwebapps}}"
      when: item.packages is defined
      loop_control:
        label: "{{item.name}}"
    
    - name: ensure groups for the php sites exist
      group:
        name: "{{item.name}}"
        state: present
        system: true
      loop: "{{phpwebapps}}"
      loop_control:
        label: "{{item.name}}"
    
    - name: ensure groups for the php sites exist
      user:
        name: "{{item.name}}"
        group: "{{item.name}}"
        state: present
        system: true
        shell: /usr/bin/nologin
        home: "{{item.directory|default('/var/www/' + item.name)}}"
        createhome: false
      loop: "{{phpwebapps}}"
    
    - name: ensure directories for the php sites exist
      file:
        path: "{{item.directory|default('/var/www/' + item.name)}}"
        state: directory
        owner: "{{item.directory_owner|default(item.name)}}"
        group: "{{item.directory_group|default(item.name)}}"
        mode: "{{item.directory_mode|default('0755')}}"
      loop: "{{phpwebapps}}"
      loop_control:
        label: "{{item.name}}"
    
    - name: create the mysql database
      mysql_db:
        name: "{{item.name}}"
        state: present
        login_user: root
        login_password: "{{mysql_root_password}}"
      no_log: true
      when:
        - mysql_root_password is defined
        - item.mysql_password is defined
      loop: "{{phpwebapps}}"
      loop_control:
        label: "{{item.name}}"
    
    - name: create mysql db user
      mysql_user:
        name: "{{item.name}}"
        password: "{{item.mysql_password}}"
        state: present
        login_user: root