403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /etc/ansible/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /etc/ansible/upgrade_mysql_php.yml
---
################# upgrade mysql and php for installation
# 1. create backup for databases in found sites
# 2. configure remi repository,  enable default 
# 3. upgrade configuration files for php 
# 4. upgrade mysql (mysql_upgrade)
- name: upgrade mysql and php
  hosts: bitrix-hosts
  vars:
    cluster_enabled: disable
  gather_facts: True
  tasks:
    - include_vars: /etc/ansible/roles/common/vars/default.yml

    - include_vars: /etc/ansible/group_vars/bitrix-mysql.yml

    - include_vars: /etc/ansible/group_vars/bitrix-web.yml

    - fail:

    - name: get host info
      bx_vat:

    - name: change cluster mark if web cluster configured
      set_fact: cluster_enabled=enable
      when: "cluster_web_configure == 'enable'"
      tags: sites

    - name: change cluster mark if mysql cluster configured
      set_fact: cluster_enabled=enable
      when: "cluster_mysql_configure == 'enable'"
      tags: configure_site

    - name: gathering facts about installed sites
      delegate_to: "{{ monitoring_server }}"
      bx_facts:
        name=list
        password=0
        install='(kernel|ext_kernel)'
      tags: sites

    - name: create variable bx_sites_info
      set_fact:
        bx_sites_info: "{{ hostvars[inventory_hostname]['bx_sites'] }}"
      tags: sites

    - name: create backup folder
      delegate_to: "{{ monitoring_server }}"
      file:
        path={{ item }}
        state=directory
        owner=bitrix
        group=bitrix
        mode=0770
      tags: backup
      with_items:
        - "/home/bitrix/backup"
        - "/home/bitrix/backup/archive"
      when: "inventory_hostname == master_server"

    - name: test default my.cnf file exist in the system
      delegate_to: "{{ monitoring_server }}"
      stat:
        path=/root/.my.cnf
        get_md5=no
      register: my_cfg_stat

    - name: create /root/.my.cnf
      delegate_to: "{{ monitoring_server }}"
      template:
        src=templates/upgrade-my.cnf.j2
        dest=/root/.my.cnf
        owner=root
        group=root
        mode=0600
      when: "inventory_hostname == master_server and not {{ my_cfg_stat.stat.exists }}"

    - name: create backup files general case
      delegate_to: "{{ monitoring_server }}"
      with_items: "{{ bx_sites_info }}"
      mysql_db:
        name="{{ item.DBName }}"
        state=dump
        target="/home/bitrix/backup/archive/update_{{ item.DBName }}.sql.bz2"
        login_unix_socket="{{ mysql_socket }}"
      when: "cluster_enabled == 'disable' and inventory_hostname == master_server"
      tags: backup

    - name: create backup files cluster case
      delegate_to: "{{ monitoring_server }}"
      with_items: "{{ bx_sites_info }}"
      mysql_db:
        name="{{ item.DBName }}"
        state=dump
        target="/home/bitrix/backup/archive/update_{{ item.DBName }}.sql.bz2"
        login_host="{{ master_server }}"
      when: "cluster_enabled == 'enable' and inventory_hostname == master_server"
      tags: backup

    - name: save list php disabled modules
      bx_php: action=safe

    - name: upgrade bitrix-env
      yum:
        name={{ bx_package_name }}
        state=latest
      tags: bitrix

    - name: import gpg-keys
      shell: rpm --import "http://rpms.famillecollet.com/RPM-GPG-KEY-remi"
        creates=/etc/pki/rpm-gpg/RPM-GPG-KEY-remi
      tags: php54

    - name: install Remi repository
      yum:
        name="http://rpms.famillecollet.com/enterprise/remi-release-6.rpm"
        state=present
      tags: php54

    - name: enable remi main repository
      ini_file:
        dest=/etc/yum.repos.d/remi.repo
        section=remi
        option=enabled
        value=1
      tags: php54

    - name: update system by remi repository
      yum:
        name=*
        state=latest
      tags: php54

    - name: install opcache for new version
      yum:
        name=php-pecl-zendopcache
        state=latest
      tags: php54

    - name: test apcu module in php
      shell: /usr/bin/php -m
      register: phpmodules
      always_run: yes 

    - name: delete apc configuration file
      file:
        path=/etc/php.d/apc.ini
        state=absent
      when: phpmodules.stdout.find("apcu") != -1
      tags: php54

    - name: create apcu php54 configuration file
      template:
        src=templates/{{ item }}.j2
        dest=/etc/php.d/{{ item }}
        mode=0644
        owner=root
        group=root
      with_items:
        - "apcu.ini"
      when: phpmodules.stdout.find("apcu") != -1
      tags: php54

    - name: replace max_input_vars in bitrixenv.ini
      lineinfile:
        dest=/etc/php.d/bitrixenv.ini
        regexp='^max_input_vars '
        line='max_input_vars = 10000'
        mode=0644
        owner=root
        group=root
      tags: php54

    - name: restore list php disabled modules
      bx_php: action=restore

    - name: disable new unused modules
      shell: mv /etc/php.d/{{ item }} /etc/php.d/{{ item }}.disabled
        creates=/etc/php.d/{{ item }}.disabled
      with_items:
        - gmp.ini
        - posix.ini
        - sybase_ct.ini
        - sysvmsg.ini 
        - sysvsem.ini
        - sysvshm.ini
        - wddx.ini
        - xsl.ini

    - name: create terminator for next update
      file:
        path=/etc/php.d/{{ item }}
        state=touch
      with_items:
        - gmp.ini
        - posix.ini
        - sybase_ct.ini
        - sysvmsg.ini 
        - sysvsem.ini
        - sysvshm.ini
        - wddx.ini
        - xsl.ini

    - name: add configuration options in mysql service for upgrade time
      template:
        src=templates/upgrade_mysql.cnf.j2
        dest=/etc/mysql/conf.d/upgrade_mysql.cnf
        owner=root
        group=mysql
        mode=0664
      tags: mysql55

    - name: restarted mysql service
      service:
        name=mysqld
        state=restarted
      tags: mysql55

    - name: disable sql_log_bin for upgrade
      mysql_variables:
        variable=sql_log_bin
        value=0
        login_unix_socket={{ mysql_socket }}
      tags: mysql55
      when: "cluster_mysql_configure == 'enable' and inventory_hostname == master_server"

    - name: upgrade mysql data
      shell: /usr/bin/mysql_upgrade
      tags: mysql55
      ignore_errors: true

    - name: delete temporary mysql config file
      file:
        path=/etc/mysql/conf.d/upgrade_mysql.cnf
        state=absent
      tags: mysql55

    - name: bitrix settings
      shell: /etc/init.d/bvat start

    - name: restarted mysql service
      service:
        name=mysqld
        state=restarted
      tags: mysql55

    - name: restart httpd service
      service:
        name=httpd
        state=restarted
      tags: php54

Youez - 2016 - github.com/yon3zu
LinuXploit