Há muito envolvido na "migração de um aplicativo de um servidor para outro" - não há realmente nenhuma maneira de respondermos a isso de forma abrangente em todos os casos de uso. Você pode respondê-lo de maneira bastante abrangente para a sua configuração, se a abordar sistematicamente:
- Faça uma lista de tudo o que seu aplicativo precisa.
- Servidor web?
- Servidor de banco de dados?
- Servidor de e-mail?
- Linguagem de script (PHP, Ruby / Rails, Perl, outra coisa)?
- Programas auxiliares (ImageMagick, etc.)?
- Faça uma lista de itens de configuração importantes.
- Endereço IP, máscara de rede, gateway etc.
- Servidores DNS
- Itens específicos do aplicativo (diretórios temporários, etc.)
- Pegue as listas de (1) e (2) e escreva um esboço da migração.
Isso deve incluir coisas como instalar e configurar qualquer software / pacote necessário, descarregar e carregar o banco de dados, etc.
- TESTE A MIGRAÇÃO
Copie tudo como você faria se o servidor fosse ao ar, mas não o faça ao vivo. Coloque-o em uma rede isolada quando terminar e teste tudo.
Se você tiver um procedimento de teste padrão para seu aplicativo, execute-o no servidor migrado.
- Se tudo não correu perfeitamente, vá para (3), atualize (1) e (2) e depois revise seu plano.
- Quando as migrações de teste forem perfeitas, faça a migração real.
Dependendo da complexidade do processo de migração, isso pode significar apenas descartar e recarregar um banco de dados ou você pode limpar a máquina e fazer tudo do zero.
Quando terminar, você terá uma lista de verificação para seu aplicativo específico, em seu ambiente específico. Essa lista de verificação provavelmente evoluirá à medida que você desenvolver o aplicativo, mas poderá servir como ponto de partida em 3 a 5 anos quando você precisar migrar novamente.
Outras coisas a considerar incluem a implementação do gerenciamento de configurações, ala Puppet ou Chef.
(Se você for "o administrador do sistema", deve considerá-los; caso contrário, passe-os para a pessoa / equipe responsável.)