WebApp Admin Panel incluye el scriptDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/jpbarbatic/webapp/llms.txt
Use this file to discover all available pages before exploring further.
sync.sh para automatizar el despliegue al servidor de producción mediante FTP. El script utiliza lftp, una herramienta de línea de comandos que permite espejear directorios locales en servidores remotos de forma eficiente, subiendo únicamente los archivos que hayan cambiado y excluyendo automáticamente ficheros sensibles o innecesarios como credenciales, dependencias y metadatos de Git.
Prerrequisitos
Antes de ejecutar
sync.sh asegúrate de tener instalado lftp en tu sistema:- Debian / Ubuntu:
sudo apt install lftp - macOS (Homebrew):
brew install lftp - Fedora / RHEL:
sudo dnf install lftp
Configurar .env
Las credenciales FTP se gestionan a través de un archivo.env en la raíz del proyecto. El repositorio incluye .env-ejemplo como plantilla:
.env-ejemplo es el siguiente:
| Variable | Descripción |
|---|---|
FTP_HOST | Nombre de host o dirección IP del servidor FTP, por ejemplo ftp.miservidor.com. |
FTP_USER | Nombre de usuario FTP proporcionado por tu proveedor de hosting. |
FTP_PASS | Contraseña del usuario FTP. |
FTP_LOCAL | Directorio local que se sincronizará. Usa . para sincronizar desde la raíz del proyecto. |
FTP_REMOTE | Ruta del directorio de destino en el servidor FTP, por ejemplo /public_html/webapp. |
.env completamente configurado:
Ejecutar la sincronización
Copiar .env-ejemplo a .env y rellenar las credenciales FTP
.env con tu editor y completa los cinco valores: FTP_HOST, FTP_USER, FTP_PASS, FTP_LOCAL y FTP_REMOTE.Hacer el script ejecutable
Si es la primera vez que ejecutas el script, otórgale permisos de ejecución:
Contenido completo de sync.sh
Archivos excluidos
La variableEXCLUDE del script define qué rutas omite lftp durante la sincronización. La opción -x de mirror indica a lftp que ignore cada patrón especificado:
| Patrón excluido | Motivo |
|---|---|
.git/ | Metadatos del repositorio Git. No tienen ninguna utilidad en el servidor de producción y ocupan espacio innecesario. |
config.php | Archivo de configuración local con credenciales de base de datos. Debe configurarse directamente en el servidor o subirse de forma independiente y segura. |
.env | Credenciales FTP. Subirlo al servidor expondría públicamente las contraseñas de acceso FTP. |
node_modules | Dependencias JavaScript de desarrollo. No son necesarias en el servidor. |
vendor | Dependencias PHP gestionadas por Composer. Se excluyen por su gran tamaño; lo habitual es ejecutar composer install directamente en el servidor. |
.git | Exclusión redundante del directorio .git (sin la barra final) para garantizar que ninguna variante de la ruta sea subida. |