Servidores reales
Hosting, FTP, paneles de control, subida de proyectos y la configuración que hace que una web funcione de verdad en internet.
0 / 5 lecciones completadas (0%)
Qué es un hosting
Lección 02FTP (FileZilla)
Lección 03MySQL en paneles reales
Lección 04Subida de proyectos
Lección 05Rutas, permisos y configuración
Qué es un hosting
Un hosting es un ordenador especial, siempre encendido y conectado a internet, que guarda los archivos de tu web para que cualquier persona del mundo pueda visitarla. Contratar hosting es literalmente «alquilar espacio» en uno de esos ordenadores, normalmente en un centro de datos.
Tu ordenador (desarrollo) -> FTP -> Servidor de hosting (produccion)
index.html index.html
estilos.css se copian a estilos.css
script.js script.js
+ base de datos MySQL
+ PHP instalado
+ direccion propia (dominio)
¿Cuál es la función principal de un hosting?
FTP (FileZilla)
FTP (File Transfer Protocol) es el sistema que se usa para enviar archivos desde tu ordenador hasta el servidor de hosting. FileZilla es un programa gratuito que muestra dos columnas: a la izquierda tus archivos locales, a la derecha los del servidor, y permite arrastrar de una a otra.
Datos tipicos de conexion FTP:
Servidor: ftp.tudominio.es
Usuario: tu_usuario_ftp
Contrasena: **********
Puerto: 21 (o 22 si es SFTP, mas seguro)
Pasos en FileZilla:
1. Introduce los datos y pulsa "Conexion rapida"
2. Localiza la carpeta publica (a menudo llamada public_html o www)
3. Arrastra tus archivos locales hacia esa carpeta
Antes de conectar por FTP, comprueba:
- Tienes el usuario y la contraseña FTP proporcionados por el hosting
- Sabes cuál es la carpeta pública del servidor (normalmente public_html)
- Usas SFTP (puerto 22) en vez de FTP normal si el hosting lo permite, por seguridad
- Nunca compartes tus credenciales FTP con nadie
MySQL en paneles reales
La mayoría de hostings ofrecen un panel de control (como cPanel o Plesk) con una sección para crear bases de datos MySQL sin usar comandos. Desde ahí se crea la base de datos, un usuario con contraseña, y se le asignan permisos sobre esa base de datos concreta.
En cPanel, la ruta habitual es:
Bases de datos MySQL -> Crear nueva base de datos: digitomenores_bd
Cuentas MySQL -> Anadir nuevo usuario: digitomenores_user
Anadir usuario a base de datos -> marcar "TODOS LOS PRIVILEGIOS"
Con esos tres datos (base de datos, usuario, contrasena) tu PHP
ya puede conectarse igual que en el ejemplo de PDO del Modulo 2.
¿Por qué se crea un usuario de base de datos distinto del usuario del panel de hosting?
Subida de proyectos
Subir un proyecto completo no es solo copiar archivos: también hay que revisar que las rutas funcionen en el servidor (que suele ser sensible a mayúsculas/minúsculas, a diferencia de Windows), que la base de datos esté creada y que los datos de conexión en el PHP apunten al servidor real, no a «localhost».
Checklist de subida:
1. Comprimir o preparar la carpeta local final
2. Conectar por FTP/SFTP
3. Subir todo a public_html (o la carpeta indicada por el hosting)
4. Crear la base de datos en el panel y ejecutar el archivo .sql inicial
5. Actualizar host, usuario y contrasena en el archivo de conexion PHP
6. Visitar el dominio real y probar cada seccion
Lista de comprobación final antes de dar la web por publicada:
- Todas las páginas cargan sin error 404
- Las imágenes y el CSS se ven correctamente
- Los formularios envían y guardan datos en la base de datos real
- No quedan credenciales de prueba ni datos de ejemplo visibles
Rutas, permisos y configuración
En un servidor, cada archivo y carpeta tiene permisos que determinan quién puede leerlo, escribirlo o ejecutarlo. Además, un archivo especial llamado .htaccess (en servidores Apache) permite configurar redirecciones, seguridad o páginas de error personalizadas.
Permisos tipicos en Linux (servidor):
Carpetas: 755 (el propietario puede escribir, los demas solo leer/entrar)
Archivos PHP: 644 (lectura para todos, escritura solo el propietario)
Carpetas de subida (uploads): 755 o 775 segun necesite escribir el propio PHP
Ejemplo de .htaccess para redirigir a HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
¿Qué riesgo hay si una carpeta tiene permisos demasiado abiertos (por ejemplo 777)?