Pasos a paso para migrar servidor de aplicaciones Digitalocean — ForgeLaravel
Me encuentro en una situación no muy deseada, desarrolle y monte las aplicaciones de un cliente en mi servidor personal para demo, pero el empezó a usar las aplicaciones con data real, como esta no es es la forma correcta me dispongo a mover las aplicaciones del cliente con su respectivas bases de datos a un nuevo servidor. Este artículo es el paso a paso de esta odisea :D
Creando nuevo servidor
- Con el fin de evitar que los usuarios usen el servidor que estamos configurando, bajaremos las aplicaciones así que hay que entrar a la consola de tu servidor y poner la aplicación en modo mantenimiento.

Con lo anterior si entro a mi web veras:

2. Ir a Forge Laravel y crear tu nuevo servidor:

Esperar que el servidor se termine de aprovisionar y desplegar.
Creando Backup de bases de datos, servidor antiguo
Con el servidor ya desplegado, lo primero que haré y lo más importante para mi es migrar la base de datos, así que:
- Ingresamos al viejo servidor y generamos backup de la BD, en mi caso es postgres
Para asegurarte que es la ultima versión revisa si hay una carpeta con la fecha de hoy, si existe, borrala rm -r fecha_backup y corre el backup, luego revisa que exista la carpeta con los backup de la bd.
bash /home/forge/backups/pg_backup_rotated.sh
En ~/backups/database/postgresql/fecha queda el backup de cada una de las bases de datos del antiguo servidor.
Restaurando copia de base de datos, nuevo servidor
- Cargamos las llaves ssh(id_rsa.pub) de nuestro pc al nuevo servidor en el panel de Forge Laravel, SSH Keys
cd
cat .ssh/id_rsa.pubYa que el servidor antiguo necesita conectarse al nuevo para transferir los backup, debemos poner las llaves del antiguo servidor en el nuevo servidor
2. Ingresamos a la consola del antiguo servidor y ejecutamos:
scp -r carpetaAntiguoServidorDondeEstanBackups forge@ipNuevoServidor:~/carpetaNuevoServidorParaDejarBackups/backups/database/postgresql$
scp -r 2017-07-20-daily forge@x.x.x.x:~/backups
3. Vamos al nuevo servidor y restauramos el backup.
psqlcreate database nombreBaseDedatos;\qpg_restore -d nombreBaseDedatos nombreArchivoBackupBaseDedatos.custom
Desplegando nuestas aplicaciones
Esta parte si no la explicare a fondo, simplemente abre dos ventanas de fogeLaravel una con el sitio antiguo y en la otra crea nuevamente la aplicación.
No olvides:
- Copiar el .env anterior al nuevo sitio
- Actualizar la clave de la nueva base de datos en las nuevas variables de entorno.
- Usar el mismo dominio.
- Ir a Digitalocean/Networking, al administrador del dominio y en los registros reemplazar el antiguo servidor por el nuevo.
- No olvidar mover archivos de store o public antes de eliminar el sitio original
scp -r carpetaAntiguoServidorDondeEstanBackups forge@ipNuevoServidor:~/carpetaNuevoServidorParaDejarBackupsIMPORTANTE CONFIGURAR BACKUPS
Si en el antiguo servidor ya tenías los archivos de configuración para backup solo copia los archivos .sh y .config:
~$ scp -r backups/*.sh forge@174.138.32.189:~/backups
~$ scp -r backups/*.config 
