Muito obrigadopor dedicar seu tempo para me ajudar com esse problema:
Eu tinha um blog Wordpress hospedado em uma conta de hospedagem compartilhada Bluehost. Atualmente, estou no processo de migração manual para uma instância EC2 criada pelo AWS Elastic Beanstalk usando um Amazon Linux AMI. Usando SSH, eu:
- exportou e importou o banco de dados para o banco de dados MySQL do novo servidor
- copiou todos os arquivos Wordpress com propriedade como ec2-user:ec2-user
- defina todas as permissões de diretório para 755 e todas as permissões de arquivo para 644.
Neste ponto, o índice do blog carregou perfeitamente normal. No entanto, quando tentei clicar em uma das postagens que anteriormente usavam links permanentes, o Wordpress não conseguiu carregá-lo porque eu não tinha o arquivo .htaccess usando mod_rewrite (observe que transferir o .htaccess original não é uma opção) . Então entrei na seção de administração e em Configurações > Links permanentes, 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, essas são as regras mod_rewrite que você deve ter no seu arquivo .htaccess." Criei um arquivo .htaccess em branco neste momento com as permissões adequadas e tentei novamente, mas com o mesmo resultado.
Também notei neste ponto que na seção de administração não consegui fazer upload de fotos para a seção de mídia. A partir daí, percebi que era uma questão de propriedade.
Com base nas duas questões acima, usei whoami
via php shell_exec()
para determinar qual usuário o Wordpress estava usando e descobri que o usuário webapp
estava sendo usado. O Elastic Beanstalk cria o webapp
usuário para fazer upload e implantar novas versões de código por meio do console (no entanto, estou fazendo upload manual do código via SFTP usando a conta ec2-user). Daqui eu:
- alterou toda a propriedade do arquivo/diretório do Wordpress para webapp:ec2-user
- defina todas as permissões de diretório para 775 e todas as permissões de arquivo para 664 (para que eu, como usuário ec2, possa escrever para eles também)
Neste ponto, os uploads de mídia funcionaram perfeitamente. No entanto, o Wordpress ainda não conseguiu criar/gravar no arquivo .htaccess. Frustrado neste ponto, configurei as permissões para 777 apenas para ver se funcionaria, mas também não funcionou.
Qualquer ajuda é muito apreciada. E obrigado novamente pelo seu tempo!
Responder1
Versões do Redhat/Centos? Hoje em dia, o SELinux está habilitado por padrão e limita fortemente o processo do servidor web. Saída de ls -alZ .htaccess
? Somente arquivos rotulados com o tipo selinux httpd_sys_rw_content_t
podem ser alterados pelo processo do servidor web, independentemente das antigas rwx
permissões do Unix. Use chcon -t httpd_sys_rw_content_t .htaccess
para mudar.