Tener tu proyecto en localhost es solo el primer paso. El verdadero reto es llevarlo a producción, donde cualquiera pueda acceder desde internet. En esta guía aprenderás a desplegar tu aplicación web de forma segura y profesional.
Repositorio en GitHub y operaciones básicas con Git
GitHub es una plataforma para alojar y colaborar en proyectos de código. Git es la herramienta que controla las versiones.
Configurar usuario
Nombre y email para commits
Inicializar repo
git init en tu proyecto
Subir a GitHub
Conectar remote y hacer push
# Configurar nombre y email (se guardan globalmente)
git config --global user.name "Gustavo Arias Solórzano"
git config --global user.email "tuemail@email.com"
# Verificar configuración
git config --global --list
# Navegar a la carpeta de tu proyecto
cd /ruta/a/tu/proyecto
# Inicializar repositorio Git
git init
# Crear archivo .gitignore para excluir archivos sensibles
echo "config.php" >> .gitignore
echo ".env" >> .gitignore
echo "uploads/*" >> .gitignore
# Añadir todos los archivos al staging
git add .
# Crear primer commit
git commit -m "feat: proyecto full-stack inicial listo para producción"
# Conectar con repositorio remoto en GitHub
git remote add origin https://github.com/tuusuario/tu-proyecto.git
# Establecer rama principal y subir
git branch -M main
git push -u origin main
Resultado: Tu código ahora está versionado y disponible en GitHub para mostrar a empleadores o colaborar con otros desarrolladores.
Añade al .gitignore: config.php, .env,
vendor/ y cualquier archivo con contraseñas o claves API.
Preparación del entorno de producción
Antes de subir tu app, asegúrate de que el servidor esté listo:
- PHP: versión compatible (7.4 o superior recomendada)
- MySQL: base de datos creada con usuario y permisos
- phpMyAdmin: acceso para importar/exportar bases de datos
- Permisos de carpetas: 755 para directorios, 644 para archivos
- SSL/HTTPS: certificado activo para conexiones seguras
├── index.php
├── config.php (fuera de web si es posible)
├── /app
│ ├── /models
│ ├── /views
│ └── /controllers
├── /assets
│ ├── /css
│ ├── /js
│ └── /img
└── /uploads (permisos 755)
• display_errors = Off en producción
• Credenciales de BD actualizadas para el servidor
• Rutas relativas verificadas (no usar C:\xampp\...)
• Archivos de log configurados para depuración segura
Exportación e importación de BD en servidor compartido
📤 Exportar desde localhost
- Abre phpMyAdmin en localhost
- Selecciona tu base de datos
- Ve a la pestaña Exportar
- Elige método Rápido o Personalizado
- Formato: SQL (por defecto)
- Click en Continuar y descarga el archivo
📥 Importar en producción
- Abre phpMyAdmin en tu hosting
- Crea una nueva base de datos
- Selecciona la BD recién creada
- Ve a la pestaña Importar
- Selecciona el archivo .sql exportado
- Click en Continuar para ejecutar
// config.php - Versión para producción
<?php
$servername = "localhost"; // En hosting compartido suele ser localhost
$username = "usuario_hosting"; // Usuario creado en panel de hosting
$password = "contraseña_segura"; // Contraseña del usuario de BD
$dbname = "nombre_base_datos"; // Nombre exacto de la BD en hosting
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
error_log("Error de conexión: " . $conn->connect_error);
die("Error de conexión. Intenta más tarde.");
}
?>
Transferencia de archivos mediante FTP con FileZilla
FileZilla es un cliente FTP gratuito y multiplataforma para subir archivos al servidor.
# Datos que necesitas (proporcionados por tu hosting):
Servidor (Host): ftp.tudominio.com o IP del servidor
Usuario: usuario@tudominio.com
Contraseña: tu_contraseña_ftp
Puerto: 21 (FTP) o 22 (SFTP recomendado)
# En FileZilla:
1. Abre el programa
2. Ingresa los datos en la barra superior
3. Click en "Conexión rápida"
4. Verifica que aparezcan tus archivos del servidor a la derecha
Tip: Usa SFTP (puerto 22) en lugar de FTP tradicional para transferencias cifradas y más seguras.
Subir archivos al servidor:
- A la izquierda: tus archivos locales en tu computadora
- A la derecha: archivos del servidor remoto
- Navega a
public_html(o la carpeta raíz de tu dominio) - Arrastra y suelta tu proyecto desde la izquierda hacia la derecha
- Espera a que termine la transferencia (barra inferior)
• Subir a la carpeta equivocada (no es public_html)
• Olvidar archivos ocultos como .htaccess
• Permisos incorrectos en carpetas de uploads
• No actualizar config.php con credenciales de producción
Verifica que todo funcione
Una vez subido tu proyecto, realiza estas pruebas esenciales:
Visita https://tudominio.com y verifica que la página principal cargue
sin errores.
Prueba el login y registro: ¿se crean usuarios en la BD de producción?
Solicita recuperación de contraseña: ¿llega el correo al destinatario?
Crea, lee, actualiza y elimina registros: ¿se reflejan los cambios en la BD?
Si algo falla, revisa los logs de error de tu hosting (usualmente en
public_html/error_log o desde el panel de control).
Nunca muestres errores detallados al usuario final.
🎉 ¿Has completado el ciclo full-stack?
¡Felicidades! Has recorrido todo el camino: desde los fundamentos hasta el despliegue en producción. Ahora puedes crear aplicaciones web completas y llevarlas al mundo real.
🚀 Lo que puedes hacer ahora:
- Mostrar tu proyecto a empleadores como portafolio
- Conseguir clientes freelance con sistemas reales
- Iterar y mejorar tu aplicación con nuevas funcionalidades
- Aplicar a trabajos junior con experiencia demostrable
📚 ¿Quieres la versión completa del libro?
Esta guía es una versión resumida del libro "Programación Full-Stack", que incluye el código completo del sistema de login, ejercicios resueltos y explicaciones profundas de despliegue.
Comprar en Amazon →¿Tienes dudas sobre FTP, Git o despliegue en producción? ¡Déjalas en los comentarios! 👇