Guía de Migración del Proyecto Facturador
Nota: En esta guía, "facturador" se refiere al nombre del proyecto, usado para nombre de carpeta, base de datos y demás referencias.
Preparación en Servidor A
1. Preparación Inicial
# Detener el proxy del servidor
docker stop proxy_proxy_1
# Instalar herramientas necesarias
apt-get install zip unzip
# Comprimir el proyecto
zip -r facturador.zip /ruta/del/facturador
2. Preparación de Base de Datos
# Obtener el ID del contenedor MySQL
docker ps | grep mysql
# Ingresar al contenedor MySQL
docker exec -ti CONTENEDOR mysql -u root -p
# Listar bases de datos (dentro de MySQL)
show databases;
3. Extracción de Datos de Clientes
-- Ejecutar dentro de MySQL
use facturador;
select clients.number, clients.name, hostnames.fqdn, clients.email
from clients
join hostnames
where clients.hostname_id = hostnames.id;
4. Creación de Backups
# Crear backup de cada base de datos
docker exec CONTENEDOR /usr/bin/mysqldump -u root --password=ROOT_PASSWORD DATABASE > DATABASE.sql
5. Transferencia al Servidor B
# Enviar archivos al servidor destino
scp -r /CARPETA/CON/RESPALDOS USUARIO@IP:/DESTINO/SERVIDOR/B
# Ejemplo:
scp -r /backups/ root@191.162.0.2:/root/backups/
Configuración en Servidor B
1. Instalación Inicial
- Instalar el facturador mediante el script de instalación
- Registrar los clientes con los datos extraídos del Servidor A
2. Restauración de Archivos
# Copiar contenido de storage
cd /root/backups/facturador/storage/
cp -r app/certificates /root/FACTURADOR/storage/app/
cd app/public
cp -r /uploads /root/FACTURADOR/storage/app/public/
cd ..
cd tenancy/tenants
cp -r tenancy_* /root/FACTURADOR/storage/app/tenancy/tenants/
3. Configuración de Permisos
# Entrar al contenedor PHP
docker exec -ti CONTENEDOR_PHP bash
# Asignar permisos
chmod -R 777 storage
4. Restauración de Bases de Datos
# Restaurar cada base de datos
cat DATABASE.sql | docker exec -i CONTENEDOR /usr/bin/mysql -u root --password=ROOT_PASSWORD DATABASE
Notas Importantes
- Asegúrese de tener las contraseñas root de MySQL antes de comenzar
- Mantenga un registro de los datos de los clientes extraídos
- Verifique que todos los archivos se hayan transferido correctamente
- Realice pruebas después de la migración para asegurar el funcionamiento correcto