1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00
iiab/roles/mysql/tasks/main.yml
georgejhunt f319afa432 Test (#20)
* change apache_data to apache_user in all

* no libapach2 in centos. just php. no php-magick in centos

* remove redundant vars entries

* do not create apache user

* missed one pound sign

* soft code all references to apache_user

* centos requires older setuptools

* revert ansible_lsb.id in xsce.yml

* try getting recent pip

* move pip download to 2prep so that kalite success is not dependent on iiab coming first

* still need to replace setuptools in kalite

* add curl -- needed in debian

* massivly substitue iiab for xsce, and rename files

* completed runansible

* centos fixes,install  pip

* appliance means no iptables rules

* change to earlier version of setuptools for centos

* delete file duplicate, hopefully unnecessary. generate the offline docs

* wiki docs errors

* create the admin group -- deleted earlier

* use the --yes option with pip uninstall

* base of repo moved from schoolserver to iiab, unleashkids.org->iiab.io

* network detection broken due to tupo
2017-06-09 16:25:56 -07:00

116 lines
3.5 KiB
YAML

- name: Install MySQL Debian
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-xml-parser
- php{{ php_version }}-xmlrpc
when: is_debuntu
tags:
- download
- name: Install MySQL
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
- name: Set the php default date, so it does not complain
lineinfile: line="date.timezone = {{ local_tz }}" dest=/etc/php.ini
# we had to start mysql in order to configure it, now turn if off if not enabled
- name: Provisioally 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 database service on the Internet which runs on many platforms, and is often offered and available at hosting Internet Service Providers"'
- option: enabled
value: "{{ mysql_enabled }}"