Ver índice
 Instalación del servidor FileZilla FTP

        Ocultar índice  

   Índice de contenidos
   Instalación en Windows
   Instalación en Ubuntu
   Servidores seguros
   Páginas dinámicas
   Sintaxis básica
   Operaciones
   Arrays
   Formatos de presentación
   Operadores
   Bucles
   Extraer y ord. información
   Funciones
   Ficheros externos
   Imágenes dinámicas
   Gestión de directorios
   Cookies y sesiones
   Clases y objetos
   Ficheros en formato PDF
   Bases de datos MySQL
   PHP y XML
   PDO - Bases SQLite / MySQL
   MySQL a traves de misqli
   Algo de JavaScript y AJAX


¿Qué es un servidor FTP?

Conceptualmente un servidor FTP no difiere en nada de un servidor HTTP. Las diferencias entre los diversos tipos de servidores estriban en los programas que usan –software de servidor– en el tipo de petición que aceptan y en el protocolo que requieren las peticiones que atiende.

En el caso de Apache se trata de un servidor HTTP porque sólo acepta peticiones a través de ese protocolo. Al hablar de servidores FTP nos referimos a aquellos que únicamente aceptan peticiones realizadas por medio del protocolo conocido como FTP (File Transfer Protocol). Como en todos los demás casos, la comunicación cliente-servidor requiere el uso por parte de ambos del software adecuado a su protocolo concreto.

Clientes FTP

Para hacer una petición FTP, igual que en cualquier otro caso de petición, necesitamos disponer del software adecuado para realizarla. Recuerda que, en realidad, un cliente no es otra cosa que el programa que se utiliza para realizar un determinado tipo petición a un servidor. Existen varios clientes FTP en el mercado. Si no dispones de ninguno descargar FileZilla Client desde el sitio de FileZilla.

Las versiones más modernas de algunos navegadores también permiten realizar peticiones mediante este protocolo. Si escribimos en la barra de direcciones del navegador –se requiere la versión 5 ó superior de Internet Explorer –:ftp://super:superi@localhost y un servidor FTP –con nombre localhost– está activo, veremos que aparecen en la ventana del navegador los iconos de los ficheros contenidos en el directorio root del servidor y que, a la vez, se nos ofrece la posibilidad de: borrar archivos; crear subdirectorios; copiar ficheros (desde el servidor a cualquier otro directorio de nuestro ordenador o viceversa) sin más que seguir métodos idénticos a los que se utilizan habitualmente en Windows.

El acceso a un servidor FTP –salvo que permita el acceso de forma anónima– requiere del cliente tres datos: nombre del servidor, nombre de usuario y contraseña, que son los que aparecen en azul un poco más arriba. En esa dirección aparecen –marcados en rojo–: (ftp://) que indica el tipo de protocolo que se utiliza en la petición; (:) cuya finalidad es la de actuar como separador entre el nombre de usuario y la contraseña; y, (@), que hace también función de separador, en este caso entre la contraseña y el nombre del servidor.

Aún a riesgo de parecer reiterativos, queremos insistir en que para que una petición, como la que comentamos, pueda ser atendida se requiere, de forma imprescindible, que exista un servidor FTP activo.

Hay una posibilidad añadida. Mediante funciones de PHP también es posible gestionar servidores FTP sin necesidad de recurrir a ningún cliente específico. Lo trataremos en los contenidos de programación relativos a las funciones FTP.

Instalación de un servidor FTP

Se trata del instalador de un servidor FTP, que puedes descargar desde FileZilla_Server-0_9_37.exe y que también puedes encontrar en esta página. Igual que en páginas anteriores las versiones más antiguas podemos encontrarlas aquí. Una vez descargado el instalador ya podemos seguir la secuencia de instalación que puedes ir viendo en esta imagen.

Pulsando sobre la flechas de la imagen podrás visualizar los diferentes pasos del proceso

Arrancar y apagar el servidor

Después de instalar el servidor aparecerán en Programas un grupo con unos iconos como estos. Como resulta obvio, el señalado con Start permite la puesta en marcha del servidor y el señalado con Stop sirve para detener su funcionamiento.

La opción Server Interface –para usarla es necesario que previamente hayamos puesto en marcha el servidor– permite configurar del servidor y controlar su funcionamiento. Nos valdremos de él para llevar a cabo la configuración de nuestro servidor FTP y nos permitirá visualizar el estado del servidor y el registro todas las acciones que se realicen en él.

Si has optado por la instalación automática de todos los programas bastará con que pulses sobre el icono correspondiente al servidor FTP desde la ventana de Gestión de Servidores.

  ¡Cuidado!  

Sobre Windows Vista y/o Windows 7 es necesario ejecutar este programa con privilegios de administrador. En vez de doble clic típico pulsa con el botón derecho del ratón y elige la opción de ejecutar como Administrador.

Definición de los servicios


La imagen que tienes a la izquierda representa la forma más compleja de la configuración que pretendemos desarrollar en esta instalación. Empezaremos por su forma más sencilla. Para ello crearemos el directorio C:\servidorFTP que será el directorio raíz (o root) de nuestro servidor FTP. Igual que ocurría en el caso de Apache– podría ser un directorio cualquiera de los existentes en el ordenador en el que tengamos instalado el software de servidor.

Supongamos que nuestra intención ofrecer tres servicios que requieren crear los subdirectorios: C:\servidorFTP\Alumnos, C:\servidorFTP\Documentacion y C:\servidorFTP\Gestion.

Por el momento nos resultará suficiente con estos tres directorios. Más adelante, para una configuración más avanzada, deberíamos crear toda la estructura que puedes ver en la imagen con la excepción de juan (sombreado en rojo) que se generaría de forma automática.

Crearemos tres usuarios básicos. A uno de ellos le llamaremos super (usuario que administra el sistema) y permitiremos que pueda acceder sin restricción alguna a todo el contenido del directorio C:\ServidorFTP y de todos sus subdirectorios.

Un segundo usuario llamado webmaster habrá de tener iguales privilegios en el Document Root del servidor Apache (C:/ServidoresLocales/Apache/htdocs).

El tercer usuario, secre, podrá acceder –también sin restricciones– a los directorios C:\ServidorFTP\Documentación y C:\ServidorFTP\Gestion.

Cada usuario ha de disponer de un directorio raíz (su root) que ha de contener todos los directorios a los que va a tener acceso aunque el hecho de que un directorio sea el root de un usuario no implica que pueda acceder a todos sus contenidos ya que para hacerlo es necesario que tenga -además- permisos de acceso. Tal es el caso del usuario secre cuyo root ha de ser C:\ServidorFTP\ pese a que no va a tener privilegios de acceso al directorio Alumnos.

Privilegios de los usuarios

Esta será la manera en la que asignaremos contraseñas y privilegios a cada uno de los usuarios.

En este enlace tienes el detalle y la justificación de los diferentes privilegios que hemos establecido para cada uno de los restantes usuarios y grupos de usuarios que conforman la opción más compleja de nuestra propuesta.

Configuración de FileZilla Server

Server Interface

Al activar el Server Interface por primera vez aparece una ventana como la que tienes aquí debajo. Si marcas la casilla de verificación y pulsas OK ya no aparecerá en posteriores arranques.


Aparecerá una nueva ventana como la que puedes ver en esta otra imagen.


El primero de los iconos permite arrancar y detener el servidor desde esta consola. El segundo (en forma de candado) permite bloquear y desbloquear el servidor sin necesidad de detenerlo. Desde el tercero podremos hacer modificaciones generales en la configuración. Optaremos por dejarlas con las opciones por defecto. Desde el cuarto, uno de los más interesantes para nuestros propósitos, podremos crear cuentas de usuarios así como realizar su configuración. El quinto de los iconos –muy similar al anterior– permite acceder a la configuración de grupos de usuarios.

Creación de cuentas de usuario

Empezaremos creando las tres cuentas de los usuarios básicos: super, webmaster y secre utilizando las contraseñas que hemos definido anteriormente.

La forma de hacerlo es la que ves en la imagen inferior. Se pulsa en el icono user de la ventana Server interface (el cuarto de los iconos de la imagen que tienes aquí arriba) y aparece la ventana que ves en la parte inferior.

La secuencia de creación de un usuario es la siguiente:


Repetiremos el proceso hasta crear las cuentas de los dos usuarios indicados al comienzo de este párrafo y acabaremos pulsando el botón OK que está situado en la parte inferior izquierda de la ventana de usuarios.

Elección de los roots los directorios accesibles y privilegios de cada usuario

A definir los servicios hemos decidido que al usuario webmaster se le va a permitir únicamente el acceso a C:/ServidoresLocales/Apache/htdocs (para la gestión del servidor Apache) por tanto su root ha de ser el directorio C:/ServidoresLocales/Apache/htdocs.

Para el caso de super (el usuario que controla en su integridad el servidorFTP) hemos optado por c:\servidorFTP como root y cuando se trata del usuario secre hemos dicho que vamos a permitírle el acceso a c:\ServidorFTP\Documentacion y a c:\ServidorFTP\Gestiony que por ello hemos de establecer como root el directorio c:\ServidorFTP (nivel superior a ellos y que, por tanto, los contiene a ambos).

El caso del usuario secre no es tan particular como pueda parecer ya que es bastante frecuente el hecho de que un usuario no deba acceder a los contenidos de todos los subdirectorios de su root.

Cada uno de los directorios accesibles para un usuario (Shared folders) puede gozar de privilegios distintos. Al seleccionar un directorio se activan las casillas de verificación que ves en la imagen y desde ellas se pueden conceder privilegios a dos niveles: ficheros y directorios. A nivel de ficheros cuenta con las opciones Read (descargar), Write (escribir, subir), Delete (borrar) y Append (añadir a un fichero preexistente cuando la transferencia ha sido interrumpida). Cada una de ellas puede configurarse como opción permitida ó no permitida.

Cuando se trata de directorios las opciones (también puede configurarse cada una de ellas como permitida/no permitida) son: Create (Crear), Delete (borrar), List (ver una lista de los contenidos) y +SubDirs (Cuando está activado asigna automáticamente a todos los subdirectorios que contenga los mismos privilegios que al directorio actual).

El proceso de establecimiento de la accesibilidad de un directorio (y la concesión de privilegios) es la que se detalla en la imagen. Se accede desde el icono users de la ventana Server Interface siguiendo la siguiente secuencia:


El proceso puede repetirse cuantas veces sea necesario.

Directorios accesibles por los usuarios super y webmaster

Esta es la configuración del usuario super.


Para el usuario webmaster procederíamos de forma idéntica. La única diferencia sería el directorio (C:/ServidoresLocales/Apache/htdocs) sobre el que estableceríamos los mismos privilegios que se ven en la imagen para el usuario super.

Directorios accesibles por del usuario secre


La razón de estas asignaciones es posibilitar la elección de uno de los dos directorios –Documentacion y Gestion– con todos los privilegios. Como quiera que existe otro directorio del mismo nivel (Alumnos) al permitirle únicamente listar el que los contiene este último le resultaría inaccesible.

Observarás que el directorio raíz está marcado con la letra H. Para cambiarlo bastará con seleccionar otro cualquiera y pulsar sobre el botón que ves en esta imagen.


Acceso de usuarios

La dirección localhost apunta siempre hacia el directorio root de usuario. Eso quiere decir que si –utilizando el FileZilla Client– escribimos esa dirección y nos identificamos como secre (indicando la contraseña de usuario) veríamos algo como esto:


que –como puedes observar– no es otra cosa que la visualización de los contenidos del directorio C:\ServidorFTP (el root de este usuario.

Si nuestro equipo estuviera conectado a una red de área local podríamos acceder al servidor FTP escribiendo en vez de localhost la dirección IP del equipo en el que tuvierámos instalado el servidor.

  ¡Cuidado!  

Es posible que el firewall de Windows nos bloquee el acceso al servidor FTP sin darnos ningún mensaje de advertencia. Lo más conveniente para evitar problemas de esta índole sería abrir Paneles de Control -> Firewall de Windows -> Excepciones y, una vez allí, pulsar el botón Agregar Programas y añadir Filezilla Server.exe

Utilización de alias

Este servidor también permite ser configurado para la utilización de Alias. Pulsando con el botón derecho del ratón sobre el nombre de uno de los directorios aparece un menú como este:


al elegir la opción Edit Aliases se abre una ventana como la que ves aquí debajo. Si introducimos en ella la ruta absoluta completa reemplazando el nombre del último directorio por una palabra distinta (en el ejemplo hemos incluido web) estaremos creando un alias. Podremos crear tanto como deseemos, es cuestión de incluirlos (completos) uno a continuación de otro separados por el carácter |.


Una vez creados los alias podremos utilizarlos para acceder a los espacios (sustituyendo el nombre del directorio por el alias). Aquí tienes imágenes del ejemplo. Observarás que localhost/ServidoresLocales/Apache, localhost/servidor y localhost/indio nos conducen al mismo sitio.



Una configuración más compleja

Creación de grupos de usuarios

La configuración de grupos de usuarios es una opción que ofrece bastante interés. Mediante esta opción se pueden establecer privilegios comunes a una serie de usuarios. Ello facilita la configuración cuando se trata de grupos numerosos que van a compartir directorios y privilegios. Sigue un proceso muy similar al que hemos descrito para el caso de usuarios. Las diferencias más sustanciales son:


Directorios accesibles y privilegios del grupo

La configuración de los directorios accesibles y de los privilegios en cada uno de ellos es idéntica a la descrita para el caso de usuarios no pertenecientes a un grupo. Al avanzar en esta configuración ya sería necesario tener disponible la estructura de directorios y subdirectorios que se refleja en la imagen que tienes un poco más arriba.

La única diferencia estriba en que añade una nueva e interesante posibilidad a través de la opción Autocreate.

Supongamos que pretendemos que cada uno de los alumnos de nuestro supuesto disponga de un subdirectorio propio para poder subir y gestionar sus propios trabajos de cada materia. Aparte de la ventaja de tener separadas sus actividades con la posibilidad de borrar, añadir, modificar, etcétera dentro de su propio espacio y a la vez impedir que pueda efectuar esos procesos en materiales ajenos.

Eso requeriría ir creando esos directorios para cada uno de los usuarios y esa podría ser una tarea lenta y pesada. Mediante la opción Autocreate se puede configurar un directorio de forma que durante el primer acceso del usuario se cree de forma automática un subdirectorio con el mismo nombre que el del usuario.

El uso de esta opción requiere:


Asignación de usuarios a un grupo

Una vez creado un grupo (o grupos) es necesario asignar los usuarios a ese grupo. El proceso es muy similar al de creación de usuarios no adscritos a ningún grupo. La única diferencia está en el punto (4) del proceso, ya que ahora hemos de elegir el grupo al que va a pertenecer el usuario (antes elegíamos none).

En el ejemplo hemos incluido dos usuarios por cada uno de los grupos:

En todos los casos hemos incluido una contraseña idéntica al nombre de usuario.


Los miembros de un grupo recogen automáticamente todos los privilegios del Shared Folder del grupo al que pertenecen. No obstante, es posible añadir nuevos directorios y privilegios (añadidos a los específicos del grupo al que pertenecen) incluyéndolos en el Shared Folder del usuario.

En este enlace tienes el detalle y la justificación de los diferentes privilegios que hemos establecido para cada uno de los grupos de usuarios.

  ¡Cuidado!  

En este fichero, servidorftp.rar, tienes la estructura de directorios aquí descrita. Bastará con que la descomprimas en el directorio raíz de tu equipo para que puedas utilizarla con los ejemplos aquí descritos.

Fichero de configuración de Filezilla Server

Dado que, por el número de usuarios y por la complejidad de la estructura, la labor de configuración y creación de los diferentes usuarios aquí propuestos puede resultarte lenta y tediosa hemos incluido un fichero que puedes obtener desde aquí.

Si descomprimes su contenido -FileZilla Server.xml- en el directorio de instalación de Filezilla Server (por defecto sería un directorio con ese mismo nombre dentro de Archivos de programa) sobrescribiendo el existente ya dispondrás de todos los usuarios y grupos aquí descritos junto con sus configuraciones respectivas.

  ¡Cuidado!  

En el enlace que figura en el párrafo anterior y aquí tienes la configuración de los diferentes usuarios tal como se describen en esta página y en sus anexos.