Como testar as alterações de configuração antes que elas sejam ativadas? [fechadas]

3

Sou um estudante voluntário que ajuda a manter o servidor da Web para um site pequeno, junto com alguns outros alunos. É um servidor LAMP bem padrão rodando no Ubuntu 12.04 e principalmente hospedando sites baseados em PHP.

Houve várias vezes recentemente, quando queríamos fazer uma pequena alteração na configuração, que deveria levar alguns minutos no máximo - por exemplo, alterar permissões em alguns arquivos de sites para melhorar a segurança, atualizar o certificado SSL, fazer ligeiras modificações nos arquivos de configuração, etc. - e acidentalmente bagunça em algum lugar que destrua o site inteiro. Isso geralmente resulta em um frenético 15 minutos depois de tentar recuperar o site novamente.

Felizmente, alguns minutos de inatividade não são o fim do mundo, pois é um site pequeno e não comercial. No entanto, acho que é apenas uma questão de tempo antes de estragar algo que não pode ser facilmente corrigido, e isso pode resultar em alguns problemas sérios. É claro que temos backups e também um servidor secundário, mas a restauração desses backups ainda pode demorar um tempo significativo.

Então aqui está a pergunta que eu estou querendo saber: Existe uma boa maneira de testar as alterações de configuração antes de irem ao vivo no servidor? Pensei em configurar um servidor secundário configurado exatamente da mesma maneira que o servidor primário, para que os comandos pudessem ser executados / testados no servidor secundário primeiro, mas acho que seria muito irritante garantir que os dois servidores estivessem sempre em sincronia. Existe uma maneira melhor de fazer isso, além de virtualizar tudo e trabalhar com snapshots?

    
por tlng05 05.06.2015 / 20:23

1 resposta

4

Is there a good way to test configuration changes before they go live on the server?

Sim, existe e é exatamente o que você está tentando evitar, configurando um ambiente de desenvolvimento:

  • Use o mesmo sistema operacional
  • O mesmo software instalado
  • Mesma configuração
  • Conheça as suas ferramentas e saiba o que você está fazendo. IOW invista tempo para ser exposto.
  • Por último, mas não menos importante, use o controle de origem, por exemplo, git

Basicamente, crie um espelho da sua configuração ao vivo. Então, você pode ajustar o dev até ficar satisfeito e então fazer essas mudanças no ambiente ao vivo. Poderia ficar bastante detalhado, mas de uma maneira geral é como fazer isso. Atrevo-me a dizer que esta é uma maneira padrão de fazer isso.

Is there a better way to do this, short of virtualizing everything and working with snapshots?

Poderia haver, mas eu não estou ciente de um nem usei um.

Melhor da sorte:)

    
por 05.06.2015 / 22:50