redes de área local: aplicaciones y servicios windows

42
1 Redes de área local: Aplicaciones y servicios WINDOWS 16. Servidor Web Apache

Upload: others

Post on 27-Oct-2021

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes de área local: Aplicaciones y servicios WINDOWS

1

Redes de área local: Aplicaciones y servicios

WINDOWS

16. Servidor Web Apache

Page 2: Redes de área local: Aplicaciones y servicios WINDOWS

2

Índice Definición de Servidor Apache.................................................................................................. 3 Organización del sitio web........................................................................................................ 3 Instalación y configuración de Apache...................................................................................... 4 Acceso a carpetas seguras .................................................................................................... 20 Acceso a carpetas privadas.................................................................................................... 30 Protección de carpetas base .................................................................................................. 33 PHP+MySQL+PHPMyAdmin.................................................................................................. 35 Servidor FTP.......................................................................................................................... 36

Page 3: Redes de área local: Aplicaciones y servicios WINDOWS

3

DDeeffiinniicciióónn ddee SSeerrvviiddoorr AAppaacchhee Una alternativa importante y clara al servidor web IIS incluido con Windows 2003 Server, es el servidor web Apache; este servidor web es actualmente el más implantado entre los distintos servidores que ofertan servicios web en Internet. Además Apache, servidor originalmente pensado para el entorno Linux, dispone de versión para el entorno Windows, que será la que utilicemos en este curso. Una de las principales motivaciones para utilizar el servidor web Apache es su condición de aplicación libre y descargable de forma gratuita de la web.

Hemos optado por utilizar la versión Apache 1.3.33 de este servidor, pese a que actualmente podemos descargar de la web una versión posterior, debido a que la versión que instalaremos incluirá de forma automática junto con el servidor web, el módulo para el acceso a páginas seguras vía SSL, lo cual simplificará la instalación y configuración de este módulo en el servidor Apache. No es que dicho módulo no pudiera ser instalado a posteriori, pero con el paquete que utilizaremos el proceso será transparente para el alumno, y de ahí la elección.

Posteriormente instalaremos en nuestro servidor Apache el módulo correspondiente que permite la autenticación LDAP (protocolo ligero de acceso al directorio), para que los usuarios del Active Directory de nuestro Windows 2003 Server puedan ser utilizados para el acceso a las carpetas privadas de nuestro Apache, evitando así la duplicación de los usuarios y grupos de Active Directory en el entorno de Apache e integrando en lo que a la gestión de usuarios se refiere, Apache y Active Directory.

Además en esta versión de Apache instalaremos un módulo para poder correr páginas ASP en Apache, con lo cual la funcionalidad final que alcanzaremos tanto con nuestro servidor web IIS como con el servidor web Apache, será similar, ya que aprovechando las instalaciones de "PHP", "MySQL" y "phpMyAdmin" realizadas cuando configuramos IIS, podremos finalmente ejecutar en ambos servidores web páginas PHP y ASP (ambos contra MySQL, si ese es nuestro deseo) , así como crear páginas privadas y seguras, quedando pues, a elección del usuario manejar uno, otro o ambos servidores web, pues convivirán perfectamente y en armonía sobre el mismo servidor físico Windows 2003.

OOrrggaanniizzaacciióónn ddeell ssiittiioo wweebb La organización que realizaremos de nuestro servidor Apache, será similar en cuanto a funcionalidades, a la que hemos realizado con el servidor web IIS.

Dejaremos como carpeta de acceso por defecto la ubicada en la ruta "C:\Apache\htdocs", de forma que crearemos carpetas colgando del sitio Web predeterminado para dar el servicio pretendido, y en esa misma ubicación incluiremos la estructura de carpetas necesaria para replicar el acceso de los profesores a sus carpetas personales. Además instalaremos Apache escuchando en el puerto 8080 (que está actualmente libre, pues el puerto 80 estará ocupado por nuestro servidor web IIS); así por ejemplo, si creamos una carpeta de nombre "Prueba", estará accesible a través de nuestro navegador en la ruta "http://apache.micentro.edu:8080/Prueba".

Además crearemos un sitio web virtual seguro en el servidor web Apache para poder tener acceso vía SSL a contenidos que deseamos que sean seguros, es decir accesibles en el navegador mediante el protocolo "https", a través de los certificados de servidor que crearemos con la aplicación "OpenSSL" instalada anteriormente.

Page 4: Redes de área local: Aplicaciones y servicios WINDOWS

4

Finalmente comentar que no replicaremos en su totalidad la estructura de carpetas correspondiente a los departamentos de "MiCentro" llevada a cabo en el IIS, por simplificar la configuración del servidor Apache, aunque es perfectamente viable lograr en Apache para los departamentos la misma funcionalidad que hemos alcanzado para el sitio web del centro educativo mediante IIS.

IInnssttaallaacciióónn yy ccoonnffiigguurraacciióónn ddee AAppaacchhee Antes de proceder a la instalación del servidor Web Apache, queremos indicar las condiciones en las que vamos a llevar a cabo dicha instalación, en base a las funcionalidades y servicios finales que deseemos que preste nuestro servidor web Apache.

Además del servidor web propiamente dicho, y para habilitar el acceso a páginas seguras, hemos de instalar y configurar el módulo "mod_ssl" para el acceso a páginas seguras en nuestro servidor Apache; además debemos obtener un certificado para dicha función, para lo cual utilizaremos la aplicación OpenSSL que previamente habremos instalado.

En estas condiciones, y para facilitar la instalación de Apache con el módulo ssl, instalaremos una versión de Apache que integra automáticamente el módulo ssl para el acceso a páginas seguras; pinchando en este enlace procederemos a descargar directamente el fichero de instalación de Apache+SSL. Una vez tengamos descargado el fichero "Apache_1.3.33-Mod_SSL_2.8.22-Openssl_0.9.7e-Win32.zip", lo copiamos al Escritorio de nuestro servidor Windows 2003.

NOTA: Podríamos haber descargado de la web la última versión de Apache, buscar el correspondiente módulo SSL para dicha versión, instalarlo y configurarlo, pero hemos creído más oportuno, por simplificar el proceso de instalación y por la perfecta integración de esta versión con el resto de módulos (LDAP, ASP, etc.) , hacer uso de un paquete anterior que integra ambos elementos, pese a no ser la última versión de Apache disponible.

El siguiente paso es crear en la unidad "C:" del disco duro de nuestro servidor una carpeta de nombre "Apache"; tras ello procedemos a la descompresión del fichero anterior en la carpeta "C:\Apache" recientemente creada. Una vez completada la descompresión ya tendremos instalado el servidor web Apache con su correspondiente módulo SSL para el acceso a páginas seguras. En este instante ya podremos eliminar el fichero "Apache_1.3.33-Mod_SSL_2.8.22-Openssl_0.9.7e-Win32.zip" del Escritorio de nuestro Windows 2003 Server.

Posteriormente procederemos a la configuración del servidor Web Apache recién instalado; debido a que el servidor Apache está "escuchando" en el puerto 80 por defecto, y en ese mismo puerto tenemos escuchando a nuestro servidor web IIS (instalado anteriormente), hemos de modificar el puerto por el cual atenderá peticiones el servidor web Apache, de modo que atienda las peticiones que le lleguen a través del puerto 8080.

NOTA: Igualmente ocurre con las páginas seguras, ya que en el puerto predeterminado para el acceso a dichas páginas (443) ya está a la "escucha" nuestro servidor IIS; así pues también redireccionaremos al puerto 4443 las peticiones de páginas seguras a nuestro servidor Apache. Esta configuración la llevaremos a cabo cuando abordemos el acceso a páginas seguras.

Para realizar las configuraciones indicadas en el párrafo anterior, editaremos el fichero "C:\Apache\conf\httpd.conf" de nuestro servidor Windows 2003 con el bloc de notas y buscaremos en dicho fichero las siguientes líneas:

Port 80

Page 5: Redes de área local: Aplicaciones y servicios WINDOWS

5

ServerName @@ServerName@@

Indicando como puerto el 8080 en la primera de ellas, y dándole en la última el nombre "apache.micentro.edu" a nuestro servidor web Apache, quedando finalmente así.

Port 8080

ServerName apache.micentro.edu

Finalmente procedemos a salvar los cambios realizados en el fichero "httpd.conf".

Tras ello procederemos a incluir el módulo de "asp" para que nuestro servidor Apache pueda interpretar dichas páginas; para ello lo primero que hemos de realizar es instalar la máquina virtual de Java en nuestro servidor. Una vez que hemos instalado la máquina virtual de Java en el servidor, procederemos a descargar el correspondiente componente para interpretar páginas "asp" en Apache pulsando aquí y lo copiamos al Escritorio de nuestro servidor Windows 2003, haciendo tras ello un doble clic sobre el fichero en cuestión, procediendo a la descompresión del mismo tal y como vemos en la siguiente pantalla.

Antes de proceder a instalarse el módulo de ASP, se nos muestra la siguiente pantalla que nos informa de que necesitamos instalar la máquina virtual de Java en el equipo, así pues pulsamos sobre el botón "Sí" para proceder con dicha instalación.

Pasa a ser mostrada la siguiente pantalla, en la cual aceptamos el contrato de licencia seleccionando el radio botón correspondiente , para posteriormente pulsar sobre el botón "Siguiente".

Page 6: Redes de área local: Aplicaciones y servicios WINDOWS

6

A continuación debemos indicar el tipo de instalación que vamos a llevar a cabo en el equipo; en la pantalla mostrada seleccionamos el radio botón "Personalizada" y posteriormente pulsaremos sobre el botón "Siguiente".

El asistente de instalación de la máquina virtual de Java nos permite a través de la siguiente pantalla determinar los componentes de Java que van a ser instalados en el equipo y la ruta de instalación; en nuestro caso dejaremos las opciones asociadas por defecto pulsando directamente sobre el botón "Siguiente".

Page 7: Redes de área local: Aplicaciones y servicios WINDOWS

7

En la siguiente pantalla debemos indicar los navegadores en los que registraremos el producto que estamos instalando; dejaremos activa la casilla "Microsoft Internet Explorer", y pulsaremos sobre el botón "Siguiente".

Tras unos breves instantes se instalará la máquina virtual de Java, tras lo cual se mostrará la siguiente pantalla en la que pulsaremos sobre el botón "Finalizar" para dar por concluido este proceso.

Page 8: Redes de área local: Aplicaciones y servicios WINDOWS

8

Tras completarse la instalación de la máquina virtual de Java en nuestro servidor Windows 2003, volvemos a lanzar la aplicación haciendo doble clic sobre el fichero "sjsasp402-windows.exe", procediendo a su descompresión tras lo cual se muestra la primera ventana del proceso de instalación pulsaremos directamente sobre el botón "Next".

En la siguiente ventana activamos la casilla "I accept the agreement" y a continuación pulsamos sobre el botón "Next".

Page 9: Redes de área local: Aplicaciones y servicios WINDOWS

9

Posteriormente debemos indicar nuestro nombre y el de nuestra organización; así lo haremos y posteriormente pulsaremos sobre el botón "Next".

A continuación podemos especificar la ruta donde instalaremos el componente; dejaremos la ruta por defecto pulsando directamente sobre el botón "Next".

Page 10: Redes de área local: Aplicaciones y servicios WINDOWS

10

En la siguiente ventana se nos pregunta por los componentes a instalar; dejaremos las opciones por defecto y pulsaremos directamente sobre el botón "Next".

A continuación se muestra la siguiente ventana:

Page 11: Redes de área local: Aplicaciones y servicios WINDOWS

11

En ella pulsaremos sobre el botón "Browse for local web server", mostrándose una ventana de navegación de Windows en la cual nos ubicaremos sobre el fichero "httpd.conf" de la ruta "C:\Apache\conf"; una vez seleccionado pulsaremos sobre el botón "Abrir".

En ese instante aparecerá en la ventana anterior el servidor web Apache instalado, lo seleccionamos, y a continuación pulsamos sobre el botón "Next".

Page 12: Redes de área local: Aplicaciones y servicios WINDOWS

12

NOTA: En este instante nos aparece la siguiente pantalla informativa de que hay que detener Apache si es que está corriendo. No es nuestro caso, luego pulsaremos directamente sobre el botón "Aceptar" en dicha ventana.

Finalmente se muestra la siguiente ventana resumen, en la cual pulsaremos directamente sobre el botón "Next".

Page 13: Redes de área local: Aplicaciones y servicios WINDOWS

13

Comienza en ese momento la instalación del componente para poder ejecutar páginas "ASP" en Apache con las opciones seleccionadas anteriormente.

Una vez se completa la instalación, se muestra la pantalla final del proceso de instalación; pulsaremos sobre el botón "Finish".

Page 14: Redes de área local: Aplicaciones y servicios WINDOWS

14

Tras completarse la instalación del módulo de ASP ara Apache, procedemos a eliminar el fichero "sjsasp402-windows.exe" del Escritorio de Windows 2003 Server.

Tras ello volvemos a editar el fichero "httpd.conf" situado en "C:\Apache\conf" , para comentar la línea "Port 8080" (tecleando el símbolo "#" delante de ella), e incluyendo la línea siguiente tras ella:

# Port 8080

Listen 8080

De este modo lograremos que el servidor Web Apache atienda peticiones en el puerto 8080.

Para que nuestro servidor Apache sea accesible mediante la resolución "apache.micentro.edu", debemos introducir una nueva entrada tipo "Alias" que apunte a "Servidor", según el procedimiento indicado en el apartado correspondiente al servidor DNS. Para ello accedemos a la opción "DNS" de las "Herramientas Administrativas" del "Panel de Control", y sobre la zona de búsqueda directa "micentro.edu" pulsaremos con el botón derecho del ratón seleccionamos la opción "Alias nuevo (CNAME)".

Page 15: Redes de área local: Aplicaciones y servicios WINDOWS

15

Posteriormente introducimos en la pantalla siguiente "apache" como nombre de alias y "servidor.micentro.edu" como nombre del host al que apunta dicho alias; finalmente pulsaremos sobre el botón "Aceptar".

Una vez completado el proceso descrito, la nueva entrada aparecerá como un alias en nuestro servidor DNS.

NOTA: Hemos de reiniciar el servidor DNS para que la nueva resolución pase a ser efectiva.

Una vez hayamos salvado los cambios anteriores en el fichero "C:\Apache\conf\httpd.conf", debemos probar la correcta instalación y configuración del servidor Apache. Para ello hemos de lanzar la ejecución del servidor web Apache, pero instalándolo como servicio, de modo que cada vez que arranquemos la máquina automáticamente se levante un servicio que llamaremos "Apache"; esto lo conseguiremos abriendo una ventana de MS-DOS, cambiándonos a la ruta "C:\Apache" y tecleando el siguiente comando: "apache -k install -n Apache" y pulsando a continuación sobre el botón "ENTER", tal y como vemos en la siguiente imagen.

Page 16: Redes de área local: Aplicaciones y servicios WINDOWS

16

Tras ello cerramos la ventana anterior tecleando "Exit"; a partir de este instante el servidor web Apache se ejecutará como un servicio más del sistema, y cada vez que el equipo se inicie se levantará el servidor web Apache; pese a ello en este instante aun no estará levantado, pues el comando anterior lo instala como un servicio que se ejecuta automáticamente cuando el sistema arranca, pero no lo deja iniciado; debemos esta primera vez forzar el arranque del servidor Apache yendo a la opción "Servicios" de las "Herramientas Administrativas" del "Panel de Control", y pulsando con el botón derecho del ratón sobre el servicio "Apache", seleccionar la opción "Iniciar".

Tras ello Apache quedará activado e instalado como servicio de forma definitiva. Para comprobar su correcta funcionalidad deberemos teclear en el navegador de cualquier estación de trabajo de nuestro centro la URL "http://apache.micentro.edu:8080", visualizando la siguiente pantalla:

Page 17: Redes de área local: Aplicaciones y servicios WINDOWS

17

Como vemos en la pantalla anterior, la instalación de Apache se produjo de forma adecuada, así pues hemos completado este apartado satisfactoriamente.

El siguiente paso, cara a que finalmente el sitio web sea accesible vía FTP únicamente por quien corresponda, es asignar sobre la carpeta "htdocs" los permisos oportunos; para ello nos ubicamos sobre la carpeta "C:\Apache\htdocs", y pulsamos sobre ella con el botón derecho del ratón, seleccionando la opción "Propiedades" y en la nueva ventana nos ubicamos en la pestaña "Seguridad"; a continuación pulsamos sobre el botón "Opciones avanzadas" y desactivamos la casilla "Permitir que los permisos heredables del primario se propaguen a este objeto ..." y en la ventana que se muestra pulsamos sobre el botón "Quitar"; confirmamos que no quede ningún usuario (si lo hubiera lo seleccionamos y pulsamos de nuevo en el botón "Quitar") y a continuación pulsamos sobre el botón "Aceptar" (se nos formulará una advertencia de seguridad en la cual pulsaremos sobre el botón "Sí"). De vuelta a la pestaña "Seguridad" de la carpeta "htdocs" pulsamos sobre el botón "Agregar" y seleccionamos al grupo "Administradores", dándole todos los permisos, de modo que finalmente las propiedades de seguridad de dicha carpeta queden tal y como se muestra en la siguiente imagen.

Page 18: Redes de área local: Aplicaciones y servicios WINDOWS

18

A continuación crearemos una carpeta de nombre "Profesores" colgando de "C:\Apache\htdocs"; esa carpeta será la raíz de la que partirá la estructura de carpetas personales que crearemos para los profesores de nuestro centro; tras su creación nos ubicamos sobre la misma y pulsando con el botón derecho del ratón seleccionaremos la opción "Propiedades", mostrándose una nueva ventana en la que nos situaremos sobre la pestaña "Seguridad", y pulsamos sobre el botón "Agregar", seleccionando al grupo "Profesores" y dejando los permisos tal cual quedan asociados por defecto, es decir tal y como vemos en la imagen siguiente.

Page 19: Redes de área local: Aplicaciones y servicios WINDOWS

19

Tras ello crearemos dos carpetas colgando de la carpeta "Profesores" recién creada, una de nombre "Matematicas" y otra de nombre "Lengua", para ubicar posteriormente la carpeta personal de los profesores en la ruta que le corresponda en función del departamento al que pertenezca; tras ello nos ubicaremos sobre la carpeta "Matematicas" y pulsando con el botón derecho del ratón sobre ella, nos ubicarnos en la pestaña "Seguridad", y posteriormente pulsamos sobre el botón "Opciones avanzadas", y en la nueva ventana mostrada desactivamos la casilla "Permitir que los permisos heredables del primario se propaguen a este objeto ..." y en la ventana que se muestra pulsamos sobre el botón "Copiar" y posteriormente sobre el botón "Aceptar". De vuelta en la ventana principal de "Seguridad" nos ubicamos sobre el grupo "Profesores" y pulsamos sobre el botón "Quitar"; posteriormente pulsamos sobre el botón "Agregar" y seleccionamos al grupo "dpto_matematicas", y dejamos los permisos como se asocian por defecto, tal y como vemos en la siguiente imagen.

NOTA: Este mismo proceso hemos de repetirlo con la carpeta "Lengua", pero agregando en este caso al grupo "dpto_lengua"; el resto del proceso es similar.

El siguiente paso que daremos es crear tres carpetas para nuestros profesores, las carpetas "Javier" y "Miguel" colgando de la ruta "C:\Apache\htdocs\Profesores\Matematicas", y la carpeta "Joaquin" colgando de la ruta "C:\Apache\htdocs\Profesores\Lengua"; una vez creadas pulsaremos con el botón derecho del ratón sobre cada una de ellas, ubicándonos en la pestaña "Seguridad", y posteriormente pulsamos sobre el botón "Opciones avanzadas", y en la nueva ventana mostrada desactivamos la casilla "Permitir que los permisos heredables del primario se propaguen a este objeto ..." y en la ventana que se muestra pulsamos sobre el botón "Copiar" y posteriormente sobre el botón "Aceptar". De vuelta en la ventana principal de "Seguridad" nos ubicamos sobre el grupo correspondiente (por ejemplo "dpto_matematicas" en el caso del profesor "Javier") y pulsamos sobre el botón "Quitar"; posteriormente pulsamos sobre el botón "Agregar" y seleccionamos al usuario en cuestión (por ejemplo sobre la carpeta "Javier" seleccionamos al usuario "Javier"). Tras ello activamos todos los permisos sobre la carpeta para dicho usuario menos el de "Control total", de modo que los permisos queden finalmente tal y como vemos en la siguiente ventana.

Page 20: Redes de área local: Aplicaciones y servicios WINDOWS

20

Completaremos el proceso pulsando sobre el botón "Aceptar".

Concluiremos este apartado cuando hayamos realizado el proceso anterior para cada carpeta de los 3 profesores de nuestro centro.

AAcccceessoo aa ccaarrppeettaass sseegguurraass Una vez que hemos instalado nuestro servidor Apache en el puerto 8080, el siguiente paso que vamos a dar es lograr un acceso seguro a nuestro servidor web, de modo que podamos crear en nuestros sitios web de Apache carpetas seguras, a las que se acceda por SSL (Secure Socket Layer), de modo que en nuestro navegador sólo podamos acceder a dicha carpeta vía "https" y no "http"; para conseguirlo debemos proceder del siguiente modo:

Lo primero que debemos hacer es disponer para el sitio web deseado (en nuestro caso lo haremos para el sitio web creado, "apache.micentro.edu"), de un certificado de la entidad emisora de certificados "OpenSSL" instalada anteriormente; para ello abrimos una ventana de MS-DOS en nuestro servidor Windows 2003, y nos ubicamos en la ruta "C:\Openssl\bin".

Page 21: Redes de área local: Aplicaciones y servicios WINDOWS

21

El primer paso que hemos de realizar es teclear "OpenSSL" y posteriormente pulsar sobre la tecla "ENTER", de modo que el prompt queda como "OpenSSL>".

A continuación generamos la petición de certificado para el servidor tecleando la siguiente cadena de caracteres en el prompt "OpenSSL>"

req -config openssl.cnf -new -out apache.csr

Tras teclear este comando se nos solicita en primer lugar una clave ("pass"), pudiendo indicar la cadena que deseemos; en nuestro caso hemos decidido poner "apachessl", clave que hemos de introducir por duplicado para su confirmación. Posteriormente comienza la solicitud de datos propios del certificado que vamos a generar, de modo que especificaremos para cada parámetro solicitado el valor indicado en las siguiente líneas:

"Country Name" indicamos "ES"

"State or Province Name" indicamos "Madrid"

"Locality Name" indicamos "Madrid"

"Organization Name" indicamos "MiCentro"

"Organizational Unit Name" pulsamos directamente sobre <ENTER>

Page 22: Redes de área local: Aplicaciones y servicios WINDOWS

22

"Common Name" indicamos "apache.micentro.edu"

"Email Address" indicamos "[email protected]"

"A challange password" pulsamos directamente sobre <ENTER>

"An optional company name" pulsamos directamente sobre <ENTER>

Una vez completada la introducción de los datos anteriores, y de vuelta en el prompt "OpenSSL>", generamos una pareja de claves para el servidor tecleando la siguiente cadena:

rsa -in privkey.pem -out apache.key

Tras lo cual se solicita que introduzcamos la clave anteriormente especificada (recordemos que habíamos indicado la clave "apachessl"); procederemos a realizar dicha operación.

Finalmente generamos el certificado de la clave pública del servidor firmado por la entidad certificadora mediante la siguiente orden:

x509 -in apache.csr -out apache.crt -req -signkey apache.key -days 3650

Page 23: Redes de área local: Aplicaciones y servicios WINDOWS

23

Por último salimos del prompt "OpenSSL" tecleando "exit".

Finalmente cerramos la ventana de MS-DOS, pues ya habremos generado el certificado deseado para el sitio "apache.micentro.edu".

A continuación modificamos el fichero "httpd.conf" ubicado en "C:\Apache\conf", incluyendo la siguiente línea bajo la correspondiente a "Listen 8080":

Listen 4443

Además descomentamos la siguiente línea quitando el símbolo "#".

LoadModule ssl_module modules/mod_ssl.so

NOTA: La entrada "Listen 4443" significa que nuestro servidor web también "escucha" en el puerto 4443, y de hecho será el puerto que utilizaremos para el acceso a páginas seguras, pues el puerto 443 ya está siendo ocupado para el acceso a páginas seguras por nuestro servidor IIS. Posteriormente asociaremos el acceso a las páginas seguras deseadas a dicho puerto (4443).

Añadimos también la siguiente línea al fichero httpd.conf:

AddModule mod_ssl.c

Page 24: Redes de área local: Aplicaciones y servicios WINDOWS

24

Junto a las directivas similares "AddModule" en el archivo de configuración "httpd.conf".

El último paso es crear un sitio web virtual en nuestro servidor Apache que sea accesible vía SSL por el puerto 4443; para ello añadimos todo lo siguiente al final del archivo de configuración "httpd.conf":

SSLMutex sem

SSLRandomSeed startup builtin

SSLSessionCache none

SSLLog logs/SSL.log

SSLLogLevel info

<VirtualHost apache.micentro.edu:4443>

ServerName apache.micentro.edu

SSLEngine On

SSLCertificateFile conf/modssl/apache.crt

SSLCertificateKeyFile conf/modssl/apache.key

</VirtualHost>

Finalmente guardaremos los cambios realizados en el fichero "httpd.conf".

Continuaremos el proceso de configuración creando un directorio llamado "modssl" dentro del directorio de "C:\Apache\conf", y posteriormente copiamos los ficheros "apache.crt" y "apache.key" que se encuentran en "C:\OpenSSL\bin" a C:\Apache\conf\modssl".

NOTA: Dicha pareja de ficheros fue creada durante el proceso de generación de los certificados.

Por último reiniciamos el servicio "Apache", pulsando con el botón derecho del ratón sobre dicho servicio desde la ventana "Servicios" de las "Herramientas Administrativas" del "Panel de Control", y seleccionando la opción "Reiniciar"; para comprobar el correcto acceso a las páginas seguras de nuestro Apache, tecleamos desde el navegador "https://apache.micentro.edu:4443". Lo primero que se muestra es la alerta de seguridad que nos indica que el certificado no está emitido por una CA en la que confiamos.

Page 25: Redes de área local: Aplicaciones y servicios WINDOWS

25

Pulsaremos sobre el botón "Ver Certificado" mostrándose la siguiente pantalla:

En la nueva ventana pulsaremos sobre "Instalar Certificado", mostrándose la siguiente ventana en la que pulsaremos sobre el botón "Siguiente".

Page 26: Redes de área local: Aplicaciones y servicios WINDOWS

26

En la siguiente ventana pulsamos directamente sobre el botón "Siguiente".

A continuación se presenta la ventana final del asistente, en la cual pulsaremos sobre el botón "Finalizar".

Page 27: Redes de área local: Aplicaciones y servicios WINDOWS

27

En este instante se muestra la advertencia de seguridad de aceptación de instalación del certificado, en la cual pulsamos sobre el botón "Sí".

Una vez completado el proceso se mostrará la siguiente ventana en la cual pulsaremos sobre el botón "Aceptar".

NOTA: A partir de este momento, cuando accedamos a una página segura de nuestro servidor Apache ya no se mostrará la alerta de seguridad. Este proceso hemos de hacerlo en cada equipo que acceda a las páginas seguras del servidor web Apache si deseamos evitar la aparición de la alerta de seguridad en el acceso a páginas seguras.

Page 28: Redes de área local: Aplicaciones y servicios WINDOWS

28

Recordemos que estábamos probando el correcto acceso a las páginas seguras de nuestro Apache, pues bien, cuando tecleemos en el navegador "https://apache.micentro.edu:4443" deberemos ver la siguiente ventana, que indica que hemos instalado adecuadamente el acceso seguro al servidor web virtual Apache.

NOTA: Si estamos utilizando la versión 7 de Internet Explorer, en vez de lo anterior, pasará a mostrarse la siguiente pantalla, en la cual, en contra de lo que inicialmente podríamos pensar, deberemos pulsar sobre el enlace "Vaya a este sitio web (no recomendado)", a fin de poder visualizar correctamente la pantalla anterior.

Page 29: Redes de área local: Aplicaciones y servicios WINDOWS

29

En este instante vamos a crear una carpeta de nombre "seguro" colgando de "C:\Apache\htdocs", de modo que todo lo que coloquemos en dicha carpeta deba ser accedido exclusivamente vía "https" mediante SSL. Para conseguirlo además de crear dicha carpeta, debemos editar el fichero "httpd.conf" e introducir en el apartado correspondiente a los directorios la siguiente entrada:

<Directory "C:/apache/htdocs/seguro">

Options Indexes FollowSymlinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

SSLRequireSSL

</Directory>

Finalmente salvamos los cambios en el fichero de configuración, y reiniciamos el servicio Apache, de modo que tras ello a partir de este momento, cualquier fichero que coloquemos colgando de la ruta "C;\Apache\htdocs\seguro" será accedido vía "https"; si por ejemplo colocamos un fichero "prueba.htm" en la carpeta "seguro", accederemos a ella a través de la siguiente URL: "https://apache.micentro.edu:4443/seguro/prueba.htm".

Así mismo para que los profesores de nuestro centro tengan una carpeta segura donde poder colocar contenidos accesibles vía SSL, crearemos una carpeta de nombre "seguro" para cada uno de nuestros profesores, "Joaquin", "Javier" y "Miguel" colgando de su carpeta personal en el servidor Apache (por ejemplo en el caso del profesor Javier a dicha carpeta se encuentra en "C:\Apache\htdocs\Profesores\matematicas\Javier").

Page 30: Redes de área local: Aplicaciones y servicios WINDOWS

30

Además introduciremos una nueva entrada de directorio seguro para la carpeta en cuestión en el fichero "httpd.conf", tecleando las siguiente líneas:

<Directory "C:/apache/htdocs/profesores/matematicas/javier/seguro">

Options Indexes FollowSymlinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

SSLRequireSSL

</Directory>

Tras ello guardamos los cambios realizados en el fichero "httpd.conf", de modo que para acceder a un fichero de nombre "prueba.htm" ubicado en la carpeta segura del profesor "Javier" teclearemos la siguiente URL: https://apache.micentro.edu:4443/Profesores/Matematicas/Javier/seguro/prueba.htm". Hemos de tener en cuenta que previamente debemos reiniciar el servidor Apache mediante la opción "Servicios" de las "Herramientas Administrativas" del "Panel de Control" para poder comprobar la validez de los cambios realizados.

NOTA: Este proceso hemos de hacerlo para los 3 profesores de nuestro centro, evidentemente cambiando en las instrucciones la ruta correspondiente al directorio donde se encuentra la carpeta "seguro" de cada usuario.

AAcccceessoo aa ccaarrppeettaass pprriivvaaddaass Otra posibilidad muy interesante es que los profesores, e incluso el sitio web de la Intranet de nuestro centro, puedan disponer de carpetas privadas accesibles mediante el navegador pero no por cualquier usuario; por ejemplo los profesores podrían disponer de una carpeta donde almacenar información confidencial accesible desde la web, como por ejemplo las notas. Así mismo puede ocurrir que queramos tener en el servidor web de nuestra Intranet páginas a las que sólo puedan tener acceso de lectura los profesores del centro. Vamos a ver como conseguir todo esto.

Lo primero que hemos de tener en cuenta es que para que podamos autenticar a los usuarios de Active Directory mediante Apache, hemos de instalar un módulo especial en nuestro servidor web para que Apache pueda validar el acceso a las carpetas deseadas a través de la base de usuarios de Active Directory de nuestro Windows 2003 Server. La autenticación de los usuarios se producirá vía LDAP (Protocolo Ligero de Acceso al Directorio), un protocolo estándar para el acceso a multitud de bases de datos, entre ellas Active Directory.

Así pues lo primero es descargarnos el módulo de autenticación LDAP pinchando aquí, y copiar dicho fichero "auth_ldap.zip" en el Escritorio de nuestro Windows 2003 Server; tras ello procedemos a descomprimirlo en el mismo Escritorio, creándose una carpeta de nombre "ApacheLDAPMod". Al abrir dicha carpeta nos encontraremos con 3 subcarpetas, y abrimos la subcarpeta "Winnt-System32-dir", y copiamos los 4 ficheros que encontraremos en la carpeta "C:\Windows\System32" de nuestro servidor Windows 2003.

Page 31: Redes de área local: Aplicaciones y servicios WINDOWS

31

A continuación abrimos la subcarpeta "Apache-modules-dir" y copiamos el fichero "auth_ldap.dll" que encontramos en dicha ubicación a la ruta "C:\Apache\modules". Tras ello podemos eliminar la carpeta "ApacheLDAPMod" y el fichero "auth_ldap.zip" del Escritorio de nuestro Windows 2003.

El siguiente paso es crear una carpeta de nombre "privado" colgando de "C:\Apache\htdocs", lugar donde ubicaremos las páginas privadas de nuestro servidor web Apache.

Tras ello debemos editar de nuevo el fichero "httpd.conf", ubicado en la ruta "C:\Apache\conf", e incluimos las siguientes entradas, en los correspondientes apartados "LoadModule" y "AddModule":

LoadModule auth_ldap_module modules/auth_ldap.dll (agregándolo al final de las entradas "LoadModule")

AddModule auth_ldap.c (agregándolo al final de las entradas "AddModule")

Posteriormente introducimos textualmente las siguientes líneas, mediante las cuales logramos definir la carpeta "privado" como aquella a partir de la cual el contenido allí contenido será privado y sólo accesible por el administrador.

Alias /privado/ "C:/apache/htdocs/privado/" <Directory "C:/apache/htdocs/privado">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

AuthType basic

AuthName MiCentro.edu

AuthLDAPUrl ldap://servidor.MiCentro.edu:389/cn=users,dc=micentro,dc=edu?samAccountName?sub?(objectClass=User)

AuthLDAPBindDN "cn=administrador,cn=users,dc=MiCentro,dc=edu"

AuthLDAPBindPassword xxxxxx

require user administrador

</Directory>

NOTA: Sustituiremos la cadena "xxxxxx" en la entrada "AuthLDAPBindPassword" por la contraseña que hayamos asignado al usuario "administrador" del dominio "MiCentro". Hemos de tener presente que potencialmente podrá ser validado cualquier usuario que se encuentre incluido en la carpeta "Users" de nuestro "Active Directory".

Page 32: Redes de área local: Aplicaciones y servicios WINDOWS

32

Guardamos los cambios realizados y para completar el proceso reiniciaremos el servidor "Apache" mediante la opción "Servicios" de las "Herramientas Administrativas" del "Panel de Control".

Si ubicamos un fichero de nombre "prueba.htm" en dicha carpeta ("C:\Apache\htdocs\privado"), podremos acceder a ella mediante la URL "http://apache.micentro.edu:8080/privado/prueba.htm", mostrándose la siguiente pantalla en la cual se nos pedirá autenticación, y en la cual serán válidas las credenciales del administrador.

Una vez validado adecuadamente algún usuario con permisos de acceso a los contenidos privados se mostrará la página solicitada.

Además podemos crear una carpeta privada para cada profesor, de modo que el contenido allí existente sólo fuera accesible por el mismo previa autenticación; para ello crearemos una carpeta de nombre "privado" colgando de la carpeta personal de cada profesor (por ejemplo en el caso del profesor Javier, en "C:\Apache\htdocs\Profesores\Matematicas\Javier"). Además de la creación de dicha carpeta "privado" en la ruta correspondiente, hemos de editar el fichero "htppd.conf" e incluir la siguiente entrada en el apartado correspondiente a los directorios:.

Alias /javier/ "C:/apache/htdocs/profesores/matematicas/javier/privado" <Directory "C:/apache/htdocs/profesores/matematicas/javier/privado">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

AuthType basic

AuthName MiCentro.edu

AuthLDAPUrl ldap://servidor.MiCentro.edu:389/ou=Profesores,dc=micentro,dc=edu?samAccountName?sub?(objectClass=User)

Page 33: Redes de área local: Aplicaciones y servicios WINDOWS

33

AuthLDAPBindDN "cn=administrador,cn=users,dc=MiCentro,dc=edu"

AuthLDAPBindPassword xxxxxx

require user javier

</Directory>

NOTA: Sustituiremos la cadena "xxxxxx" en la entrada "AuthLDAPBindPassword" por la contraseña que hayamos asignado al usuario "administrador" del dominio "MiCentro". Además hemos de introducir esta entrada para cada uno de los profesores del centro, sustituyendo en las rutas de las dos primeras líneas el valor "javier" por el del profesor que deseamos que tenga el acceso seguro, así como dicho valor también en la penúltima línea.

Tras almacenar los cambios en el fichero de configuración y reiniciar el servicio Apache, para acceder a un fichero de nombre "prueba.htm" ubicado en la carpeta privada del profesor Javier teclearemos la URL: "http://apache.micentro.edu:8080/Profesores/Matematicas/Javier/privado/prueba.htm".

NOTA: Es posible hacer, y de hecho es recomendable, que las carpetas privadas sean además seguras, es decir, utilicen un canal SSL, con lo cual el acceso a las carpetas seguras sería "https" en el puerto "4443", el resto de las rutas de las URL de acceso se mantendrían estables. Para lograrlo hemos de introducir en cada una de las entradas "<Directory>" la instrucción "SSLRequireSSL".

PPrrootteecccciióónn ddee ccaarrppeettaass bbaassee Tal y como hemos ido creando las carpetas raíz para cada profesor en nuestro servidor web Apache, dichos usuarios tiene todos los permisos bajo su carpeta raíz, aunque ésta no puede eliminarla; como las carpetas "privado" o "seguro", están bajo la carpeta raíz de nuestros usuarios, podrían llegar a eliminarlas vía "ftp", y aunque el mismo usuario las pudiera recrear posteriormente, no podría asignarles los permisos necesarios para que cumplieran sus funcionalidades, pues eso es algo que tan sólo el Administrador de nuestro servidor de Windows 2003 podrá hacer.

Para evitar que el usuario pueda eliminar, por error o de forma consciente, las carpetas que el Administrador ha creado bajo su carpeta raíz en el sitio web correspondiente, debemos seguir los pasos siguientes sobre cada una de dichas carpetas.

Nos ubicaremos sobre la carpeta que deseamos proteger contra borrado, por ejemplo la carpeta "seguro" del usuario "Javier", y pulsando con el botón derecho del ratón sobre ella, seleccionamos la opción "Propiedades" y hacemos clic sobre el botón "Opciones avanzadas" del menú "Seguridad", mostrándose la siguiente ventana.

Page 34: Redes de área local: Aplicaciones y servicios WINDOWS

34

Una vez allí pulsamos sobre el botón "Agregar" y a continuación seleccionamos al propietario de dicha carpeta ("Javier", en este caso), denegando explícitamente los permisos de "Eliminar" y "Eliminar subcarpetas y archivos", y MUY IMPORTANTE, aplicamos esta configuración a "Sólo esta carpeta", que aparece en la parte superior de la ventana; iremos aceptando las distintas ventanas que hemos ido abriendo y cuando el sistema nos formule la pregunta correspondiente a la Seguridad, pulsaremos sobre el botón "Sí" para indicar que deseamos efectuar los cambios realizados.

De este modo imposibilitamos por parte del usuario "Javier" el borrado de su carpeta "seguro", pero permitimos el borrado de todo el contenido de dicha carpeta. Esto mismo deberíamos hacer con el resto de carpeta que hemos creado para "Javier", es decir, con la carpeta "privado". Además aplicaremos esto mismo al resto de usuarios ("Miguel" y "Joaquin") para los que también hemos creado las carpetas "seguro" y "privado".

Page 35: Redes de área local: Aplicaciones y servicios WINDOWS

35

PPHHPP++MMyySSQQLL++PPHHPPMMyyAAddmmiinn Para poder aprovechar al máximo el servidor web Apache instalado, es muy conveniente que pueda ejecutar scripts PHP y que pueda acceder a las tablas de una base de datos MySQL. En la instalación del servidor IIS anteriormente comentado, procedimos a la instalación y configuración de PHP, de MySQL y de phpMyAdmin, la herramienta web de gestión de MySQL. Podemos aprovechar que dichos programas ya han sido instalados para acceder a ellos desde nuestro servidor Apache, sin más que realizar unas pequeñas modificaciones en el fichero de configuración del servidor web Apache, de modo que la configuración de PHP y MySQL sea común para los dos servidores web que están conviviendo en nuestra máquina Windows 2003 Server, IIS y Apache.

NOTA: Pinchando sobre los siguientes links, visualizaremos el proceso de instalación y configuración de PHP, MySQL y phpMyAdmin, que como indicamos en el párrafo anterior es común tanto para IIS como para Apache. Insistimos en que NO debemos realizar el proceso de instalación de estos productos por estar previamente instalados cuando abordamos el servidor web IIS.

Así pues no incidiremos en la instalación de los productos indicados anteriormente, pues el proceso ya ha sido descrito en profundidad cuando instalamos nuestro servidor IIS, e indicaremos los cambios necesarios en la configuración del fichero "httpd.conf" de Apache para poder hacer uso de estas aplicaciones desde nuestro servidor Apache. Editaremos pues el fichero de configuración "httpd.conf", ubicado en la ruta "C:\Apache\conf", y modificaremos los siguientes apartados:

Buscaremos la entrada "<IfModule mod_dir.c>" y cambiaremos la línea siguiente:

DirectoryIndex index.html

Por la siguiente instrucción, para que sean reconocidas las extensiones "php" y "asp" por nuestro Apache.

DirectoryIndex index.php index.asp index.html index.htm

También debemos introducir la entrada:

LoadModule php5_module c:/php/php5apache.dll

Encima de las siguientes líneas del fichero "httpd.conf".

# Example: # LoadModule foo_module modules/mod_foo.so

Para modificar el siguiente elemento debemos buscar la entrada "ClearModuleList" e incluir bajo ella la siguiente instrucción:

AddModule mod_php5.c

Por último incluimos la siguiente instrucción encima de la entrada "AddType application/x-tar .tgz":

AddType application/x-httpd-php .php .phtml

Tras ello salvaremos los cambios efectuados en el fichero "httpd.conf".

Page 36: Redes de área local: Aplicaciones y servicios WINDOWS

36

Además de lo todo lo anterior, hemos de copiar el fichero "php5ts.dll" ubicado en "c:\php" en la carpeta "C:\Windows\system32" de nuestro servidor Windows 2003.

Para que los cambios efectuados surtan efecto, debemos reiniciar el servidor Apache, a través de la opción "Servicios" de las "Herramientas Administrativas" del "Panel de Control"; a partir de ese momento cualquier script PHP simple o que ataque MySQL, se ejecutará adecuadamente en Apache, tal cual ocurrirá con nuestro servidor IIS.

NOTA: Hemos mantenido el código de phpMyAdmin en la ruta donde lo habíamos ubicado originalmente en nuestro servidor IIS, aunque podríamos mover esa carpeta a cualquier lugar accesible de nuestro servidor Apache, logrando la misma funcionalidad.

SSeerrvviiddoorr FFTTPP Para poder subir contenidos a nuestro servidor Apache, dado que ya tenemos instalado el servidor FTP del IIS, y que dicho servidor FTP integra la autenticación de los usuarios de Active Directory, aprovecharemos dicho servidor para gestionar el acceso de los usuarios de Active Directory al servidor web Apache.

Concretamente crearemos dos nuevos sitios "FTP"; uno para la gestión de las páginas de nuestro centro, que escuchará en el puerto 2123 y apuntará a la ruta "C:\Apache\htdocs", y el servidor FTP para los profesores de nuestro centro de Apache, que escucha en el puerto 2124 y que apunta a la ruta "C:\Apache\htdocs\Profesores".

Así pues procederemos a crear los dos sitios ftp indicados anteriormente; para ello abriremos el "Administrador de Servicios de Internet", y pulsaremos con el botón derecho del ratón sobre el servidor IIS, seleccionando la opción "Nuevo" y posteriormente "Sitio FTP".

La primera pantalla que aparece es la del asistente de creación de un sitio ftp; pulsaremos sobre el botón "Siguiente" para continuar.

Page 37: Redes de área local: Aplicaciones y servicios WINDOWS

37

A continuación indicaremos la descripción deseada para el nuevo sitio ftp; en la caja de texto correspondiente indicaremos "FTP Apache MiCentro", y pulsamos sobre el botón "Siguiente".

Page 38: Redes de área local: Aplicaciones y servicios WINDOWS

38

En la siguiente pantalla especificamos el puerto que será utilizado para el FTP; indicaremos el puerto 2123 y a continuación pulsamos sobre el botón "Siguiente".

En la siguiente pantalla seleccionamos la opción "No aislar usuarios " (opción por defecto) y pulsamos directamente sobre el botón "Siguiente".

Page 39: Redes de área local: Aplicaciones y servicios WINDOWS

39

En la pantalla que se muestra a continuación, especificaremos la ruta de acceso del nuevo sitio ftp; indicaremos la ruta donde alojaremos los ficheros de la web de la intranet del servidor Apache de nuestro centro, es decir, "C:\Apache\htdocs", y pulsamos a continuación sobre el botón "Siguiente".

Posteriormente debemos activar las casillas "Lectura" y "Escritura" en la siguiente ventana, para que el acceso a los directorios de nuestro sitio web Apache pueda establecerse en dichas condiciones, y a continuación pulsamos sobre el botón "Siguiente".

Page 40: Redes de área local: Aplicaciones y servicios WINDOWS

40

Una vez completado el proceso de creación del nuevo sitio ftp se muestra la siguiente pantalla; para completar el proceso pulsaremos sobre el botón "Finalizar".

Tras instalar el nuevo sitio ftp "FTP Apache MiCentro", debemos configurarlo adecuadamente; para ello nos situaremos en nuestro servidor IIS y haremos clic con el botón derecho del ratón sobre el sitio ftp "FTP Apache MiCentro" y seleccionaremos la opción "Propiedades"; en la ventana que se muestra a continuación nos ubicamos sobre la pestaña "Cuentas de Seguridad" y desactivamos la casilla "Permitir conexiones anónimas"; ante esta operación se nos informará de que esta opción provoca un problema de seguridad al transmitirse las contraseñas por la red sin cifrado; pulsamos sobre el botón "Sí" para confirmar la opción elegida.

Page 41: Redes de área local: Aplicaciones y servicios WINDOWS

41

Además, y antes de pulsar sobre el botón "Aceptar", nos situaremos sobre la pestaña "Mensajes" e incluimos el siguiente texto de bienvenida "FTP Apache de MiCentro"; finalmente pulsamos sobe el botón "Aceptar".

Page 42: Redes de área local: Aplicaciones y servicios WINDOWS

42

El siguiente paso que llevaremos a cabo es crear un nuevo sitio FTP para los profesores, con la misma configuración que el anterior, salvo que en descripción indicaremos "FTP Apache Profesores", como puerto "2124" y en la ruta indicaremos "C:\Apache\htdocs\Profesores"; tras la instalación configuraremos el sitio FTP para los profesores exactamente igual que el anterior. Así por ejemplo para que el profesor "Javier" pueda acceder a su espacio web vía FTP debería teclear en la URL de su navegador "ftp://apache.micentro.edu:2124/matematicas/Javier".