deploy
---
- name: Deploy lamp stack application
hosts: all
become: yes
tasks:
- name: Install common dependencies
yum:
name:
- libselinux-python
- libsemanage-python
- firewalld
state: installed
# Install and Configure Database
- name: Deploy lamp stack application
hosts: lamp-db
become: yes
tasks:
- name: Install MariaDB package
yum:
name:
- mariadb-server
- MySQL-python
state: installed
- name: Create Mysql configuration file
copy: src=files/my.cnf dest=/etc/my.cnf
- name: Start MariaDB Service
service: name=mariadb state=started enabled=yes
- name: Start firewalld
service: name=firewalld state=started enabled=yes
- name: insert firewalld rule
firewalld: port={{ mysql_port }}/tcp permanent=true state=enabled immediate=yes
- name: Create Application Database
mysql_db: name={{ dbname }} state=present
- name: Create Application DB User
mysql_user: name={{ dbuser }} password={{ dbpassword }} priv=*.*:ALL host={{ ansible_host }} state=present
- name: Move db-load-script to db host
copy:
src: files/db-load-script.sql
dest: /tmp/db-load-script.sql
- name: Load Inventory Data
shell: mysql -f < /tmp/db-load-script.sql
- name: Deploy lamp stack application
hosts: lampweb
become: yes
tasks:
- name: Install httpd and php
yum:
name:
- httpd
- php
- php-mysql
state: present
- name: Install web role specific dependencies
yum: name=git state=installed
- name: Start firewalld
service: name=firewalld state=started enabled=yes
- name: insert firewalld rule for httpd
firewalld: port={{ httpd_port }}/tcp permanent=true state=enabled immediate=yes
- name: Set index.php as the default page
tags: "Set index.php as the default page"
replace:
path: /etc/httpd/conf/httpd.conf
regexp: 'DirectoryIndex index.html'
replace: 'DirectoryIndex index.php'
- name: http service state
service: name=httpd state=started enabled=yes
- name: Copy the code from repository
git: repo={{ repository }} dest=/var/www/html/ force=yes
- name: Creates the index.php file
copy: src=files/index.php dest=/var/www/html/index.php
Comments
Post a Comment