--- - name: Install PhpMyAdmin collections: [ 'debops.debops', 'debops.roles01', 'debops.roles02', 'debops.roles03' ] hosts: [ 'debian10' ] vars: phpmyadmin_version: 5.2.1 # https://docs.ansible.com/ansible/latest/collections/community/general/random_string_lookup.html#keyword-parameters blowfish_secret: "{{ lookup('community.general.random_string', length=32) }}" tasks: - name: 'Download phpMyAdmin {{ phpmyadmin_version }} into var/www dir and uncompress' become: true become_user: '{{ site_name }}' shell: |- cd /var/www rm -rf phpmyadmin wget -q https://files.phpmyadmin.net/phpMyAdmin/{{ phpmyadmin_version }}/phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip unzip -qq phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip rm phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip mv phpMyAdmin-{{ phpmyadmin_version }}-all-languages phpmyadmin cd phpmyadmin cp config.sample.inc.php config.inc.php mkdir tmp && sudo chown :33 tmp && chmod g+w tmp - name: 'Set cookie blowfish secret' ansible.builtin.lineinfile: path: /var/www/phpmyadmin/config.inc.php regexp: "^\\^\\$\\\\cfg\\\\[\\'blowfish_secret\\'\\\\] = '';" line: "$cfg['blowfish_secret'] = '{{ blowfish_secret }}';" owner: '{{ site_name }}' group: '{{ site_name }}' mode: '0640' - name: 'Set CookieSameSite to Lax' ansible.builtin.lineinfile: path: /var/www/phpmyadmin/config.inc.php # Добавляет строку в конец файла, если она еще не существует line: "$cfg['CookieSameSite'] = 'Lax';" insertafter: EOF # Вставляет в конец файла # Необязательно, но полезно убедиться, что строки нет до добавления create: false owner: '{{ site_name }}' group: '{{ site_name }}' mode: '0640' - name: 'Set MaxTableList' ansible.builtin.lineinfile: path: /var/www/phpmyadmin/config.inc.php regexp: "^//\\$cfg\\['MaxRows'\\]" line: "$cfg['MaxTableList'] = 500;" insertafter: "^//\\$cfg\\['MaxRows'\\]" # Вставит сразу после закомментированной строки owner: '{{ site_name }}' group: '{{ site_name }}' mode: '0640'