I wanted a seamless procedure to update web sites and web applications without compromising security. Eu queria um processo sem costura para atualizar sites e aplicações web sem comprometer a segurança. The development server is under a firewall and so is the production server. O servidor está em desenvolvimento um firewall e assim é a produção servidor. Also the changes should be merged bi-directionally. Também as alterações devem ser fundidas bi-directionally. I had few options like subversion or unison. Eu tinha poucas opções como subversão ou uníssono. I chose subversion because of greater familiarity and also because all of our source code is maintained in Subversion. Eu escolhi porque subversão de uma maior familiaridade e também porque todos os nossos código-fonte é mantida em Subversion. Here are the simple steps which you too can use to keep your production and development server in sync. Aqui estão os passos simples que você também pode usar para manter a sua produção e ao desenvolvimento servidor em sincronia.

The requirements are: Os requisitos são os seguintes:
1. Subversion should be installed on both the machines Subversion deve ser instalado em ambas as máquinas
2. You should be able to allow certain IP addresses in your development server machine Você deve ser capaz de permitir que determinados endereços IP no seu desenvolvimento máquina servidor
3. Apache running on development server and configured to allow access to Subversion repository.* Servidor Apache rodando em desenvolvimento e configurado para permitir o acesso ao repositório Subversion .*

*My development server runs Apache which is configured to allow access to Subversion repository. * Minha desenvolvimento servidor Apache é executado, que é configurado para permitir o acesso ao repositório Subversion. This is simple to setup and so I will not dwell upon it. Isto é fácil de configurar e assim eu não vou me debruçar sobre ele.

The firewall is configured separately for two subnets. O firewall é configurado separadamente para as duas sub-redes. The subnet identified as internet is not allowed to access any internal servers. O sub-rede Internet identificados como não é permitido o acesso a quaisquer servidores internos. However I added the IP address of my production server as a trusted host which essentially punched a hole in the firewall to allow my production server to access my development server. No entanto Eu adicionei o endereço IP da minha produção como um servidor confiável acolhimento que basicamente perfurado um buraco no firewall para permitir que a minha produção servidor para acessar a minha evolução servidor.

With this simple setup all that is required is to checkout the files on the production server. Com esta configuração simples tudo o que é necessário é a saída dos arquivos no servidor de produção. I can make changes to the files from any development machines or even the production machine. Posso fazer alterações para os arquivos de qualquer desenvolvimento máquinas ou até mesmo a produção máquina. After testing the files are committed and then the production server is updated with a single command (svn update). Depois de testar os arquivos são cometidos e, depois, a produção servidor está atualizado com um único comando (svn update).

BTW: If you are unfamiliar with Subversion you may find it easier to understand with my BTW: Se você não estiver familiarizado com Subversion poderá encontrá-lo mais fácil de se entender com os meus 5 minutes guide to subversion 5 minutos guia de subversão .

The downside of this approach is that subversion creates tons of files for its own use (in .svn directories) which consumes space and may create problems for web hosting palns with low disk space. A desvantagem desta abordagem é que cria subversão de toneladas de arquivos para seu próprio uso (em. Svn diretórios), que consome espaço e pode criar problemas para a web hosting palns com baixa espaço em disco. For an alternative you can try using Unison. Por uma alternativa você pode tentar utilizar Unison.

Note: The security of the process can be further improved by transferring the data through ssh tunnel only. Nota: A segurança do processo pode ainda ser melhorada através da transferência de dados através do túnel ssh apenas.