• Resolvido theandersonn

    (@theandersonn)


    Estou testando um fluxo de desenvolvimento com Docker, experimentando esse boilerplate para montar o ambiente:

    https://github.com/nezhar/wordpress-docker-compose

    Até aqui, está funcionando de boa. [essa introdução foi para explicar os detalhes…]

    A minha dúvida é após o WordPress instalado, só conseguido atualizar, rodar links permanentes, fazer uploads de imagens com permissão 777.

    Tentei colocar o grupo de usuário do diretorio para o mesmo desenvolvo:
    sudo chown NOME-GRUPO:NOME-GRUPO DIRETORIO -R

    E configurar as permissões recomendadas:

    find DIRETORIO/ -type d -exec chmod 755 {} \;
    find DIRETORIO/ -type f -exec chmod 644 {} \;

    Com essas configurações, não consigo nem trocar o idioma do WP, só consigo se mudar as permissões para 777.

Visualizando 10 respostas - 1 até 10 (de um total de 10)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi Anderson! Seu usuário faz parte do grupo docker?

    Criador do tópico theandersonn

    (@theandersonn)

    Não fazia parte!
    Inclui ele, mas ainda não consigo rodar, links permanentes, fazer uploads de imagens, rodar atualizações com permissões pastas 755 e arquivos 644.

    Moderador Felipe Elia

    (@felipeelia)

    Hm, provavelmente isso acontece porque esta imagem do docker não mapeia o usuário www-data com o seu usuário. Tenta alterar essa parte do docker-compose.yml

        environment:
          WORDPRESS_DB_HOST: db
          WORDPRESS_DB_NAME: "${DB_NAME}"
          WORDPRESS_DB_USER: root
          WORDPRESS_DB_PASSWORD: "${DB_ROOT_PASSWORD}"

    para

        environment:
          WORDPRESS_DB_HOST: db
          WORDPRESS_DB_NAME: "${DB_NAME}"
          WORDPRESS_DB_USER: root
          WORDPRESS_DB_PASSWORD: "${DB_ROOT_PASSWORD}"
          APACHE_RUN_USER: 1000
          APACHE_RUN_GROUP: 1000

    Se não rolar, tenta trocar o 1000 pelo seu usuário. Se mesmo assim não funcionar avise aqui que a gente tenta alguma outra coisa.

    Criador do tópico theandersonn

    (@theandersonn)

    Felipe funcionou! \o/

    Estou deixando de usar o xampp, aprendi o básico do docker e no dia a dia quando não dependo do Photoshop estou usando o Ubuntu. A medida que for aprendendo, montarei minhas próprias imagens, para ter um ambiente mais personalizado.

    Aí nessa fase de aprendizado, vem os erros e as descobertas 😉

    Muito obrigado pela força!

    Moderador Felipe Elia

    (@felipeelia)

    Ah, que legal!

    Eu tenho uma imagem também (https://github.com/felipeelia/docker-wordpress), mas ainda preciso documentar tudo melhor por lá. Esse é um assunto bem legal de estudar! Qualquer dúvida é só falar.

    Boa sorte!

    Criador do tópico theandersonn

    (@theandersonn)

    Felipe tive a impressão de que estava ok, mas ficou inconsistente. Tentei replicar em outra máquina e rodando do zero, mas não funcionou.

    A questão realmente é quem com usuário e grupo www-data:www-data desta forma o WordPress roda de boa com o uso de permalinks, upload de imagens e atualizações tudo com as permissões recomendadas, mas na máquina que estou trabalhando não consigo editar os arquivos, a não ser que rode a pasta com sudo.

    No caso, localmente com o usuário que estou logado $USER consigo rodar sem o sudo porque sou o dono da pasta, como faço para configurar o usuário www-data para ter essas permissões locais?

    Tentei colocando o usuário no mesmo grupo do meu user, ficando:
    www-data:$USER
    Mas travei em dar permissões para o grupo ou o www-data

    dessa forma deixaria o www-data como dono da pasta e funcionaria para apache.

    Sugestões?

    Não querendo desviar o foco do seu tópico, mas já que está saindo da vida de xamp/wamp, procure também experimentar o vagrant. Para wordpress temos os projetos VVV e o VCCW.
    https://varyingvagrantvagrants.org/
    http://vccw.cc/

    • Esta resposta foi modificada 5 anos, 6 meses atrás por Luiz Bills.
    Criador do tópico theandersonn

    (@theandersonn)

    E aí luizbills \o/

    Vou olhar o vagrant tbm.

    Tenho notado que o mercado nestes últimos anos abraço mais o docker do o vagrant pelas diferenças entre o vagrant utilizar uma máquina virtual rodando em background e o Docker gerenciar os containers baseados em imagens. Essa é uma percepção que tive, por isso nesse start parti para o Docker, mas quero experimentar outras soluções tbm.

    Recentemente conheci o Local by Flywheel, ainda não testei, mas ele roda em cima de máquina virtual.

    Moderador Felipe Elia

    (@felipeelia)

    Esse é um problema bem comum, Anderson. Na verdade, nunca vi uma solução definitiva. Na imagem que eu fiz/uso eu fiz um de->para do usuário que sendo usado com o www-data dentro do container com o comando

    RUN usermod --non-unique --uid 1000 www-data \
      && groupmod --non-unique --gid 1000 www-data \
      && chown -R www-data:www-data /var/www

    Pra mim funciona, não sei se funciona para todo mundo (copiei esse código de outro lugar e adaptei, claro haha)

    Sobre vagrant x docker, eu indicaria o docker porque é o que o próprio core do WP está usando para facilitar a colaboração com o core. Hoje em dia é só baixar o repositório SVN, rodar um comando e um container do docker sobe. Fica bem fácil para fazer os patches e contribuir.

    Sobre o Local by Flywheel todo mundo fala, mas não tem pra Linux 🙁 Agora que a WP Engine comprou a Flywheel, espero que façam logo a versão.

    Abraços!

    Criador do tópico theandersonn

    (@theandersonn)

    Obrigado pelo feedback, entendi a questão!

    Nesse tópico meu aprendizado foi entender que o problema estava no usuário e grupo www-data:www-data que não estava emparelhado com o meu usuário logado no sistema.

    Vou tratar esse emparelhamento e permissões, posto futuramente a solução.

    Além desse setup de ambiente, adotei recentemente essa sugestão de organização, separando core e content.
    https://github.com/markjaquith/WordPress-Skeleton

Visualizando 10 respostas - 1 até 10 (de um total de 10)
  • O tópico ‘Dúvida sobre permissões de pastas/arquivos e grupo’ está fechado para novas respostas.