Um site só de HTML, CSS e JavaScript muda de Linux para Windows (ou o contrário) sem problemas. Um site com PHP ou base de dados costuma funcionar, mas parte em meia dúzia de pontos sempre iguais: maiúsculas e minúsculas nos nomes dos ficheiros, barras nos caminhos, o ficheiro de configuração do servidor e a base de dados. Quem conhece esses pontos resolve a mudança numa tarde.
Este artigo é para quem já tem o site e vai mudá-lo de sistema. Se ainda está a decidir qual escolher, leia antes hospedagem Linux ou Windows.
Onde costuma partir
| Ponto |
No Windows |
No Linux |
O que se vê |
| Maiúsculas nos nomes |
Logo.PNG e logo.png são o mesmo ficheiro. |
São dois ficheiros diferentes. |
Imagens e estilos que desaparecem só depois da mudança. |
| Barra nos caminhos |
Aceita \ e /. |
Só /. |
Erro de ficheiro não encontrado em código com \. |
| Configuração do servidor |
IIS lê o ficheiro web.config. |
Apache e LiteSpeed leem o .htaccess. |
Regras de URLs amigáveis e redireccionamentos deixam de funcionar. |
| Nomes de tabelas |
Não distinguem maiúsculas. |
Distinguem, por omissão. |
Uma consulta a Users falha se a tabela se chama users. |
| Fim de linha |
CRLF. |
LF. |
Scripts de shell que recusam correr. |
| Permissões |
Por listas de acesso. |
Por números (por exemplo 644 e 755). |
Erro 403 ou 500 em ficheiros que existem. |
A ordem para mudar sem sustos
| 3 |
Percorra o site com o registo de erros aberto. Cada imagem em falta, cada «página não encontrada» e cada erro 500 aponta para um dos pontos da tabela. Veja erros de sites explicados.
|
|
| 4 |
Reescreva as regras de URLs. As regras do web.config não se copiam: traduzem-se para o .htaccess (ou o contrário). Veja o .htaccess em projectos PHP.
|
|
O que não atravessa a fronteira
Há tecnologias ligadas ao sistema. O ASP e o ASP.NET clássico correm em Windows; o ASP.NET Core corre nos dois, mas tem de ser publicado para o sistema de destino. Bases de dados em SQL Server ou Access têm de ser convertidas para MariaDB ou PostgreSQL antes de passarem para uma conta em Linux. As tarefas agendadas do Windows passam a cron no Linux. Se o seu site depende de uma destas, o caminho para Windows é um VPS: veja publicar um site no Windows Server com o IIS.
|
Vindo do Windows, o problema das maiúsculas é o mais traiçoeiro. No seu computador tudo funciona, porque o sistema não distingue. No Linux, uma ligação para Imagens/Logo.png não abre uma pasta que se chama imagens. Procure no código as referências a ficheiros e compare com os nomes reais.
|
|
Ponha tudo em minúsculas. Nomes de ficheiros, pastas e tabelas em minúsculas, sem espaços nem acentos, funcionam em qualquer sistema. É a melhor prevenção para a próxima mudança.
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |