Existem algumas causas possíveis para problemas de permissão de arquivo e pasta na hospedagem Linux.
1. Permissões de arquivo e pasta
As permissões de verificação de pasta estão definidas como 0755 e as de arquivo definidas como 0644. Observe que as permissões de arquivo e pasta podem ser redefinidas para essas configurações seguras padrão em todo o site, usando a versão gratuita ou paga do Akeeba Admin Tools.
2. Parâmetros PHP
Verifique se o parâmetro upload_max_filesize na guia Informações do PHP na Informação do sistema é suficiente. Geralmente, você pode substituir a configuração padrão em um ambiente de hospedagem compartilhada pelas configurações do PHP no cPanel ou em um php.ini
arquivo personalizado .
3. Caminhos incorretos no configuration.php
Você pode ter caminhos incorretos especificados para as pastas tmp e logs. Eles são especificados na Configuração do sistema ou podem ser atualizados diretamente no arquivo configuration.php, se você quiser editar diretamente os arquivos do sistema. Se você não souber qual deve ser o caminho, crie e faça o upload de um arquivo whereami.php
(ou similar) para a pasta raiz do seu site com o seguinte conteúdo:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Navegue para [mywebsite].com/whereami.php
ver o caminho para a pasta raiz.
Depois de ter o caminho correto, lembre-se de excluir o whereami.php
arquivo.
4. Manipulador de arquivo PHP inadequado
Sua hospedagem na web pode ser configurada com o manipulador de arquivos PHP padrão, mas deve, idealmente, usar suPHP ou FastCGI ou similar, para que o Joomla possa fazer upload e executar arquivos usando permissões de arquivo seguras.
Você pode ver em que manipulador PHP está sendo usado System -> System Information -> WebServer to PHP Interface
.
Há um bom artigo sobre os méritos relativos dos manipuladores de arquivos PHP em: http://boomshadow.net/tech/php-handlers
Em um ambiente de hospedagem compartilhada, você normalmente não tem acesso para alterar qual manipulador de arquivo PHP está ativado, mas sua empresa de hospedagem na web pode alterar isso para você.
Às vezes, como solução alternativa, as permissões de arquivo e pasta são alteradas para 0777, mas isso coloca o site em um estado vulnerável e as permissões de arquivo 0777 geralmente devem ser evitadas.
Se sua empresa de hospedagem na web não pode ativar o suPHP ou FastCGI, a única outra opção pode ser encontrar uma nova empresa de hospedagem na web.
5. Espaço em Disco
Verifique se você não excedeu sua cota de espaço em disco.
LISTA DE VERIFICAÇÃO DE PROBLEMAS
Quais são as melhores práticas recomendadas para definir permissões e propriedades no Joomla em sistemas Linux?
Veja 1 e 4.
Não é possível transferir arquivos para o servidor usando programas como o WinSCP.
Veja 1, 2, possivelmente 4 e 5.
Não é possível instalar extensões, plugins etc. do Joomla
Veja 1, 2, 3, 4 e 5.
Arquivos e pastas inseguros devido a permissões perigosas e configurações de propriedade.
Veja 1 e 4.
Por favor, verifique os níveis de permissão, deve ser 644 e 755 para arquivos e pastas, respectivamente.
Muitas vezes, os níveis de permissão são bons, mesmo quando alguns problemas são enfrentados. Isso significa que você terá que verificar a propriedade e o grupo dos arquivos e pastas específicos . Normalmente, o grupo e a propriedade podem ser alterados para www-data para apache (usado em servidores Web baseados no Ubuntu).
Sinta-se livre para conferir este interessante documento do Joomla com base na verificação das permissões do arquivo.
fonte
Uma solução fácil para mim é deixar o PHP rodar no modo CGI (rápido) e definir a propriedade do diretório Joomla para o usuário do FTP. Então você poderá fazer upload e substituir arquivos via FTP e o Joomla também poderá gravar arquivos.
Uma maneira de fazer isso em um ambiente de hospedagem compartilhada (se for permitido) é adicionar algo assim ao seu arquivo .htaccess:
Veja também uma visão geral sobre os diferentes modos .
fonte
As permissões devem ser 644 e 755, conforme explicado por Shyam.
No Joomla, você pode evitar todos os problemas mencionados, com os seguintes métodos.
Não é possível transferir arquivos para o servidor usando programas como o WinSCP.
configuration.php
tem essa permissão, que não permite por padrão (por segurança).Não é possível instalar extensões, plugins etc. do Joomla
Isso acontecerá devido à
temp/log
permissão incorreta da pasta. (Exigia 755)Ou outro motivo para o
temp/log
caminho estar erradoconfiguration.php
Arquivos e pastas inseguros devido a permissões perigosas e configurações de propriedade.
Espero que ajude ..
fonte
As permissões devem ser 644 e 755, conforme explicado por Shyam.
Os problemas que você está enfrentando provavelmente estão relacionados à maneira como o servidor está configurado. Na maioria das vezes, isso acontece em hosts compartilhados nos quais o Apache é executado sob um usuário diferente da sua conta FTP. Como você normalmente carrega o Joomla usando FTP, o Apache não é o proprietário do arquivo e, portanto, não possui as permissões necessárias para alterá-lo.
Existe um modo FTP no Joomla que permite ignorar esse problema. Você pode habilitá-lo na configuração global do Joomla. Ele fará o acesso a todos os arquivos usando o usuário FTP em vez do usuário comum do Apache.
Uma maneira melhor, no entanto, é pedir ao seu host para corrigir o problema. Eles podem configurar o PHP (Apache) para executar sob um usuário especial, que nesse caso deve ser seu usuário de FTP. Então tudo vai funcionar bem.
fonte
Sim, as permissões devem ser 644 e 755, conforme explicado por Shyam , mas os outros pôsteres esquecem de mencionar que isso ocorre se o arquivo pertencer ao seu servidor da web e o grupo ao qual você pertence.
Por exemplo, no FileZilla, você verá permissões parecidas com esta:
As permissões drwxr-xr-x são 755 (apenas ignore o dr principal, portanto é wxr-xr-x). As permissões de leitura valem 4, as permissões de gravação valem 2 e as permissões de execução valem 1 .. portanto, todas elas somam 7, e é isso que o proprietário deste arquivo possui. O grupo possui permissões de leitura e execução, mas não gravação, portanto, elas têm 5 e todos também têm 5 .. tornando as permissões 755.
754 seriam proprietários que liam, escreviam, executavam. Grupo com leitura e execução e todos com apenas permissões de leitura.
No exemplo acima, você pode ver que o proprietário do arquivo é www-data (que é o grupo de servidores Web padrão para muitos servidores Apache) e o grupo é o grupo myGroup, que é o grupo (administradores) ao qual pertenço.
O primeiro número são as permissões dos proprietários, o segundo são as permissões dos grupos e o terceiro número são as permissões de todos. Obviamente, você deve ter cuidado para conceder ao servidor da Web as permissões necessárias ... e garantir que os arquivos que precisam ser bloqueados não possam ser gravados ou executados por qualquer pessoa (o terceiro número). Abaixo está o que os números significam:
Supondo que o servidor da Web possua os arquivos, seu administrador está no grupo e, é claro, todo mundo é o terceiro número.
644: os arquivos com permissões definidas para 644 são legíveis por todos e graváveis apenas pelo proprietário do arquivo / pasta.
755: Os arquivos com permissões definidas para 755 são legíveis e executáveis por todos, mas somente graváveis pelo proprietário do arquivo / pasta.
777: Arquivos com permissões definidas para 777 são legíveis, graváveis e executáveis por todos. Não use esse conjunto de permissões, por motivos de segurança, no servidor da web, a menos que seja absolutamente necessário e apenas temporariamente. É um desastre esperando para acontecer, especialmente se um diretório tiver essas permissões .. significa que qualquer pessoa pode fazer upload de arquivos e executá-los.
Aqui estão os comandos do Linux para configurar o Joomla! permissões recomendadas na linha de comando. Permissões de arquivo Joomla recomendadas
NOTA - muitas pessoas mostrarão esses comandos sem o caminho, mas eu prefiro SEMPRE usar o caminho completo, porque se você esquecer de mudar os diretórios para o Joomla raiz! diretório de instalação e execute-os sem o caminho, você acabou de alterar as permissões para cada arquivo e diretório nesse diretório superior e criou uma enorme bagunça.
Depois de executar esses comandos, você precisará corrigir as permissões de todos os diretórios que precisam de mais permissões ... por exemplo ... usuários que carregam imagens etc.
SE VOCÊ USAR SOMENTE O JOOMLA! interface e você não tem acesso de administrador ou FTP ao servidor, USE A PROPRIEDADE e PERMISSÕES ACIMA.
PARE AQUI SE VOCÊ É NOVATO. O Abaixo é apenas para pessoas que realmente entendem o que permissões e propriedade fazem.
No entanto, acho que ter a propriedade e as permissões dessa maneira é muito impraticável, porque gosto de usar o FileZilla e uma linha de comando da sessão do Terminal na maioria das vezes, e carrego muitos arquivos manualmente. Mas não posso sobrescrever nenhum arquivo porque não os possuo e não tenho permissão para escrever. Eu poderia ter o FileZilla logado na conta do servidor web, MAS ... Eu quero que o FileZilla efetue login na minha conta, para que eu possa procurar outros diretórios também, não apenas os arquivos que o servidor da web tem acesso ... SO ... Eu mudo a propriedade e as permissões para isso:
Sou o proprietário e coloco o servidor Web no grupo ... e altero as permissões dos diretórios para 775 e dos arquivos para 664. Torna minha vida muito mais fácil ... mas não a recomendo. todos.
Se você fizer do meu jeito, estes são os comandos:
fonte
As outras respostas fornecem uma boa explicação do que deve ser feito. Quero adicionar apenas um script para corrigir as permissões se você já fez o upload de um componente e não pode acessar os arquivos com o ftp.
Nesse caso, eu faria o upload desse arquivo
fix.php
para o servidor FTP e o abriria no navegador:http://example.com/fix.php
Este script define todas as permissões do arquivo para 666 e todos os diretórios para 777. Gravável mundialmente não é o melhor conjunto de permissões para um host compartilhado, mas você poderá acessar seus arquivos novamente e poderá defini-lo com os valores corretos com o FTP.
fonte
Tarde para a festa. Eu vim aqui procurando, assim como em outros lugares, um guia definitivo sobre quais pastas precisam ser gravadas no joomla.
Desculpe pessoal por ser o prenúncio de más notícias.
O conselho para usar as permissões 755 para todos os diretórios e 644 para todas as pastas é irresponsável, no mínimo .
Tornar o proprietário de todas as suas pastas e arquivos gravável é bom, desde que o proprietário não seja o servidor da web (apache et al).
Sei que essa é uma prática recomendada comum, mas posso garantir que não é uma boa prática. O último software que você deseja gravar em pastas é o próprio servidor da web. É o servidor da web usado por hackers para tirar proveito dessa exploração que ainda não foi corrigida (ou mesmo encontrada).
Você acha que .htaccess salvará seu Kevin? Esqueça, porque você permitiu o acesso de gravação do servidor da Web, nossos queridos amigos hackers podem criar seus próprios arquivos .htaccess, dando a eles as permissões que quiserem! como Oh, eu não sei, Umm faz com que os arquivos .jpg sejam executados pelo servidor. E você pensou que proteger contra a execução de .php cobriria seu A.
Mas verifique se apenas as pastas que requerem acesso de gravação o possuem. 755 e 644 para as seguintes pastas.
E desative os arquivos .htaccess com o AllowOveride none para todas as pastas graváveis (como as acima)
Para aqueles em hospedagem compartilhada, boa sorte, pois esse é um elemento de configuração que você não pode controlar.
Não pense que fazer o arquivo .htaccess somente leitura ajudará. Se nossos amigos hackers puderem criar uma nova pasta (eles podem), eles poderão criar seu próprio .htaccess.
Para aqueles que executam hospedagem compartilhada por tudo que é sagrado, obtenha uma pista sobre segurança.
Se você não entende de segurança, saia do negócio de hospedagem que está dificultando o resto de nós.
Agora, de volta à minha busca pelo guia definitivo sobre pastas que precisam de acesso de gravação ...
fonte