Как мы знаем, для корректной работы LAMP-стека, необходимо настроить СУБД для работы с Apache и PHP. Приведу один из вариантов-аналогов mysql_secure_installation для Ansible, который работает с актуальными версиями MySQL, и подходит для начала работы с WordPress.
YAML playbook (без создания БД, т.к. у меня она качует еще со времён FreeBSD):
---
- name: Playbook for initial installed MySQL
hosts: "{{ HOSTS | default('test_WEB') }}"
become: yes
vars:
mysql_root_password: "rootpa$$"
mysql_dbuser_password: "dbuserpa$$"
tasks:
# MySQL Configuration
- name: Sets the root password
mysql_user: name=root host={{ item }} password={{ mysql_root_password }} login_unix_socket="/var/run/mysqld/mysqld.sock"
with_items:
- "{{ ansible_hostname }}"
- 127.0.0.1
- ::1
- localhost
- name: Copy .my.cnf file with root password credentials
template: src=files/my.cnf.j2 dest=/root/.my.cnf owner=admin mode=0600
- name: Removes all anonymous user accounts
mysql_user:
name: ''
host_all: yes
state: absent
login_user: root
login_password: "{{ mysql_root_password }}"
- name: Add dbuser for WordPress to MySQL config
mysql_user:
name: dbuser
password: "{{ mysql_dbuser_password }}"
host: localhost
priv: 'wordpressdb.*:ALL,GRANT'
state: present
login_user: root
login_password: "{{ mysql_root_password }}"
Содержимое файла-шаблона my.cnf.j2:
[client] user=root password={{ mysql_root_password }}