Basicamente eu estou querendo saber qual é a configuração mais comum do servidor para uma empresa da web. Na empresa eu trabalho agora temos 1 servidor com todos os sites dos nossos clientes. Às vezes trabalhamos localmente e carregamos, mas 9 de cada 10 acabam desenvolvendo no próprio servidor ao vivo. Agora, isso não é ideal e causa todos os tipos de problemas, sem mencionar a dificuldade em encontrar problemas (devido a logs estarem obstruídos com erros de depuração, etc.).
Eu tenho ouvido muito sobre pessoas que possuem servidores de produção, servidores de teste e servidores de desenvolvimento e estou pensando que esse seria o caminho a seguir.
A configuração que estou pensando é:
Servidor de produção - somente os sites ao vivo aceitam isso. Ninguém tem acesso ao FTP, exceto o administrador do servidor. O phpSuExec é instalado para que cada site seja executado como seu próprio usuário. O servidor é altamente otimizado. Todas as portas desnecessárias desativadas, etc.
Servidor de armazenamento temporário - clone do servidor de produção, sem phpSuExec, mas ainda acesso restrito.
Servidor de desenvolvimento - servidor interno usado por todos os funcionários. Sem restrições de FTP, pode instalar software de ajuda à produtividade como SASS, xdebug e ter regras de segurança menos restritivas, etc.
O fluxo de trabalho seria: todo mundo trabalha no servidor de desenvolvimento. Quando o site precisa ser visualizado pelo cliente ou testado em um ambiente de produção, ele é movido para o servidor de temporariedade. Se houver problemas, retorne ao servidor de desenvolvimento, corrija os problemas e retorne ao servidor de temporariedade. Então, quando todos os problemas forem corrigidos e o cliente estiver satisfeito, moveremos o site para o servidor de produção.
Eu estaria interessado em quaisquer conselhos / armadilhas do sistema acima, e como outras empresas fazem isso.
Todos os servidores são LAMP, executando o Ubuntu