Eu entendo que o magento diz ter / var e / media em 700 para pastas e 600 para arquivos, mas quando faço isso, ele quebra certas partes do meu site. Estou curioso para ver quais permissões a maioria das pessoas usa para essas pastas.
Eu entendo que o magento diz ter / var e / media em 700 para pastas e 600 para arquivos, mas quando faço isso, ele quebra certas partes do meu site. Estou curioso para ver quais permissões a maioria das pessoas usa para essas pastas.
Respostas:
Não vejo muitas menções ao uso de 700 e 600, mas geralmente é um bom conselho. Infelizmente, todas as configurações de servidor são diferentes e precisam ser comparadas à conveniência (acesso do usuário para atualizar / editar arquivos).
A abordagem subjacente deve ser doar apenas o mínimo possível e bloqueá-lo o máximo possível (700/600 é bom para isso). Nesse sentido, o conselho "oficial" do wiki deseja aplicar-se ao maior número possível de circunstâncias e sugere permissões de leitura para todos (o que significa que qualquer outro serviço comprometido no servidor poderá, por exemplo, ler app / etc / local. xml com sua configuração de db).
No seu caso, atualmente parece que os arquivos pertencem a um usuário diferente daquele em que o processo do servidor da web / php é executado. Alterar a propriedade dos arquivos para o servidor da web deve resolver o problema original.
Observe que usar o 700/600 e atribuir os arquivos ao servidor da Web significa que o usuário normal não poderá editar os arquivos.
O abaixo eu sinto é um bom compromisso por conveniência vs bloquear. Todos os arquivos pertencem ao usuário: webservergroup
var e mídia 770/660
O servidor e seu usuário podem ler e gravar nas pastas var e mídia (sessão / cache / imagens).
o restante 750/640
Seu usuário pode editar / atualizar o código.
O servidor da web é capaz de ler os arquivos para execução / exibição.
Em geral, todos os arquivos devem estar 644
e todas as pastas deve ser 755
e deve ser propriedade do usuário seu servidor web é executado sob . O mage
executável deve receber 550
permissões para permitir a execução.
Esse script de shell deve corrigir as coisas se for executado a partir da raiz do Mage:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Fonte: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Enquanto a solução de Phil é boa, uso uma abordagem um pouco diferente. Além de tornar o usuário "php / webserver user" proprietário dos arquivos, eu crio um grupo adicional. Geralmente é chamado dev . E adiciono "usuário php" e eu e outros desenvolvedores a esse grupo dev . Então eu faço o chgrp para que todos os arquivos na subárvore do projeto Magento tenham o grupo dev . Eu adiciono + s bit às pastas que garantem que as subpastas recém-criadas tenham as mesmas permissões.
Eu criei uma essência pública com meu script fix_permissions.sh. Sinta-se à vontade para usá-lo :) Ajuda a manter toda a sua subárvore do projeto Magento com boas permissões.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
A pergunta original - var e mídia deve ter essas permissões que "o usuário php" possa ler e gravar nessas pastas. Ele deve ser capaz de gravar cache, arquivos de sessão etc. em var e deve ser capaz de gravar cache de imagens do produto e imagens na mídia. Faça o que Phil aconselha: chown ou chgrp para "php user" e dê permissões de rw para "php user".
Eu acho que é mais correto se referir ao "usuário php" no contexto do FPM (CGI). O usuário do servidor da Web pode ser diferente daquele que está executando o PHP.
/ var - magento usa para escrever dados de cache, sessão etc.
/ media - uso do magento para atualizar imagem de produto, imagem de categoria (qualquer tipo de imagem).
Portanto, você deve usar essas duas pastas para usar a permissão de leitura + gravação. Outro arquivo que você deve usar permissão de leitura + execução.
A permissão do arquivo é 644. Execute o código abaixo no diretório raiz usando o ssh. encontrar .
-type f -exec chmod 644 {} \;
A permissão da pasta é 755. Execute o código abaixo no diretório raiz usando o ssh. encontrar .
-type d -exec chmod 755 {} \;
A permissão da pasta Var é 777. Execute o código abaixo no diretório raiz usando o ssh.
chmod -R 777 var
A permissão de pasta estática é 777. Execute o código abaixo no diretório raiz usando o ssh.
chmod -R 777 pub/static
A permissão da pasta de mídia é 777. Execute o código abaixo no diretório raiz usando o ssh.
chmod -R 777 pub/media
A partir daqui: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php