5
respostas

Erro na versão do PHP e mySqll

Quando faço as alterações e tento subir apresenta esse erro :

Your server is running PHP version 5.5.9-1ubuntu4.29 but WordPress 5.4.2 requires at least 5.6.20.

tentei colocar outra versão no php e deu o seguinte erro:

Error establishing a database connection

segue abaixo meu arquivo provisioning:


  • hosts: all handlers:

    • name: restart apache service: name: apache2 state: restarted become: yes

    tasks:

    • name: 'Instala os pacotes do sistema operacional ' apt: name: "{{ item }}" state: latest become: yes with_items:

      • php5
      • apache2
      • libapache2-mod-php5
      • php5-gd
      • libssh2-php
      • php5-mcrypt
      • mysql-server-5.6
      • python-mysqldb
      • php5-mysql
    • name: 'Criação do banco de dados Mysql' mysql_db: name: wordpress-db login_user: root state: present

    • name: 'Craiação de user com privilegios ' mysql_user: login_user: root name: wordpress_user password: 12345 priv: '.:ALL,GRANT' state: present

    • name: 'Download arquivo de instalação wordpress' get_url: url: 'https://wordpress.org/wordpress-5.0.tar.gz' dest: '/tmp/wordpress.tar.gz' become: yes

    • name: 'Descompacta o wordpress' unarchive: src: '/tmp/wordpress.tar.gz' dest: /var/www/ remote_src: yes become: yes

    • name: Copy file with owner and permissions copy: src: /var/www/wordpress/wp-config-sample.php dest: /var/www/wordpress/wp-config.php remote_src: yes become: yes

    • name: 'Configura o wp-config com as entradas do banco de dados' replace: path: /var/www/wordpress/wp-config.php regexp: "{{ item.regex }}" replace: "{{ item.value}}" with_items:

      • { regex: 'database_name_here', value: 'wordpress-db'}
      • { regex: 'username_here', value: ' wordpress_user'}
      • { regex: 'password_here', value: '12345'}become: yes
    • name: 'Configurando o apache2 no wordpress' copy: src: 'files/000-default.conf' dest: '/etc/apache2/sites-available/000-default.conf' become: yes notify:

      • restart apache
5 respostas

Olá wqueiroz23, tudo bem? Você poderia colocar todo esse conteúdo dentro de uma bloco de código, para isso basta clicar no botão "<> INSERIR CÓDIGO" aqui do campo de texto do fórum, porque esses arquivos .yml são muito rigorosos quanto a questão de indentação, então vai ser mais simples pra gente verificar e ti ajudar.

Fico aguardando retorno!

---
- hosts: all
  handlers:
    - name: restart apache 
      service:
        name: apache2
        state: restarted
      become: yes

  tasks:
    - name: 'Instala os pacotes do sistema operacional '
      apt:
        name: "{{ item }}"
        state: latest
      become: yes
      with_items:
        - php5
        - apache2
        - libapache2-mod-php5
        - php5-gd
        - libssh2-php
        - php5-mcrypt
        - mysql-server-5.6
        - python-mysqldb
        - php5-mysql 

    - name: 'Criação do banco de dados Mysql'
      mysql_db:
        name: wordpress-db
        login_user: root
        state: present

    - name: 'Craiação de user com privilegios '
      mysql_user:
        login_user: root
        name: wordpress_user
        password: 12345
        priv: '*.*:ALL,GRANT'
        state: present

    - name: 'Download arquivo de instalação wordpress'
      get_url:
        url: 'https://wordpress.org/wordpress-4.0.tar.gz'
        dest: '/tmp/wordpress.tar.gz'
      become: yes  

    - name: 'Descompacta o wordpress'
      unarchive:
        src: '/tmp/wordpress.tar.gz'
        dest: /var/www/
        remote_src: yes
      become: yes

    - name: Copy file with owner and permissions
      copy:
        src: /var/www/wordpress/wp-config-sample.php
        dest: /var/www/wordpress/wp-config.php
        remote_src: yes
      become: yes

    - name: 'Configura o wp-config com as entradas do banco de dados'
      replace:
        path: /var/www/wordpress/wp-config.php
        regexp: "{{ item.regex }}"
        replace: "{{ item.value}}" 
      with_items:
        - { regex: 'database_name_here', value: 'wordpress-db'}  
        - { regex: 'username_here', value: ' wordpress_user'}
        - { regex: 'password_here', value: '12345'}  
      become: yes  

    - name: 'Configurando o apache2 no wordpress' 
      copy: 
        src: 'files/000-default.conf'
        dest: '/etc/apache2/sites-available/000-default.conf'
      become: yes
      notify:
        - restart apache

Opa segue o codigo!!

wqueiroz23, pode ser algumas coisas, você poderia tentar usando o código abaixo, nele tem algumas modificações, que talvez seja o problema.

---
  - hosts: all
    handlers:
      - name: restart apache
        service:
          name: apache2
          state: restarted
        become: yes

    tasks:
      - name: 'Instala pacotes de dependencia do sistema operacional'
        apt:
          name:
            - php5
            - apache2
            - libapache2-mod-php5
            - php5-gd
            - libssh2-php
            - php5-mcrypt
            - mysql-server-5.6
            - python-mysqldb
            - php5-mysql
          state: latest
        become: yes

      - name: 'Cria o banco MySQL'
        mysql_db:
          name: wordpress_db
          login_user: root
          state: present

      - name: 'Cria o usuário do MySQL'
        mysql_user:
          login_user: root
          name: wordpress_user
          password: '12345'
          priv: 'wordpress_db.*:ALL'
          state: present

      - name: 'Baixa o arquivo de instalacao do Wordpress'
        get_url:
          url: 'https://wordpress.org/wordpress-5.0.tar.gz'
          dest: '/tmp/wordpress.tar.gz'

      - name: 'Descompacta o wordpress'
        unarchive:
          src: '/tmp/wordpress.tar.gz'
          dest: /var/www/
          remote_src: yes
        become: yes

      - copy:
          src: '/var/www/wordpress/wp-config-sample.php'
          dest: '/var/www/wordpress/wp-config.php'
          remote_src: yes
        become: yes

      - name: 'Configura o wp-config com as entradas do banco de dados' 
        replace:
          path: '/var/www/wordpress/wp-config.php'
          regexp: "{{ item.regex }}"
          replace: "{{ item.value }}"
        loop:
          - { regex: 'database_name_here', value: 'wordpress_db' }
          - { regex: 'username_here', value: 'wordpress_user' }
          - { regex: 'password_here', value: '12345' }
        become: yes

      - name: 'Configura Apache para servir o Wordpress'
        copy:
          src: 'files/000-default.conf'
          dest: '/etc/apache2/sites-available/000-default.conf'
        become: yes
        notify:
          - restart apache

E fala pra gente o resultado!

Cara dessa vez funcionou,porém não consegui identificar o que vc mudou nesse doc,pode me falar?

Então, pedi logo pra você tentar com esse arquivo, porque tem algumas modificações. Primeiro a sintaxe do with_items que não existe mais nas últimas versões. Agora podemos simplesmente indicar os vários recursos para instalar da seguinte forma:

- name: 'Instala pacotes de dependencia do sistema operacional'
        apt:
          name:
            - php5
            - apache2
            - libapache2-mod-php5
            - php5-gd
            - libssh2-php
            - php5-mcrypt
            - mysql-server-5.6
            - python-mysqldb
            - php5-mysql

Usando apenas o name, e passando os vários valores.

Outra coisa diferente é o usuário do banco de dados que usei underline em vez de hífen:

wordpress_db

Também coloquei as permissões do usuário somente para o banco especificado e não para todos os bancos:

priv: 'wordpress_db.*:ALL'

Mais uma diferente é que usei a versão 5.0 do WordPress:

url: 'https://wordpress.org/wordpress-5.0.tar.gz'

E por fim usei o novo recurso loop que veio para ficar no lugar de with_items:

loop:
          - { regex: 'database_name_here', value: 'wordpress_db' }
          - { regex: 'username_here', value: 'wordpress_user' }
          - { regex: 'password_here', value: '12345' }

Acho que essas foram todas as diferenças!

E que bom que deu certo! Fico muito feliz por ajudar!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software