Muito obrigado por reservar um tempo para me ajudar com esse problema:
Eu tinha um blog Wordpress hospedado em uma conta de hospedagem compartilhada Bluehost. No momento, estou migrando-o manualmente para uma instância do EC2 criada pelo AWS Elastic Beanstalk usando um Amazon Linux AMI. Usando o SSH, eu:
- exportou e importou o banco de dados para o banco de dados MySQL do novo servidor
- copiado em todos os arquivos do Wordpress com a propriedade ec2-user: ec2-user
- define todas as permissões de diretório para 755 e todas as permissões de arquivo para 644.
Neste ponto, o índice do blog carregado é perfeitamente normal. No entanto, quando tentei clicar em um dos posts que anteriormente usavam permalinks, o Wordpress não pôde carregá-lo porque eu não tinha o arquivo .htaccess usando mod_rewrite (note que transferir o original .htaccess não é uma opção) . Então eu entrei na seção de administração e em Configurações > Permalinks, tentei recriar o arquivo .htaccess. No entanto, recebi esta mensagem do Wordpress: "Se o seu arquivo .htaccess fosse gravável, poderíamos fazer isso automaticamente, mas não é assim que essas são as regras do mod_rewrite que você deve ter em seu arquivo .htaccess." Eu criei um arquivo .htaccess em branco neste ponto com permissões apropriadas e tentei novamente, mas com o mesmo resultado.
Também percebi que, na seção de administração, não era possível fazer upload de fotos para a seção de mídia. De lá, percebi que era uma questão de propriedade.
Com base nos dois problemas acima, usei whoami
via shell_exec()
do php para determinar qual usuário o Wordpress estava usando e aprendi que o usuário webapp
estava sendo usado. O Elastic Beanstalk cria o usuário webapp
a ser usado para fazer upload e implantar novas versões de código por meio do console (no entanto, estou enviando manualmente o código via SFTP usando a conta de usuário ec2). Daqui eu:
- alterou toda a propriedade do arquivo / diretório do Wordpress para webapp: ec2-user
- define todas as permissões de diretório para 775 e todas as permissões de arquivo para 664 (para que eu, como ec2-user, possa escrever para elas também)
Neste ponto, os uploads de mídia funcionaram perfeitamente. No entanto, o Wordpress ainda pode não criar / gravar no arquivo .htaccess. Frustrado neste ponto, eu configurei permissões para o 777 apenas para ver se isso funcionaria, mas isso também não funcionou.
Qualquer ajuda é muito apreciada. E obrigado novamente pelo seu tempo!