mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
119 lines
3.7 KiB
YAML
119 lines
3.7 KiB
YAML
- name: Install MySQL for Debian/Debuntu
|
|
package: name={{ item }}
|
|
state=present
|
|
with_items:
|
|
- mariadb-server
|
|
- mariadb-client
|
|
- python-mysqldb
|
|
- php{{ php_version }}
|
|
- php{{ php_version }}-mysql
|
|
- php-pear
|
|
- php{{ php_version }}-gd
|
|
- php{{ php_version }}-imap
|
|
- php{{ php_version }}-ldap
|
|
- php{{ php_version }}-odbc
|
|
# - php{{ php_version }}-xml
|
|
- php{{ php_version }}-xmlrpc
|
|
when: is_debuntu
|
|
tags:
|
|
- download
|
|
|
|
- name: php-xml for 'ubuntu' and 'debian-9'
|
|
package: name=php{{ php_version }}-xml state=present
|
|
when: is_ubuntu or is_debian_9
|
|
|
|
- name: php-xml for 'debian-8'
|
|
package: name=php-xml-parser state=present
|
|
when: is_debian_8
|
|
|
|
- name: Install MySQL for non-Debian/Debuntu
|
|
package: name={{ item }}
|
|
state=present
|
|
with_items:
|
|
- MySQL-python
|
|
- mysql
|
|
- php
|
|
- php-mysql
|
|
- php-pear
|
|
- php-gd
|
|
- php-imap
|
|
- php-ldap
|
|
- php-odbc
|
|
- php-xml
|
|
- php-xmlrpc
|
|
when: not is_debuntu
|
|
tags:
|
|
- download
|
|
|
|
- include: centos.yml
|
|
when: ansible_distribution == "CentOS"
|
|
tags:
|
|
- download
|
|
|
|
- include: fedora.yml
|
|
when: ansible_distribution == "Fedora"
|
|
tags:
|
|
- download
|
|
|
|
# Name of mysql service varies by OS so softcoded in 1-prep
|
|
- name: Start the MySQL service
|
|
service: name={{ mysql_service }}
|
|
state=started
|
|
|
|
- name: Enable the MySQL service
|
|
service: name={{ mysql_service }}
|
|
enabled=yes
|
|
when: mysql_enabled
|
|
|
|
# 'localhost' needs to be the last item for idempotency, see
|
|
# http://ansible.cc/docs/modules.html#mysql-user
|
|
# unfortunately it still doesn't work
|
|
- name: Update MySQL root password for localhost root accounts
|
|
mysql_user: name=root host={{ item }} password={{ mysql_root_password }} priv=*.*:ALL,GRANT
|
|
with_items:
|
|
- localhost
|
|
when: mysql_enabled
|
|
|
|
- name: Copy .my.cnf file with root password credentials
|
|
template: src=my.cnf.j2 dest=/root/.my.cnf owner=root mode=0600
|
|
when: mysql_enabled
|
|
|
|
- name: Update MySQL root password for all remaining root accounts
|
|
mysql_user: name=root host={{ item }} password={{ mysql_root_password }} priv=*.*:ALL,GRANT
|
|
with_items:
|
|
# - "{{ iiab_hostname }}.{{ iiab_domain }}"
|
|
- 127.0.0.1
|
|
- ::1
|
|
when: mysql_enabled
|
|
|
|
- name: Delete anonymous MySQL server user for {{ ansible_hostname }}
|
|
mysql_user: user="" host="{{ ansible_hostname }}" state="absent"
|
|
when: mysql_enabled
|
|
|
|
- name: Delete anonymous MySQL server user for localhost
|
|
mysql_user: user="" state="absent"
|
|
when: mysql_enabled
|
|
|
|
- name: Remove the MySQL test database
|
|
mysql_db: db=test state=absent
|
|
when: mysql_enabled
|
|
|
|
# we had to start mysql in order to configure it, now turn if off if not enabled
|
|
- name: Provisionally Disable the MySQL service
|
|
service: name={{ mysql_service }}
|
|
enabled=no
|
|
state=stopped
|
|
when: not mysql_enabled
|
|
|
|
- name: Add 'mysql' to service list
|
|
ini_file: dest='{{ service_filelist }}'
|
|
section=mysql
|
|
option='{{ item.option }}'
|
|
value='{{ item.value }}'
|
|
with_items:
|
|
- option: name
|
|
value: mysql-database
|
|
- option: description
|
|
value: '"MySQL is a widely used free and open source (GPLv2) database, offered by most web hosting services, on a diversity of platforms."'
|
|
- option: enabled
|
|
value: "{{ mysql_enabled }}"
|