Plan Despega iA
- HTML, CSS y JavaScript.
- Pruebas sencillas con GitHub.
- Subida manual o cPanel Git Version Control.
- No recomendado para desarrollo activo constante.
Esta guía explica cómo trabajar un proyecto creado con IA usando GitHub y publicarlo en Hospedame. Git es una forma de guardar versiones; GitHub es donde guardas el proyecto en línea; deploy significa publicar los cambios en tu sitio.
El plan recomendado para este flujo es Plan Crea iA, porque incluye más espacio, PHP, MySQL, Git Version Control y Shell/Jailed Shell activo.
Ambos planes incluyen cPanel, Git Version Control y Shell/Jailed Shell activo. Plan Despega iA sirve para probar Git con sitios sencillos. Plan Crea iA es mejor cuando harás cambios frecuentes, usarás Codex continuamente o tu sitio necesita PHP/MySQL.
Este modelo es para usuarios principiantes o intermedios que prefieren entrar a cPanel y dar clic para actualizar, sin publicar desde terminal.
Update from Remote significa que cPanel baja los cambios desde GitHub. Deploy HEAD Commit significa que cPanel publica esos cambios en el sitio.
Este archivo le dice a cPanel a qué carpeta debe copiar los archivos publicados. La ruta debe verificarse dentro de cPanel.
---
deployment:
tasks:
- export DEPLOYPATH=/ruta/real/del/sitio/
- /bin/cp -R ./* $DEPLOYPATH
- /bin/cp -R ./.htaccess $DEPLOYPATH 2>/dev/null || true
La ruta puede ser parecida a estas opciones genéricas:
Este modelo es más administrado. Sirve cuando se quiere que el servidor haga git fetch y git reset desde GitHub con un script, conservando archivos reales como config.php o .env solo en el servidor.
Este modelo se configura desde el servidor. La idea es que Hospedame o un técnico autorizado conecte tu cuenta con GitHub usando una llave SSH exclusiva del proyecto.
La ruta puede variar por cuenta, por eso no conviene adivinarla. Ejemplos genéricos:
pwd ls -la find ~ -maxdepth 4 -type d -name "public_html" 2>/dev/null find ~ -maxdepth 4 -type d -name "subdominio.tudominio.com" 2>/dev/null
command -v git || echo "Git no está disponible" git --version
Cada proyecto debe tener su propia llave SSH. La llave privada se queda en el servidor y nunca debe publicarse ni compartirse.
ssh-keygen -t ed25519 -C "hosting-proyecto-githubpull" -f ~/.ssh/github_proyecto_key cat ~/.ssh/github_proyecto_key.pub
En GitHub entra al repositorio y ve a Settings → Deploy keys → Add deploy key. Agrega la llave pública y deja Allow write access sin marcar, porque el servidor solo necesita descargar cambios.
El alias evita mezclar llaves entre proyectos y hace más clara la conexión con GitHub.
Host github-proyecto HostName github.com User git IdentityFile ~/.ssh/github_proyecto_key IdentitiesOnly yes
Después se ajustan permisos y se prueba la conexión:
chmod 700 ~/.ssh chmod 600 ~/.ssh/config chmod 600 ~/.ssh/github_proyecto_key chmod 644 ~/.ssh/github_proyecto_key.pub ssh -T git@github-proyecto
Antes de ejecutar comandos, confirma que estás en la carpeta correcta con pwd. Después inicializa Git y conecta el repositorio.
cd /ruta/real/del/proyecto git init git branch -M main git remote add origin git@github-proyecto:USUARIO_GITHUB/NOMBRE_REPOSITORIO.git git remote -v
Si ya existía el remoto origin, usa:
git remote set-url origin git@github-proyecto:USUARIO_GITHUB/NOMBRE_REPOSITORIO.git
El archivo .gitignore ayuda a evitar que configuraciones reales, logs, backups y dependencias pesadas se suban a GitHub.
# Sistema .DS_Store __MACOSX/ # Configuración sensible .env config.php app/config.php database.php # Logs y temporales *.log tmp/ temp/ cache/ storage/logs/ storage/cache/ # Backups y paquetes *.zip *.tar *.tar.gz *.bak # Dependencias vendor/ node_modules/
Cada proyecto debe tener su propia carpeta, repositorio, llave SSH, script update-proyecto.sh, archivo .gitignore y archivo de log.
Los archivos sensibles viven solo en el servidor:
En GitHub solo debe haber ejemplos sin contraseñas:
Este ejemplo usa rutas genéricas. No pegues rutas reales, tokens, llaves ni datos privados en documentación pública.
#!/bin/bash set -e APP_PATH="/ruta/real/del/proyecto" LOG_FILE="$APP_PATH/update.log" BACKUP_DIR="$HOME/private_backups/proyecto-config" mkdir -p "$BACKUP_DIR" cd "$APP_PATH" echo "===================================" >> "$LOG_FILE" echo "Update iniciado: $(date)" >> "$LOG_FILE" if [ -f .env ]; then cp .env "$BACKUP_DIR/.env.last-good" fi if [ -f config.php ]; then cp config.php "$BACKUP_DIR/config.php.last-good" fi if [ -f app/config.php ]; then mkdir -p "$BACKUP_DIR/app" cp app/config.php "$BACKUP_DIR/app/config.php.last-good" fi git fetch origin main >> "$LOG_FILE" 2>&1 git reset --hard origin/main >> "$LOG_FILE" 2>&1 if [ -f "$BACKUP_DIR/.env.last-good" ]; then cp "$BACKUP_DIR/.env.last-good" .env fi if [ -f "$BACKUP_DIR/config.php.last-good" ]; then cp "$BACKUP_DIR/config.php.last-good" config.php fi if [ -f "$BACKUP_DIR/app/config.php.last-good" ]; then mkdir -p app cp "$BACKUP_DIR/app/config.php.last-good" app/config.php fi echo "Update terminado: $(date)" >> "$LOG_FILE"
Si tu proyecto requiere procesos especiales, Node.js persistente, APIs avanzadas, automatizaciones pesadas o configuración personalizada, Hospedame puede orientarte para una solución administrada o VPS. Para empezar, la mayoría de páginas creadas con IA pueden iniciar con Plan Despega iA o Plan Crea iA.
Para proyectos que no cambian todos los días, lo más claro es actualizar manualmente. Si el proyecto se actualiza con frecuencia, se puede revisar un cron cada 15 o 30 minutos.
ssh USUARIO_CPANEL@HOST_DEL_SERVIDOR ~/bin/update-proyecto.sh
ssh USUARIO_CPANEL@HOST_DEL_SERVIDOR "~/bin/update-proyecto.sh"
ssh USUARIO_CPANEL@HOST_DEL_SERVIDOR "tail -n 50 /ruta/real/del/proyecto/update.log"
Úsalo solo si de verdad necesitas actualizaciones automáticas. Para un sitio institucional, manual suele ser suficiente.
pwd git remote -v git branch git status --short git log --oneline -5 ssh -T git@github-proyecto tail -n 50 /ruta/real/del/proyecto/update.log
En Mac y Linux puedes usar la terminal integrada para generar llaves SSH, clonar repositorios, hacer commits y enviar cambios a GitHub. Esta ruta ya es compatible con el flujo de cPanel Git Version Control.
La versión para Windows usa Git for Windows y Git Bash, porque sus comandos son muy parecidos a Mac y Linux. También puedes publicar desde la interfaz de cPanel.
Este flujo es para editar tu sitio desde Windows, subir cambios a GitHub y después publicar desde cPanel.
git config --global user.name "Tu Nombre" git config --global user.email "tu-correo@ejemplo.com" git config --global --list
ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com" cat ~/.ssh/id_ed25519.pub ssh -T git@github.com
Agrega la llave pública en GitHub desde Settings → SSH and GPG keys → New SSH key. No compartas la llave privada.
mkdir -p ~/Documents/ProyectosWeb cd ~/Documents/ProyectosWeb git clone git@github.com:USUARIO_GITHUB/NOMBRE_REPOSITORIO.git cd NOMBRE_REPOSITORIO git status git remote -v
git status git add . git commit -m "Crear primera version del sitio" git push origin main
Si tu sitio es HTML simple, puedes abrir index.html en el navegador. Si usa PHP y tienes PHP instalado localmente, puedes probar con:
php -S localhost:8000