Instalación de un servidor FTP

¿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 proto- colo conocido como FTP (File Transfer Protocol).

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 para detener su funcionamiento.

La opción Server Interface permite configurar del servidor y controlar su funcionamento.

Para activar esta opción es necesario que hayamos puesto en marcha previamente el servidor.

Al activar el Server Interface por primera vez aparece una ventana como la que tienes a la derecha. Si marcamos la casilla de verificación y pulsamos OK ya no aparecerá en posteriores arranques.

La ventana de Server Interface nos mostrará el estado del servidor e irá registrando todas las acciones que se realicen en el.

Los iconos del Server Interface

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.

Definición de los servicios

El directorio raíz (o root) de un servidor FTP –igual que ocurría en el caso de Apache– puede ser uno cualquiera de los existentes en el ordenador en el que tengamos instalado el software de servidor.

Imaginemos que hemos hecho la instalación de Apache y de FTP en un equipo que actúa como servidor de la red local de nuestro Centro.

Supongamos que es nuestra intención ofrecer tres servicios:

Gestion al que sólo tendrá acceso el secretario del centro.

Documentacion en el que sólo podrá insertar documentos el secretario y al que tendrán acceso todos los profesores.

Alumnos que va a contener tres áreas distintas: Materiales, Examenes y Trabajos. Podrán acceder a ellas -con los privilegios que comentamos al margen- profesores y alumnos.

Para lograr estos fines será necesario que el ordenador en el que tenemos instalado el servidor ha de contener -entre otros- los directorios que ves en la imagen.

Deberemos crear el directorio ServidorFTP y todos los que contiene con excepción de juan (sombreado en rojo) que se generará de forma automática.


Configuraremos los usuarios de forma que admin (usuario que administra el sistema) pueda acceder tanto al directorio Apache y a todo su contenido, como al directorio ServidorFTP.

El usuario secre podrá acceder los directorios Documentación y gestion.

Dado que los restantes usuarios -tanto los profesores como los alumnos- van a ser varios, y van a tener acceso a los mismos espacios del servidor, crearemos grupos con cada uno de ellos.

Lo primero de todo, sería crear las cuentas de usuario tal como se describe al margen.

Roots de usuarios

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.

A la derecha tienes descritos los criterios de elección de esos root para los usuarios admin y secre.

El hecho de un directorio sea el root de un usuario no implica que pueda acceder a sus contenidos ya que para hacerlo es necesario que tenga -además- permisos de acceso.

Privilegios de los usuarios

Esta sería la manera en la que podríamos asignar privilegios a cada uno de los usuarios.

admin

Sus privilegios en los diferentes directorios podrían ser:

– En C:
List. Al concederle este privilegio podrían visualizarse (al acceder al root de este usuario mediante un cliente FTP) la lista de directorios y documentos que contiene.

Si no incluyéramos esta opción el cliente FTP nos daría un mensaje de error al acceder al root (no tendría permiso alguno) y obligaría al usuario admin a establecer como dirección del servidor bien localhost/Apache (uno de los directorios a que tiene acceso), o el otro: localhost/ServidorFTP

Mediante esta opción se visualizaría una lista de todos los ficheros contenidos en el directorio c:\ y únicamente de los directorios a los que tuviera algún tipo de privilegio de acceso.

– En C:\Apache
Todos. Al ser el usuario admin parece razonable concederte el mayor grado de libertad.

Al tener también activado el privilegio +Subdirs todos los directorios (de cualquier nivel) contenidos en c:\Apache gozarían de estos mismos privilegios. Por esa razón, ya no sería necesario especificar ninguno de ellos.

– En C:\ServidorFTP
Todos. Por idénticas razones al caso anterior.

secre

Sus privilegios en los diferentes directorios podrían ser:

– En c:\ServidorFTP
List. Las razones son idénticas al caso de admin

– En Documentación
Todos>. Se entiende que este usuario es quien realiza la gestión completa de este directorio.

– En Gestión
Todos. Las razones son idénticas a las del caso anterior.

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. El más popular de todos ellos es el WS_FTP, que probablemente habrás usado –si has publicado alguna página web– para subir tus páginas al servidor.

Puedes descargar un cliente gratuito –con prestaciones muy similares a WS_FTP– desde el sitio de FileZilla.

Las versiones más modernas de los 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 IE–:

ftp://admin:admin@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 utilizando un navegador como cliente requiere tres datos: nombre de usuario, nombre del servidor y contraseña, que son los que aparecen en azul un poco más arriba.

En esa misma 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.

Pero, a riesgo de parecer reiterativos, queremos insistir en que para que una petición, como la que comentamos, pueda ser atendida se re- quiere, de forma imprescin- dible, 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.

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.

Los procesos de creación de grupos y de asignación de usuarios a cada uno de ellos los tienes descritos al margen.

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 autómatica un subdirectorio con el mismo nombre que el del usuario.

El uso de esta opción requiere:

– Incluir en Shared folders la ruta del directorio base (en el que pretenden crearse los subdirectorios de cada uno de los usuarios pertenecientes al grupo) acabada con /:u

Privilegios de los diferentes grupos de usuarios

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.

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 descargar 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) sobreescribiendo el existente ya dispondrás de todos los usuarios y grupos aquí descritos junto con sus configuraciones respectivas.

¡Cuidado!
Esta opción requiere tener creada una estructura de directorios idéntica a la descrita en la imagen que tienes insertada en esta misma columna.

FTP y hosting

A la hora de la elección del hosting, otro de los factores que debemos tener en cuenta –o al menos conocer– son las opciones de FTP que ofrece cada uno de los proveedores de servicios.

Existen en la red situaciones de todo tipo. Hay casos en los que está activado el servicio y además es la única vía posible para poder publicar nuestras páginas.

Hay otros casos en los que está desactivado, como ocurre con el popular geocities, que no permite FTP y donde el mantenimiento de los espacios de alojamiento de páginas web de sus servidores requiere – de forma ineludible– acceder por medio de una página WEB específica que permite realizar las transferencias de ficheros por un método alternativo al FTP tradicional.


 
 


Instalación de un servidor FTP

    Se trata del instalador de un servidor FTP, que –tal como te indicamos en el apartado Software del Curso– puedes descargar desde FileZilla_Server_0_9_8a.

    Podemos instalarlo con las opciones por defecto, salvo en el caso de las dos ventanas que ves en la imagen:


en las que elegiremos Start manually en ambas opciones. De esta forma evitaremos que servidor arranque al conectar el ordenador -consumiendo menos recursos- y tendremos la opción de activarlo sólo en el momento en que necesitemos usarlo.

Server Interface



Creación de cuentas de usuario

    Vamos a crear dos cuentas de usuario: admin con admin como contraseña; secre utilizando secre como contraseña.

    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 un usuario es la siguiente:

    Al pulsar ok se cierra y se la ventana Add user account.     Repitiremos 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 el la parte inferior izquierda de la ventana de usuarios.

Elección de los roots de cada usuario

    Dado que el usuario admin va a tener acceso a c:\Apache y a c:\ServidorFTP hemos de definir como root el directorio que los contenga a ambos. En este caso sería c:\.

    En el caso del usuario secre va a permitírsele el acceso a c:\ServidorFTP\Gestion y a c:\ServidorFTP\Gestion por lo que hemos de establecer como root el directorio c:\ServidorFTP que los contiene a ambos.

Drectorios accesibles y privilegios

    Es bastante frecuente el hecho de que un usuario no deba acceder a los contenidos de 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 automaticamente a todos los subidrectorios 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 del usuario admin

    Esta es la configuración del usuario admin.


Directorios accesibles por del usuario secre


La razón de estas asignaciones las justificamos al margen.

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 escribimos en el cliente FTP esa dirección y nos identificamos como admin (indicando la contraseña de usuario) veríamos algo como esto:


donde –como puedes observar– accedemos directamente al directorio C:\ (el root de este usuario) y visualizamos sus contenidos.

    Accediendo (también a localhost) como usuario secre llegaría también al root de este usuario (distinto del anterior) que sería C:\ServidorFTP .



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/Apache, localhost/servidor y localhost/indio nos conducen al mismo sitio.




Creación de grupos de usuarios

    La creación de grupos de usuarios sigue un proceso muy similar al que hemos descrito para el caso de usuarios. Las diferencias más sustanciales son:

– Se accede a través del icono groups (el quinto de la ventana Server Interface).

– No requiere insertar contraseñas. Estas serán privilegio exclusivo de los usuarios del grupo.

– Requiere activar la casilla de verificación Enable access for users inside froup.

    En nuestro ejemplo, crearemos cuatro grupos: ingles (grupo de los profesores de Inglés), infor (profesores de Informática), ciclo1 (alumnos de primer ciclo) y ciclo2 alumnos de segundo ciclo.


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.

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


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 el dos usuarios por cada uno de los grupos:

profe_ingles1 y profe_ingles2 en el grupo ingles.

profe_infor1 y profe_infor2 en el grupo infor.

ciclo1_alumno1 y ciclo1_alumno2 en el grupo ciclo1.

ciclo2_alumno1 y ciclo2_alumno2 en el grupo ciclo2.

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 especifícos del grupo al que pertenecen) incluyéndolos en el Shared Folder del usuario.


Anterior
Indice
Siguiente