Unix/Linux Go Back    


UNIX and Linux Applications Discuss UNIX and Linux software applications. This includes SQL, Databases, Middleware, MOM, SOA, EDA, CEP, BI, BPM and similar topics.

Ansible Automation

UNIX and Linux Applications


Tags
lamp installation with ansible. solved

Reply    
 
Thread Tools Search this Thread Display Modes
    #1  
Old Unix and Linux 10-24-2016
venky.b5 venky.b5 is offline
Registered User
 
Join Date: May 2015
Last Activity: 26 April 2017, 2:21 AM EDT
Posts: 37
Thanks: 50
Thanked 2 Times in 2 Posts
Ansible Automation

Hi Gurus,

I am new to ansible automation, kindly suggest me whether i am going in right path.

I Want to automate deployment of apache,mysql-server on multiple Linux hosts.

ansible version i am using ansible 1.5.4
OS: Ubuntu 14.04.5 LTS

below is the Script created for the same


Code:
---
- hosts: all
  tasks:
    - name: "Install Softwares Apache,Mysql-server,Php,Php-gd,php5-mysql"
      apt: name={{ item }} update_cache=yes state=latest
      with_items:
      - apache2
      - mysql-server
      - php5-mysql
      - php5
      - php5-gd
    - name: "Restart Apache"
      service: name=apache2 state=restarted
      notify:
      - reload apache2
    - name: "start Mysql"
      service: name=mysql state=started
      notify:
      - start mysql
    - name: "Os Distro with <= 5"
      when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' and ansible_lsb.major_release|int <= 5
      apt: name={{ item }} update_cache=yes state=latest
      with_items:
      - php-devel
      - pecl
      - jason
    - name: "Identify Json Configuration Files"
      stat: path=/etc/php.d/json.ini
      register: JSON_CONFIG
    - name: "Modify File"
      lineinfile: dest=/etc/php.d/json.ini line="# Json Extension"
      lineinfile: dest=/etc/php.d/json.ini line="extension=json.so"
      when: JSON_CONFIG == true
      register: MOD_JSON_FL
    - name: "Restart Apache"
      service: name=apache2 state=restarted
      when: MOD_JSON_FL == true
      notify:
      - reload apache2
  handlers:
    - name: reload apache2
      service: name=apache2 state=reloaded
    - name: start mysql
      service: name=mysql state=started


Regard's
Venkatesh K
Sponsored Links
    #2  
Old Unix and Linux 11-08-2016
Vit0_Corleone's Unix or Linux Image
Vit0_Corleone Vit0_Corleone is offline
Registered User
 
Join Date: Dec 2009
Last Activity: 19 April 2017, 8:26 AM EDT
Posts: 163
Thanks: 18
Thanked 4 Times in 4 Posts
Hi, try the playbook against Test machine first so you can see if there is any issues.
Sponsored Links
    #3  
Old Unix and Linux 11-08-2016
venky.b5 venky.b5 is offline
Registered User
 
Join Date: May 2015
Last Activity: 26 April 2017, 2:21 AM EDT
Posts: 37
Thanks: 50
Thanked 2 Times in 2 Posts
Hi Corleone,

Thanks for the Reply, I tried and it was working as per our requirements on Ubuntu.


Code:
---
- hosts: linux
  tasks:
    - name: "Install Softwares Apache,Mysql-server,Php,Php-gd,php5-mysql"
      apt: name={{ item }} update_cache=yes state=latest
      with_items:
      - apache2
      - mysql-server
      - python-mysqldb
      - php5-mysql
      - php5-mcrypt
      - php5-curl
      - php5
      - php5-gd
    - name: "Restart Apache"
      service: name=apache2 state=started
      notify:
      - reload apache2
    - name: "start Mysql"
      service: name=mysql state=started
      notify:
      - start mysql
    - name: "Os Distro with <= 5"
      when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' and ansible_lsb.major_release|int <= 5
      apt: name={{ item }} update_cache=yes state=latest
      with_items:
      - php-devel
      - perl
      - jason
    - name: "Modify File jason config file"
      lineinfile:
         dest: /etc/php.d/json.ini
         line: "{{item}}"
      with_items:
      - "# Json Extension"
      - "extension=json.so"
      when: ansible_lsb.major_release|int <= 5
      register: MOD_JSON_FL
    - name: "Restart Apache"
      service: name=apache2 state=restarted
      when: MOD_JSON_FL == true
      notify:
      - reload apache2
    - name: "Create Demo Data Base"
      mysql_db: login_user=root login_password=root name=demo12 state=present collation=utf8_general_ci
    - name: "Create Demo User"
      mysql_user: login_user=root login_password=root name=demo12 password=root priv=*.*:ALL,GRANT host=localhost state=present
    - name: "Restart My Sql Service"
      service: name=mysql state=restarted
    - name: "Download Xibo 1.7.7 Version "
      get_url:
        url: "https://github.com/xibosignage/xibo-cms/archive/1.7.7.tar.gz"
        dest: /var/www/html/xibo_1.7.7.tar.gz
    - name: "Unarchive Xibo Tarball "
      ignore_errors: yes
      command: "{{item}}"
      with_items:
      - tar zxvf /var/www/html/xibo_1.7.7.tar.gz -C /var/www/html/
      - mv /var/www/html/xibo-cms-1.7.7/ /var/www/html/xibo/
    - name: "Change Permissions"
      ignore_errors: yes
      file: path=/var/www/html/xibo/ owner=www-data group=www-data
    - name: "Creating the Media library and Manipulating the Permissions"
      ignore_errors: yes
      file: path=/var/www/html/xibo-library owner=www-data group=www-data mode=0755 state=directory
    - name: "Remove tar dump"
      ignore_errors: yes
      file: path=/var/www/html/xibo_1.7.7.tar.gz state=absent
    - name: "Check Config file /etc/php5/apache2/php.ini"
      stat: path=/etc/php5/apache2/php.ini
      register: PH_Ini_Sts
    - name: "Making Changes to Max Upload File Size,post_max_size,upload_max_size,max_execution_time in /etc/php5/apache2/php.ini"
      replace: dest=/etc/php5/apache2/php.ini
          regexp="{{item.regexp}}"
          replace="{{item.line}}"
      with_items:
      - { regexp: "^(.*)max_input_time(.*)$", line: 'max_input_time = 5000' }
      - { regexp: "^(.*)memory_limit(.*)$", line: 'memory_limit = 1000M' }
      - { regexp: "^(.*)max_execution_time(.*)$", line: 'max_execution_time = 5000' }
      - { regexp: "^(.*)post_max_size(.*)$", line: 'post_max_size = 750M' }
      - { regexp: "^(.*)upload_max_filesize(.*)$", line: 'upload_max_filesize = 750M' }
      when: PH_Ini_Sts == true
    - name: "Adding Localhost entry in /etc/apache2/apache2.conf"
      lineinfile: dest=/etc/apache2/apache2.conf line="ServerName localhost"
    - name: "Run PHPenmode COmmand"
      command: php5enmod mcrypt
    - name: "White Labelling"
      ignore_errors: yes
      copy: src="{{item}}" dest=/var/www/html/xibo/theme/default/img/ backup=yes owner=www-data
      with_items:
      - ~/xibologo.png
      - ~/favicon.ico
    - name: "Replacing Xibo with VENKAT in /var/www/html/xibo/theme/default/config.php"
      replace: dest=/var/www/html/xibo/theme/default/config.php
         regexp="{{item.regexp}}"
         replace="{{item.line}}"
      with_items:
      - { regexp: "^(.*)theme_title(.*)$", line: "              'theme_title' => 'VENKAT Digital Signage'," }
      - { regexp: "^(.*)app_name(.*)$", line: "         'app_name' => 'VENKAT'," }
    - name: "Restart Apache"
      service: name=apache2 state=restarted
  handlers:
    - name: reload apache2
      service: name=apache2 state=reloaded
    - name: start mysql
      service: name=mysql state=started
    - name: FIL_COPY
      command: ls
  #If Proxy needed
  #environment:
  #   http:

    #4  
Old Unix and Linux 11-09-2016
Vit0_Corleone's Unix or Linux Image
Vit0_Corleone Vit0_Corleone is offline
Registered User
 
Join Date: Dec 2009
Last Activity: 19 April 2017, 8:26 AM EDT
Posts: 163
Thanks: 18
Thanked 4 Times in 4 Posts
Cool, pretty good playbook. I am implementing Ansible in our environment so lets keep posting our notes as someone might find it useful.
Sponsored Links
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Linux More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
CVS Automation pvmanikandan Shell Programming and Scripting 1 03-24-2014 05:30 PM
Webdav automation mcclunyboy Shell Programming and Scripting 2 09-20-2013 05:44 PM
Linking Automation Balasankar UNIX for Advanced & Expert Users 4 09-12-2013 01:02 PM
Need help in automation balasubramani04 UNIX for Advanced & Expert Users 6 04-03-2012 04:03 PM
Help in automation... nua7 Shell Programming and Scripting 1 10-03-2008 06:52 AM



All times are GMT -4. The time now is 02:17 AM.