Tema 15 · Servidor Local & XAMPP

Configuración y Pruebas con FileZilla FTP Server en XAMPP Local

Aprende a arrancar el servicio de FileZilla Server incluido en XAMPP, crear usuarios, asignar carpetas compartidas y probar transferencias locales con FileZilla Client.

¿Para qué Sirve FileZilla Server en XAMPP?

Cuando instalas XAMPP y marcas la casilla FileZilla FTP Server, conviertes tu propia computadora en un servidor FTP capaz de recibir conexiones y archivos desde otros equipos de tu red local (LAN) o para probar flujos de subida automatizados en tus aplicaciones PHP sin gastar en hosting.

Paso 1: Arrancar el Servicio en el Panel de XAMPP

  1. Abre el Panel de Control de XAMPP con permisos de Administrador.
  2. En la fila de FileZilla, haz clic en el botón Start.
  3. Los puertos asignados (normalmente 21 y 14147) aparecerán en verde.
  4. Haz clic en el botón Admin para abrir la interfaz administrativa de FileZilla Server.
  5. Se abrirá una ventana de inicio de sesión: el Host es 127.0.0.1 y el puerto administrativo es 14147. Haz clic en Connect (de fábrica no requiere contraseña de administración inicial).

Paso 2: Crear un Usuario y Compartir una Carpeta

  1. En la ventana del servidor, ve al menú superior: Edit ➔ Users (o haz clic en el icono de la silueta de usuario).
  2. En la categoría General, haz clic en Add y escribe un nombre de usuario (ejemplo: alumno_ftp).
  3. Marca la casilla Password y define una contraseña segura.
  4. Ve a la categoría Shared folders (Carpetas compartidas) en la barra lateral izquierda.
  5. Haz clic en Add y navega hasta una carpeta física de tu equipo (por ejemplo: C:\xampp\htdocs\subidas).
  6. Haz clic en el botón Set as home dir (marcado con una H).
  7. En el cuadro de la derecha, marca los permisos deseados:
    • Files: Read (Leer), Write (Escribir), Delete (Borrar).
    • Directories: Create (Crear), Delete (Eliminar), List (Listar contenido).
  8. Haz clic en OK para aplicar los cambios.

Paso 3: Probar la Conexión desde FileZilla Client

Abre tu aplicación habitual FileZilla Client e ingresa en la Barra de Conexión Rápida:

  • Servidor: 127.0.0.1 (o localhost)
  • Nombre de usuario: alumno_ftp
  • Contraseña: la contraseña que definiste en el paso anterior
  • Puerto: 21

Haz clic en Conexión rápida: ¡verás la carpeta de tu computadora listada en el panel remoto como si fuera un servidor de hosting en internet!

⚡ Script PHP para Subir Archivos Localmente al Servidor FTP

Ejemplo práctico en PHP utilizando las funciones nativas ftp_* para automatizar subidas a tu FileZilla Server de XAMPP:

probar-ftp-local.php
Solo lectura
<?php
// Parámetros de conexión al servidor FileZilla de XAMPP
$servidor_ftp = "127.0.0.1";
$puerto_ftp   = 21;
$usuario_ftp  = "alumno_ftp";
$clave_ftp    = "MiClaveSegura123";

// Establecer conexión básica
$conexion_id = ftp_connect($servidor_ftp, $puerto_ftp, 10);
if (!$conexion_id) {
    die("<p style='color:red;'>Error: No se pudo conectar al servidor FTP local en el puerto 21.</p>");
}

// Iniciar sesión con usuario y clave
$login_exitoso = ftp_login($conexion_id, $usuario_ftp, $clave_ftp);
if (!$login_exitoso) {
    die("<p style='color:red;'>Error: Credenciales de usuario FTP incorrectas.</p>");
}

// Activar modo pasivo obligatorio
ftp_pasv($conexion_id, true);

echo "<p style='color:green;'><strong>✔ Conexión Exitosa:</strong> Autenticado correctamente en FileZilla Server.</p>";

// Listar archivos en la carpeta compartida
$archivos = ftp_nlist($conexion_id, ".");
echo "<h3>Archivos en el Servidor FTP:</h3><ul>";
foreach ($archivos as $archivo) {
    echo "<li>" . htmlspecialchars($archivo) . "</li>";
}
echo "</ul>";

// Cerrar conexión
ftp_close($conexion_id);
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
En la configuración de FileZilla FTP Server en XAMPP, ¿por qué es obligatorio asignar el atributo "Set as home dir" a una carpeta compartida?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual de FileZilla: FTP, SFTP & Despliegue Web 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.