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

Pagina do Wordpress não funciona

Boa tarde , meu playbook funcionou perfeitamente, mas quando tento acessar via browser não aparece a pagina do wordpress, poderiam me ajudar. Obrigado.

8 respostas

Olá Anderson, tudo bem? Você poderia dar mais detalhes do problema? Aparece alguma página de erro ou algo do tipo? Você poderia também colocar o código do seu playbook aqui pra gente verificar? Por gentiliza coloque dentro de um bloco de código usando o botão INSERIR CÓDIGO aqui do fórum porque arquivos .yml são muito rígidos na questão de espaçamento.

Fico aguardando retorno!

Segue o Codigo, como expliquei quando executei funcionou perfeitamente.

---
- hosts: all
  handlers:
    - name: restart apache
      service:
        name: apache2
        state: restarted
      become: yes
  tasks:
    - name: 'instala pacotes de dependencia no 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 do 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/latest.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 }}"
      with_items:
        - { regex: 'database_name_here', value: 'wordpress_db'}
        - { regex: 'username_here', value: 'wordpress_user'}
        - { regex: 'password_here', value: '12345'}
      become: yes
    - name: 'Configura o apache para servir o wordpress'
      copy:
        src: '/vagrant/files/000-default.conf'
        dest: '/etc/apache2/sites-available/000-default.conf'
        remote_src: yes
      become : yes
      notify:
        - restart apache

Anderson, peço desculpas, mas eu ainda não entendi muito bem o problema. Quando você conclui todo o processo e tenta acessar no navegador qual é o erro que você encontra? A página não carrega? Poderia verificar verificar o console do navegador e ver se aparece algum erro e colocar aqui pra gente análisar?

Fico aguardando retorno!

Ele aparece erro 500, no navegador, mas o servidor está ativo. Quando só o apache estava funcionando sem o wordpress ele aprecia a pagina do apache no navegador apos colocar o ip. Mas após trocar as configurações para o wordpress da esse erro no qual comentei.

Anderson, poderia enviar um print da tela? Pode colocar no Imgur e disponibilizar o link aqui. Outra coisa, você poderia logar na máquina wordpress e ativar os logs? Para isso você precisa acessar o arquivo wp-config.php e adicionar a linha:

define( 'WP_DEBUG', true );

Se no arquivo não tiver essa linha, se tiver só altere de false para true.

Segue o link da imagem de erro no browser.

https://imgur.com/YWdEFWF

Outra pergunta, esse arquivo wp-config.php ele tem que liberar algum tipo de permissão, pois para realizar a ativação do log foi necessário usar o sudo.

Sobre o arquivo wp-config.php, como é um arquivo de configuração ele realmente é protegido, agora é muito intrigante por algum motivo não está configurando o Wordpress corretamente, então faz o teste usando esse arquivo:

---
  - 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 me fala o resultado, e se possível colocar os logs do Wordpress aqui também!

solução!

Olá Anderson, tudo bem? Tive o mesmo problema que você. Dei uma olhada no /var/log/apache2/error.log e vi que havia algum problema com as permissões do arquivo /var/www/wordpress/wp-config.php.

Na mosca.

O usuário e grupo do arquivo estavam setados como root e permissão 0600.

Como estava com pressa pra concluir o curso, fiz as alterações manualmente, mas acredito que passando os parâmetros 'owner', 'group' e 'mode', nos modulos copy e replace, deve resolver o seu problema. Mas vai te gerar outro...

A versão latest do wordpress não funciona com o php5. Baixei a versão 5.0 ao invés da 5.5 e tá tudo funcionando.

Veja se te ajuda.

---

- 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 do 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-5.0.tar.gz'

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

    - name: 'Copia arquivo do wordpress de exemplo para wp-config'
      copy:
        src: '/var/www/wordpress/wp-config-sample.php'
        dest: '/var/www/wordpress/wp-config.php'
        owner: nobody
        group: nogroup
        mode: '0644'
        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 }}"
        owner: nobody
        group: nogroup
        mode: '0644'
      loop:
        - { regex: 'database_name_here', value: 'wordpress_db'}
        - { regex: 'username_here', value: 'wordpress_user'}
        - { regex: 'password_here', value: '12345'}
      become: yes

    - name: 'Copia arquivo de configuração para o apache'
      copy:
        src: '~/000-default.conf'
        dest: '/etc/apache2/sites-available/000-default.conf'
      become: yes
      notify:
        - restart apache

Abs!

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