2º Unidad Didáctica Actualización de contenidos Eduard Lara 1 ÍNDICE 1. Internet y Servicios web Servidor Web Cliente Web Servicios FTP Cliente FTP Servidor FTP 2 1. INTERNET Y SERVICIOS WEB El servicio web de Internet se basa en la transmisión de páginas web. Las páginas web se encuentran almacenadas en un ordenador (o en varios) capaz de funcionar como un servidor web. El servicio Web funciona siguiendo el denominado modelo cliente - servidor: habitual en las aplicaciones que funcionan en una red. Servidor → Quien presta el servicio. Cliente → Quien lo recibe. 3 2. SERVIDOR WEB Un servidor web recibe peticiones de clientes y responde devolviéndoles los ficheros solicitados, texto plano (html, php, etc.) o binarios (gif, jpeg). Permanentemente escucha las peticiones de conexión de los clientes en determinados puertos: 80 para HTTP, 443 para el HTTPS La atención a la petición del cliente consiste en buscar el archivo solicitado. Si lo encuentra, lo transmite; sino, envía un mensaje de error. El servidor web también se ocupa de comprobar si el usuario tiene acceso a los documentos. 4 2. PROCESO TRANSFERENCIA El usuario especifica en el cliente web la dirección (URL) de la pagina que desea consultar. El cliente establece la conexión con el servidor web y solicita la pagina deseada. El servidor busca la pagina solicitada en su sistema de ficheros. Si la encuentra la transfiere, en caso contrario, devuelve un código de error. El cliente interpreta el código HTML y muestra la pagina al usuario. Se cierra la conexión. La conexión siempre se libera al terminar la transmisión de la pagina. 5 2. MODELO TRANSACCIONAL Las aplicaciones cliente-servidor siguen el denominado modelo de transacciones: el cliente realiza una petición, el servidor la atiende e inmediatamente se cierra la comunicación. Se establece una transacción independiente para cada documento u objeto que se transmite. No se mantiene memoria entre las sucesivas peticiones (acceso banco, sitios seguros, etc) El uso de cookies o acceso a base de datos resuelve este problema 6 2. LOCALIZACIÓN SERVIDORES WEB Servidores locales. Localizados en la misma red de área local (LAN) donde se encuentra el cliente. Por ejemplo: Servidor web intranet Servidores remotos. No está en la red de área local en la que se encuentra la máquina cliente. Por ejemplo: www.google.com. Es posible conocer información sobre el servidor remoto mediante la utilización del servicio whois en www.whois.sc: Información del propietario, su localización, etc 7 3. CLIENTE WEB Programa con el que el usuario interacciona para solicitar a un servidor el envío de páginas web. Son transferidas a través de HTTP o FTP Las páginas web están codificadas en HTML. El cliente web interpreta estos documentos para mostrárselos al usuario en el formato adecuado. Cuando un documento recibido es un objeto multimedia (vídeo o sonido), el cliente activa una aplicación externa capaz de gestionarlo. Clientes web o navegadores mas usuales: Netscape, IE Explorer, Mozilla 8 3. PÁGINAS DINÁMICAS Son páginas que se crean en el momento de su petición (combinan una plantilla de documento con los resultados de la consulta a una BD. El servidor web cede el control al denominado servidor de aplicaciones, que es quien se encarga de construir la pagina. Una vez creada la pasa al servidor web, que a su vez la envía al cliente. 9 4. SERVICIOS FTP Para publicar una página web es necesario un servidor web donde alojarla. El servicio FTP (File Transfer Protocol) tiene una importancia destacada dentro del desarrollo de páginas web ya que permite a los webmasters subir los ficheros al servidor web. Existen otras formas de subir páginas a servidores web, normalmente a través de HTTP: Servicios de hospedaje que ofrecen subir los ficheros por medio de un formulario HTML o modificar directamente el código de la página web. 10 5. CONEXIÓN A UN SERVIDOR FTP Siguiendo el modelo cliente-servidor, para que el webmaster pueda subir sus ficheros a un servidor FTP, primero necesita conectarse. Este proceso puede llevarse a cabo utilizando tres métodos: Cliente FTP (cuteFTP, smartFTP, etc) Navegador web Interfaz de comandos. 11 5. CONEXIÓN DESDE NAVEGADOR WEB En la URL del navegador, habría que poner los datos referentes a la cuenta abierta en dicho servidor (usuario y password) y al protocolo a utilizar por el navegador: ftp://usuario:password@servidor/ Si el servidor permite las conexiones anónimas (user:anonymous): ftp://servidor/ ftp://anonymous@servidor/ ftp://anonymous:@servidor/ 12 5. CONEXIÓN DESDE CLIENTE FTP GRÁFICO Es una interfaz más amigable y fácil. Evita conocer los comandos exactos para interactuar con el servidor FTP. Existen numerosos clientes gráficos FTP. Programa Plataforma SmartFTP Windows FileZilla Windows Cute FTP Windows, Mac OS gFTP Unix Igloo FTP Pro Linux Captain FTP MacOS LifTPX Mac OS MacOS 13 5. CONEXIÓN DESDE CLIENTE FTP DE LA CÓNSOLA La mayoría de los sistemas operativos lo traen por defecto. Windows XP permite utilizar su cliente FTP a través de Interfaz de comandos, usando el comando ftp. Linux ofrece las mismas posibilidades desde cualquier terminal c:\>ftp servidor Usuario: Password: 14 5. CONEXIÓN DESDE CLIENTE FTP CONSOLA ftp Establece una conexión con un servidor user Permite introducir el nombre de usuario que se quiere utilizar para la conexión Pass Permite introducir la contraseña que se quiere utilizar para la conexión asen Cambia la descarga o subida a modo texto plano. binary Cambia la descarga o subida a modo fichero binario put Sube un fichero al servidor get Descarga un fichero del servidor ls Sube un fichero al servidor. Descarga un fichero del servidor. Realiza un listado de un directorio. cd Cambia de directorio bye Cierre conexión 15 6. SERVIDORES FTP Numerosas aplicaciones en la red permiten configurar un servidor FTP. Pueden instalarse en un ordenador personal para mandar y recibir ficheros. Programa Plataforma Gene6 FTP Server Windows OFTPD Unix Hotline FTP Server MacOS Serv-U Windows Pure FTP Server Linux ProFTPd Linux Rumpus MacOS PureFTPd Manager MacOS 16 6. ESTRUCTURA DIRECTORIOS Al montar un servidor FTP, es habitual definir dos directorios: Downloads (Descargas). Se hallará el material especifico que los usuarios pueden descargarse. Uploads (Subidas). Los usuarios puedan subir aquello que crean oportuno. Otro directorio importante: Home, donde el usuario accede al conectarse. 17 6. TIPOS DE USUARIO El servicio ofrecido por un servidor FTP dependerá del tipo de usuario conectado: Usuario anónimo (anonymous). Usuario que se conecta al sistema sin disponer de una cuenta personalizada. Posee una cuenta pero es de carácter genérico. Usuario registrado. Usuario dado de alta en el servidor con un login personalizado (un nombre de usuario y una contraseña). Tendrá privilegios superiores a los de un usuario anónimo. 18 6. PERMISOS Son funciones relativas a los ficheros y directorios del servidor FTP que el administrador del sistema puede permitir a los usuarios. Permisos de un archivo Permisos directorios Lectura (read) Listado (list) Escritura (write) Creación (make) Ejecución (execute) Borrado (remove) Borrado (delete) Herencia (inherit) Continuación (append) 19 PRACTICA 1. INSTALACIÓN DE APACHE Paso 1. Descargar el servidor apache desde la página web http://www.apache.org/, la versión Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.14-win32-x86-no_ssl.msi 20 PRACTICA 1. INSTALACIÓN DE APACHE Paso 2. Empezar la instalación del ejecutable 21 PRACTICA 1. INSTALACIÓN DE APACHE Paso 2. Continuamos la instalación 22 PRACTICA 1. INSTALACIÓN DE APACHE Paso 3. Una vez finalizada la instalación, comprobar que el servidor está bien instalado. Desde un navegador web teclear: http://localhost/ ó http://127.0.0.1 Aparece la página web de prueba index.html ubicada en el directorio: C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs 23 PRACTICA 1. INSTALACIÓN DE APACHE Paso 4. Problemas con el arranque del servidor apache. Si hubiera otro servidor web activado, ocupando el mismo puerto 80, nuestro servidor no arrancaría correctamente. Abrir el monitor de configuración del servidor apache y comprobar que el servicio está activado. Clickar en el icono de apache 24 PRACTICA 1. INSTALACIÓN DE APACHE Paso 5. Otra forma de comprobar la activación del servidor web apache, consiste en mirar los servicios activos de windows. Ejecutar services.msc y comprobar los servicios iniciados. 25 PRACTICA 1. INSTALACIÓN DE APACHE Paso 6. Modificar el fichero index.html ubicado en el directorio: c:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs, y visualizarlo, para comprobar que nos estamos conectando a nuestro servidor local 26 PRACTICA 1. INSTALACIÓN DE APACHE Paso 7. A continuación renombrar el fichero index.html por otro nombre (p.e. fichero.html). Volver a teclear desde un navegador: http://localhost/ ó http://127.0.0.1 ¿Qué ocurre ahora? Se visualiza el contenido del directorio 27 PRACTICA 1. INSTALACIÓN DE APACHE Paso 8. Crear en el directorio raíz “htdocs” otro directorio por ejemplo “ejemplo”. Insertar un fichero por ejemplo “pepe.html”. Realizar la llamada a dicho fichero, mediante http://localhost/ejemplo/pepe.html a) ¿Qué pasa si ponemos sólo http://localhost/ejemplo/? b) ¿Cómo se puede solucionar este tema? 28 PRACTICA 1. INSTALACIÓN DE APACHE Paso 9. Abrir el fichero de configuración de Apache Æ C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\httpd.conf Para que toda modificación del fichero http.conf tome efecto, se debe parar y reiniciar el servidor apache 29 PRACTICA 1. INSTALACIÓN DE APACHE Paso 10. Parámetros importantes del fichero httpd.conf: - ServerRoot Æ "C:/Archivos de programa/Apache Software Foundation/Apache2.2" - Listen Æ 80 - DocumentRoot Æ "C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs“ - DirectoryIndex Æ Indica el fichero que Apache servirá si un directorio es pedido. <IfModule dir_module> DirectoryIndex index.html </IfModule> 30 PRACTICA 1. INSTALACIÓN DE APACHE Paso 11. Crear un directorio virtual en apache. Crearemos un directorio en el disco duro c:\pepe, e insertaremos el fichero jose.html. Dotaremos de servicio web a este directorio mediante la etiqueta elefante. Copiar este código en http.conf encima de la clausula #DefaultType (parte final de las clausulas para los alias) <IfModule alias_module> Alias /elefante "c:/pepe/" </IfModule> <Directory "C:/pepe/"> Options Indexes FollowSymLinks AllowOverride None Es necesario proporcionar una Order allow,deny sección <Directory> para permitir el acceso al sistema de Allow from all ficheros del directorio c:\pepe </Directory> 31 PRACTICA 1. INSTALACIÓN DE APACHE Paso 12. Comprobar la visualización de la página. http://localhost/elefante/jose.html 32 PRACTICA 1. INSTALACIÓN DE APACHE Paso 13. Crear una contraseña con login y password para acceder al directorio htdocs. Se realiza con el fichero .htaccess Se trata de un archivo oculto donde se especifican instrucciones llamadas directivas de Apache, que definen su funcionamiento de Apache. Normalmente estas directivas se especifican en httpd.conf, pero los usuarios de un sitio no suelen tener permitido modificar este archivo. El administrador del servidor Apache puede habilitar el uso de .htaccess para que los usuarios puedan hacer uso de ciertas directivas que se aplican únicamente a su sitio y no a todo el servidor. 33 PRACTICA 1. INSTALACIÓN DE APACHE Paso 14. Habilitar el uso de .htaccess en el directorio que nos interesa: <Directory "D:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs"> Options Indexes FollowSymLinks AllowOverride All Å Order allow,deny Allow from all </Directory> 34 PRACTICA 1. INSTALACIÓN DE APACHE Paso 15. Ejecutar desde consola MSDOS C:\Archivos de Programa\Apache Software Foundation\Apache2.2\bin>htpasswd -c -b passwd.txt usuario password Hemos creado el siguiente usuario elara con password upc, el cual queda guardado en passwd.txt 35 PRACTICA 1. INSTALACIÓN DE APACHE Paso 16. Crear el fichero .htaccess en el directorio htdocs con el siguiente contenido: Desde notepad guardar el fichero poniendo comillas, es decir “.htaccess” 36 PRACTICA 1. INSTALACIÓN DE APACHE Paso 17. Ejecutar desde un navegador http://127.0.0.1 37 PRACTICA 1. INSTALACIÓN DE APACHE Paso 18. Borrar o mover el fichero .htaccess del directorio htdocs y comprobar que ocurre. 38 PRACTICA 1. INSTALACIÓN DE APACHE Paso 19. Desinstalar el paquete APACHE e instalar el paquete XAMP, el cual permite la instalación de todo un paquete de servicio web mucho más completo: - Apache - Mysql - Phpmyadmin - Filezilla - PHP 39 PRACTICA 2. INSTALACIÓN FILEZILLA FTP SERVER Paso 1. Instalar el Filezilla FTP Server con la configuración por defecto 40 PRACTICA 2. INSTALACIÓN FILEZILLA FTP SERVER Paso 2. Conexión al servidor FTP en modo administración 41 PRACTICA 2. INSTALACIÓN FILEZILLA FTP SERVER Paso 3. Principales opciones del menú de administración: - SettingsÆ Para modificar las configuraciones del servidor FTP. -Users Æ Definición de usuarios del servicio FTP, login y password y sus carpetas de acceso. - Groups Æ Definición de los grupos de usuarios y de sus permisos asociados. 42 PRACTICA 2. INSTALACIÓN FILEZILLA FTP SERVER Paso 4. Definición de 2 usuarios diferentes en el servidor FTP, Pedro y Maria. Asóciale las siguientes contraseñas y directorios de trabajo: Usuario Password Directorio Trabajo Pedro upc C:\usuariosFTP\pedro Maria upc C:\usuariosFTP\maria Paso 5. Copiar diferentes ficheros en los directorios de trabajo de Pedro y Maria. Paso 6. Conectarse al servidor FTP con el usuario Pedro, mediante consola de Interfaz de comandos. Visualizar los ficheros de su directorio de trabajo (capturar imagen de la conexión establecida) 43 PRACTICA 2. INSTALACIÓN FILEZILLA FTP SERVER Paso 7. Conectarse al servidor FTP con el usuario Maria, pero ahora a través de un navegador (Firefox o Internet Explorer). Mostrar los ficheros de su directorio de trabajo (capturar imagen de la conexión establecida) Paso 8. Conectarse al servidor FTP con el usuario Pedro, utilizando Filezilla Client (programa con interfaz gráfica). Mostrar los ficheros de su directorio de trabajo (capturar imagen de la conexión establecida) 44