AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.135.215.71
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /etc/ansible/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

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



Anon7 - 2022
AnonSec Team