Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Está dando conflito de versões entre o PHP e wordpress

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

Sabe me dizer qual módulo instalar pra corrigir isso?

5 respostas

Olá, Luis. Tudo bem?

Você pode postar aqui o conteúdo do seu arquivo provisioning.yml e do seu Vagrantfile?

Fico aguardando.

Vagrant.configure("2") do |config|

  config.vm.box = "ubuntu/trusty64"

  config.vm.provider "virtualbox" do |v|
    v.memory = 1024
  end

  config.vm.define "wordpress" do |m|
    m.vm.network "private_network", ip: "172.17.177.40"
  end

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

  tasks:
    - name: 'Instala pacotes de depedências do SO'
      apt:
        update_cache: yes
        cache_valid_time: 3600
        state: latest
        name: 
        - php5
        - apache2
        - libapache2-mod-php5
        - php5-gd
        - libssh2-php
        - php5-mcrypt
        - mysql-server-5.6
        - python-mysqldb
        - php5-mysql
      become: yes

    - name: 'Criar banco no 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: 'Baixando o Wordpress'
      get_url: 
        url: https://wordpress.org/latest.tar.gz
        dest: '/tmp/wordpress.tar.gz'

    - name: 'Descompactar 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:
      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_use'}
        - { regex: 'password_here', value: '12345'}
      become: yes

    - name: 'Configura apache com wordpress'
      copy:
        src: './wordpress_ansible/files/000-default.conf'
        dest: '/etc/apache2/sites-available/000-default.conf'
      become: yes
      notify: 
        - restart apache

E ai, Luis.

Beleza!

Como dito na mensagem de erro, a versão do PHP que está sendo instalada é 5.5.9-1, mas o WordPress 5.5.3 requer pelo menos a 5.6.20.

O problema é que a versão do Ubuntu que você está utilizando não possui essa versão nos repositórios oficiais. Para contornar isso você precisa:

1) Adicionar o repositório para a versão necessária com uma task antes da instalaçao dos pacotes:

- name: Add PHP PPA repository
   become: true
   apt_repository:
       repo: 'ppa:ondrej/php'

E alterar as versões do PHP usadas no provisioning.yml (por exemplo, php5.6-mcrypt).

ou

2) Usar uma versão do Ubuntu mais recente no Vagrantfile ( por exemplo, a "bento/ubuntu-20.04" ) e também usar as versões mais recentes do PHP no seu provisioning.yml (por exemplo, a php7.3-mysql). Usar as versões mais atuais do PHP é recomendado pelo Wordpress. Note que também é necessário alterar a versão do python-mysqldb para python3-mysqldb.

Espero ter ajudado. Se tiver dúvidas, é só dizer.

solução!

Boa noite Luis, blz?

Cara, eu tive um problema parecido com o teu, só que no meu caso, a versão do Ubuntu que eu utilizava, não possuía as versões do PHP informados no curso. O que eu fiz? Adaptei o código procurando as versões dos pacotes disponíveis no box do Vagrant:

Vagrantfile

Vagrant.configure("2") do |config|

  config.vm.box = "ubuntu/bionic64"

  # Creating Ansible Controller machine
  config.vm.define "ansible" do |ansible|
    ansible.vm.network "public_network", ip: "192.168.0.230"

    # Defining specific hardware configuration
    ansible.vm.provider "virtualbox" do |vb|
      vb.name = "ansible"
      vb.cpus = 1
      vb.memory = 512
    end

    # Disabling the default shared folder and creating a new one
    ansible.vm.synced_folder ".", "/vagrant", disabled: true
    ansible.vm.synced_folder "./configs", "/configs"

    # Providing the private key to the Ansible Controller
    ansible.vm.provision "shell", inline: $copy_private_key
    ansible.vm.provision "shell", inline: $install_ansible
  end

  # Creating Wordpress machine
  config.vm.define "wordpress" do |wordpress|
    wordpress.vm.network "public_network", ip: "192.168.0.240"

    # Defining specific hardware configuration
    wordpress.vm.provider "virtualbox" do |vb|
      vb.name = "wordpress"
      vb.cpus = 4
      vb.memory = 2048
    end

    wordpress.vm.synced_folder "./configs", "/configs"
    wordpress.vm.provision "shell", inline: $copy_public_key
    wordpress.vm.provision "shell", inline: $install_python
  end

  config.vm.define "mysql" do |mysql|
    mysql.vm.provider "virtualbox" do |vb|
      vb.name = "mysql"
      vb.cpus = 4
      vb.memory = 2048
    end

    mysql.vm.network "public_network", ip: "192.168.0.250"
    mysql.vm.synced_folder "./configs", "/configs"
    mysql.vm.provision "shell", inline: $copy_public_key
    mysql.vm.provision "shell", inline: $install_python
  end
end

provisioning.yml

- name: 'Instala pacotes de dependências do sistema operacional'
   apt:
     name:
       - php7.2
       - apache2
       - libapache2-mod-php7.2
       - php7.2-gd
       - php-ssh2
       - libmcrypt-dev
       - mysql-server-5.7
       - python-mysqldb
       - php7.2-mysql
     state: latest
     become: yes       

Eu frequentemente uso essa box do Vagrant pois a mesma ainda está em LTS .

Espero ter ajudado!

Vlw, Rafael! Eu havia feito algo semelhante, utilizando o ubuntu 18 tbm! Muito obrigado.