Mudar um site entre servidores Linux e Windows: as diferenças que o partem

Comparações e alternativas··· 268 visualizações· 4 min de leitura

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

1 Copie ficheiros e base de dados para o destino, sem mexer no site que está no ar. Veja mudar um site à mão: ficheiros por FTP e a base de dados.
2 Teste antes de mudar o DNS. O ficheiro hosts do seu computador deixa-o ver o site novo com o domínio verdadeiro. Veja testar o site migrado antes de mudar o DNS.
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.
5 Acerte as permissões. Em Linux, a regra de partida é 644 para ficheiros e 755 para pastas. Veja o erro 403 e as permissões.

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.

Vai mudar um site de Windows para Linux e quer uma segunda opinião? Diga-nos o que ele usa.

Abrir um pedido de suporte

Nos nossos planos

Os nossos planos de alojamento partilhado (Pro, Plus, Ultra e os Business) são Linux com cPanel. Um site que dependa de tecnologia Windows, como ASP clássico, ASP.NET Framework, SQL Server ou Access, não corre neles. Para esse caso o caminho é um VPS, como a secção acima explica. Se está a trazer para nós um site que já está pronto para Linux, ou quer ajuda com a própria mudança, fale connosco sobre a migração e diga-nos o que o site usa (linguagem, base de dados e o tipo de servidor de onde vem), para lhe dizermos o que é preciso antes de mudar seja o que for.

VEJA TAMBÉM

Hospedagem Linux ou Windows: qual precisa o seu site

Testar um site migrado antes de mudar o DNS

O .htaccess em projectos PHP: URLs amigáveis e redireccionamentos

Migração de hospedagem

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 7,56 €/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.