Tema 5 · Terminal SSH & Git

Terminal SSH y Control de Versiones con Git en el Servidor

Aprende a conectarte a la consola remota de Linux por SSH para clonar repositorios de GitHub, actualizar código con git pull y gestionar dependencias con Composer o npm.

El Superpoder de la Terminal SSH

La gran mayoría de los planes de hosting gratuitos en Internet te obligan a subir archivos uno a uno mediante un panel web lento o bloquean cualquier tipo de consola.

Alwaysdata te proporciona una shell Linux Bash real a través del protocolo SSH (Secure Shell). Esto te permite gestionar tu servidor como un auténtico profesional de DevOps: clonar repositorios, instalar paquetes de Composer y automatizar despliegues con Git.

Cómo Conectarte por Consola SSH

Abre tu terminal favorita en tu computadora local (PowerShell en Windows, Git Bash o la terminal de macOS/Linux) y escribe el siguiente comando:

ssh tu_cuenta@ssh-tu_cuenta.alwaysdata.net

Introduce la contraseña de tu cuenta cuando te lo solicite (por seguridad, los caracteres no se mostrarán en pantalla mientras escribes) y pulsa Enter.

¡Estás dentro de Linux! Verás el prompt de bienvenida: tu_cuenta@alwaysdata:~$.

Comandos de Supervivencia Linux en el Servidor

Comando Acción que Realiza
pwd Muestra la ruta absoluta en la que te encuentras (ej: /home/tu_cuenta).
ls -lah Lista todos los archivos y carpetas, incluyendo ocultos (.env, .git).
cd www Ingresa a la carpeta raíz pública de tu sitio web.
composer install --no-dev Instala las librerías PHP de tu proyecto definidas en composer.json.
tail -f admin/logs/sites/tu_cuenta.alwaysdata.net/error.log Muestra en tiempo real los errores de PHP que ocurran en tu aplicación.

Despliegue Continuo con Git y GitHub

En lugar de arrastrar archivos por FileZilla cada vez que cambies una línea, puedes sincronizar tu servidor directamente desde tu repositorio remoto:

  1. Clonación inicial:
    cd ~
    # Si www tiene archivos por defecto, puedes respaldarla o vaciarla:
    rm -rf www/*
    git clone https://github.com/tu-usuario/tu-proyecto-backend.git www
  2. Actualización futura tras hacer `git push` desde tu PC:
    Solo debes entrar por SSH y correr:
    cd ~/www && git pull origin main

⚡ Script Bash para Despliegue Rápido en un Solo Comando (deploy.sh)

Guarda este script en tu carpeta de usuario en Alwaysdata para actualizar tu web en segundos:

deploy.sh
Solo lectura
#!/usr/bin/env bash
# ========================================================
# Script de Despliegue Automatizado - Kilopolis Backend
# Ejecución: bash deploy.sh
# ========================================================

set -e # Detener si ocurre cualquier error

echo "🚀 Iniciando despliegue en Alwaysdata..."

# 1. Ingresar a la carpeta del proyecto
cd ~/www

# 2. Descargar los cambios más recientes desde GitHub
echo " Descargando cambios desde el repositorio main..."
git pull origin main

# 3. Instalar/Actualizar dependencias de PHP (si existe composer.json)
if [ -f "composer.json" ]; then
    echo "📦 Instalando dependencias de Composer..."
    composer install --no-dev --optimize-autoloader --no-interaction
fi

# 4. Limpiar cachés de la aplicación (si aplica)
if [ -d "storage/cache" ]; then
    echo "🧹 Limpiando caché temporal..."
    rm -rf storage/cache/*
fi

echo " Despliegue completado con éxito en https://$USER.alwaysdata.net"
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
¿Qué comando de Git ejecutado en la terminal SSH de Alwaysdata te permite descargar los cambios recién subidos a GitHub?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual de Alwaysdata: Cloud Hosting & Despliegue Backend y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.