Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro na página de login do Sistema de noticias - Warning: session_start(): open failed: Permission denied

Na aula "06 Utilizando um StatefulSet" - https://cursos.alura.com.br/course/kubernetes-deployments-volumes-escalabilidade/task/80504, após criar os PVC de imagens e sessão, aplicar eles e depois aplicar o StatefulSet, ao abrir a página do Sistema de Noticias apresenta o seguinte erro na página de login:

Warning: session_start(): open(/tmp/sess_igfvtmfcsn4dc2othcekca4p41, O_RDWR) failed: Permission denied (13) in /var/www/html/index.php on line 3

Tentei verificar se havia uma configuração divergente nos PVC, StorageClass ou StatefulSet, mas não encontrei nada que pudesse estar causando isto. Sabem dizer o que pode estar gerando este erro?

1 resposta
solução!

Pessoal, boa tarde.

Neste meio tempo encontrei uma solução para este caso.

Após algumas pesquisas encontrei um recurso interessante no Kubernetes: os Lifecycle Events.

Segue um FCA deste caso:

Fato: Ao acessar a página do Sistema ocorria o erro:

Warning: session_start(): open(/tmp/sess_igfvtmfcsn4dc2othcekca4p41, O_RDWR) failed: Permission denied (13) in /var/www/html/index.php on line 3

Causa: Usuário www-data utilizado pelo PHP não estava conseguindo escrever no diretório /tmp, devido as permissões do diretório, conforme verificado na documentação do PHP, o session_start() cria uma sessão no diretório /tmp por padrão.

Ação: Adicionado no manifesto do Statefulset um Lifecycle event postStart, que executa o comando chown, permitindo ao usuário www-data que ele possa efetuar a criação dos arquivos que ele precisa, para a criação das sessões:

  lifecycle:
    postStart:
      exec:
        command: ["/bin/bash", "-c", "chown -R www-data /tmp"]

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