Crear un server web local de testing local

Lo que estamos tratando de lograr es tener un server web interno basado en Linux (probablemente Ubuntu) que podamos probar antes de enviarlo a nuestro server de hosting dedicado remoto.

El problema al que nos enfrentaremos es que, en este momento, lo que hacemos funciona porque editamos localmente (en ocasiones, grandes sitios web) en nuestros Macs y Coda los files editados y nos permite publicar los files modificados en el sitio en vivo (también mantener y actualizar un repository de SVN remoto para cada proyecto).

Cuando implementamos un LAMP en el server de la casa, no podemos encontrar la forma de enviarlo eficientemente a la máquina local y luego presionar al server remoto cuando estamos contentos.

Una cosa en la que pensamos fue crear (de alguna manera) una carpeta de alias en networking que puede sentarse como el directory "local" en Coda y la carpeta public_html en apache (en el server web). Esto significa que trabajamos directamente desde la carpeta en vivo local y solo hacemos clic en "publicar" cuando queremos hacer los cambios en vivo. No estoy seguro de qué tan posible es esto, y si todos trabajamos desde el server, entonces podría haber problemas de networking y de todo tipo, sin mencionar si dos personas intentaran editar el mismo file a la vez.

Lo que sería realmente útil sería tener algún tipo de software que marque cambios en el server local y luego enviarlos al server en vivo cuando nos complace hacerlo. ¿Hay algo así por ahí?

¿O hay otra forma de hacer esto? Sería bueno saber lo que otras personas hacen para evitar este problema. Supongo que otras compañías publican en un server de testing antes de publicar los cambios en vivo. Lo que no queremos tener que terminar es a) publicar el sitio ENTERO cada vez que hacemos cambios ob) tener que escribir todos los files que cambiamos y publicarlos por separado (a través de un cliente FTP o similar).

Gracias chicos

(pd: no estoy seguro si esto es completamente apropiado para este sitio de SE. Empecé con una pregunta específica de Linux y la generalicé para get ayuda para este problema)

El software para impulsar cambios de forma incremental es rsync .

Si bien esto responde a la pregunta que hizo, no es el mejor método. Por ejemplo, no habrá ninguna protección contra la edición simultánea. Más bien, debe hacer que el server web revise desde la subversión. Asegúrese de prohibir el acceso a los directorys .svn en .htaccess . Permita que los desarrolladores activen una acción de "comprobación de esta buena revisión conocida" en el server en vivo.