Servidor HTTP Apache

67 %
33 %
Information about Servidor HTTP Apache
Technology

Published on February 16, 2014

Author: franmeister87

Source: slideshare.net

Description

Como configurar un Servidor HTTP Apache. Tutorial de instalación de Joomla y Moodle

SRI SERVIDOR HTTP – APACHE2 Francisco José Cruz Jiménez 2º ASIR

Servidor HTTP – Apache2 INDICE : Instalación del servicio HTTP en Debian Squeeze ............................................................. 3 Ejercicio 1 .............................................................................................................................. 4 Escenario 1: Configura dos VirtualHosts con distinto interfaz, mismo puerto ............. 4  Descripción del escenario ...................................................................................... 4  Configuración del escenario .................................................................................. 4  Configuración del servicio .................................................................................... 7 Escenario 2: Configura dos VirtualHosts con mismo interfaz, diferente puerto. ....... 10  Descripción del escenario .................................................................................... 10  Configuración del escenario ................................................................................ 10  Configuración del servicio .................................................................................. 10 Escenario 3: Configura dos VH con mismo interfaz y puerto y distinto nombre. ...... 12  Descripción del escenario .................................................................................... 13  Configuración del escenario ................................................................................ 13  Configuración del servicio .................................................................................. 13 Ejercicio 2 ............................................................................................................................ 16  Descripción del escenario .................................................................................... 16  Configuración del escenario ................................................................................ 16  Configuración del servicio .................................................................................. 16 Ejercicio 3 ............................................................................................................................ 26  Módulo para comprimir: mod_deflate ................................................................ 26  Módulo para cachear: mod_disk_cache ............................................................. 27  mod_userdir .......................................................................................................... 29 Ejercicio 4 ............................................................................................................................ 30  Mod_auth_basic ................................................................................................... 34  Mod_auth_digest .................................................................................................. 35 Ejercicio 4 ............................................................................................................................ 36  Awstats ................................................................................................................. 36  Webalizer .............................................................................................................. 38 Francisco José Cruz Jiménez 2

Servidor HTTP – Apache2 Instalación del servicio HTTP en Debian Squeeze Un servidor web sirve contenido a un navegador, este pide el recurso que sea, el servidor carga el archivo (para contenido estático, por ejemplo HTML) o procesa la aplicación y sirve el resultado (para contenidos dinámicos, por ejemplo PHP) y lo sirve a través de la red al navegador del cliente. Este intercambio es mediado por el navegador y el servidor que hablan el uno con el otro mediante HTTP, de ahí el nombre servidor HTTP. A continuación vamos a instalar un servidor web en nuestra máquina Debian Squeeze, en concreto instalaremos Apache2, existen muchos servidores web actualmente (Nginx, IIS, Cherokee, lighttpd,…), pero el más usado es Apache, las estadísticas hablan de casi un 60% de los servidores web existentes son Apache. Para instalarlo usaremos: # apt-get install apac he2 Ahora comprobamos que la instalación ha sido satisfactoria observando que existen procesos apache2, hay que resaltar que apache no solo tiene un proceso como los servicios anteriormente vistos, sino que posee varios pares de ellos, dependiendo si su MPM es Worker o Prefork (El modo Worker trabaja con hilos, esto hace que tenga menos procesos que si fuese modo Prefork, que por cada petición crea un proceso). # ps aux | egrep apache2 Además también comprobaremos que el puerto 80 está a la escucha. # netstat –natup | egrep apac he2 Otra comprobación que podemos hacer es poner la dirección IP del servidor en un navegador, si apache2 está correcto nos mostrara lo siguiente. Francisco José Cruz Jiménez 3

Servidor HTTP – Apache2 Ejercicio 1 Escenario 1: Configura dos VirtualHosts con distinto interfaz, mismo puerto  Descripción del escenario En esta escenario de la práctica necesitaremos una máquina con Debian Squeeze para montar el servicio web, se utilizará una máquina virtual con dos interfaces distintos, como dice el enunciado, y como cliente usaremos nuestra máquina real.  Configuración del escenario Como he explicado antes, en esta práctica usaremos una máquina Debian Squeeze como servidor, se utilizará una máquina virtual con dos interfaces. La configuración de red que hay que establecer en la MV será de las dos interfaces configuradas como Adaptador Solo-Anfitrión, ya que tenemos que comunicarnos con la máquina real por medio de las dos interfaces y seria poco serio establecer ambas interfaces como Adaptador Puente. Para usar este modo de red hay que crear dos adaptadores vbox, para esto vamos a Archivo  Preferencias  Red  Agregar Francisco José Cruz Jiménez 4

Servidor HTTP – Apache2 adaptador solo-anfitrión. Estas son capturas de cómo configuramos ambos adaptadores. vboxnet 0 vboxnet 1 Ahora en la configuración de red de la MV elegimos un adaptador de los creados anteriormente para cada interfaz (vboxnet0 para el adaptador 1 y vboxnet2 para el adaptador 2) . Nos quedará así. Francisco José Cruz Jiménez 5

Servidor HTTP – Apache2 También tenemos que tener en cuenta que necesitamos conexión a internet para instalar desde los repositorios Apache2, para ello utilizaremos otro tercer interfaz que configuraremos en Adaptador Puente o NAT. Esta configuración no la explicaré ya que no es parte del escenario y también resulta un tanto trivial. Para terminar con la configuración del escenario necesitamos configurar las IP de las interfaces en la máquina Debian, para ello editamos el fichero de configuración de interfaces y le daremos esta configuración. # nano /etc/network/interf ac es Para que tenga efecto estas modificaciones tenemos que reiniciar el servicio de networking, además antes levantaremos la eth1, ya que está desactivada. # ifup eth1 # s ervic e networking res tart Francisco José Cruz Jiménez 6

Servidor HTTP – Apache2  Configuración del servicio Configuraremos dos VirtualHosts diferentes, cada uno escuchará en cada interfaz, ambos por el mismo puerto, el 80. Antes explicaré un poco Apache2. Tras la instalación, éste se sitúa por defecto en /etc/apache2, en dicha carpeta se encuentran otras carpetas y archivos referentes a la configuración de este servidor web. Existen cuatro carpetas realmente importantes, sites-available, sites-enabled, mods-available y mods-enabled, en ellas encontramos los módulos y sitios disponibles (available) y los habilitados (enabled), decir que nosotros solo creamos los sitios en sites-available, lo que se encuentra en sites-enabled son enlaces simbólicos que apuntan a los sitios de la anterior carpeta que estén habilitados, lo mismo ocurre con los módulos. En cuanto a archivos de configuración, nosotros tocaremos sobretodo ports.conf, donde configuraremos los puertos que están a la escucha. En apache2.conf se encuentra la configuración general de Apache2. Una vez introducido un poco la estructura del directorio de Apache2 vamos con la configuración de los VirtualHost. Una vez que tenemos instalado Apache2, crearemos ambos sitios en sites-available, la configuración que le vamos a dar es la siguiente. # nano /etc/apache2/sites -available/sitio1 # nano /etc/apache2/sites -available/sitio2 Francisco José Cruz Jiménez 7

Servidor HTTP – Apache2 Como podemos ver, he modificado donde añadir entradas al LOG y al ACCESS. Lo haré para todos los sitios que cree en esta práctica. En ports.conf no tenemos que realizar ningún cambio, ya q ambos puertos son el 80 y en este fichero de configuración de puertos aparece por defecto que escuche por el puerto 80. Para que nuestro sitio nos muestre algo cuando lo probemos crearemos un index.html en los DocumentRoot de ambos sitios. # mkdir /var/www/sitio1 # nano /var/www/sitio1/index.html Y realizamos lo mismo pero en /var/www/sitio2. # mkdir /var/www/sitio2 # nano /var/www/sitio2/index.html Como dije antes, los sitios activados aparecen como enlaces simbólicos en sitesenabled, para habilitar sitios podemos hacerlo de dos modos, o bien hacemos nosotros manualmente los enlaces con ln –s, o podemos usar a2ensite. # a2ens ite sitio1 Francisco José Cruz Jiménez 8

Servidor HTTP – Apache2 # a2ens ite sitio2 Una vez realizadas las configuraciones tenemos que teiniciar el servidor para que los cambios se realicen, para ello utilizamos lo siguiente. # s ervic e apac he2 restart Para cuando al teiniciar el servidor nos devuelva un error de sintaxis podemos saber dónde está el error de sintaxis, para ello usamos: # apache2c tl c onfigtes t Para probar nuestros sitios nos vamos a un navegador en la máquina real, ponemos la IP correspondiente a cada sitio en la barra de dirección y comprobamos que lo que nos muestra es lo correspondiente a esos sitios. http://192.168.51.2 http://192.168.52.2 Como vemos está todo correcto y funciona correctamente. Con esto acabamos con este escenario. Francisco José Cruz Jiménez 9

Servidor HTTP – Apache2 Escenario 2: Configura dos VirtualHosts con mismo interfaz, diferente puerto.  Descripción del escenario En este segundo escenario de la práctica necesitaremos una máquina con Debian Squeeze para montar el servicio web, se utilizará la máquina virtual anterior, pero con una sola interfaz y como cliente usaremos nuestra máquina real.  Configuración del escenario En este escenario usaremos una máquina Debian Squeeze como servidor, como el anterior escenario, la misma máquina, pero en cambio solo necesitamos una interfaz. La configuración de red que vamos a establecer esta vez en la MV va a ser de Adaptador Puente, aunque también podemos usar Adaptador Solo-Anfitrión, ya que tenemos que comunicarnos con la máquina real por medio de esta interfaz y puede valer las dos.  Configuración del servicio En este escenario configuraremos dos VirtualHosts diferentes, tal como lo hicimos en el anterior escenario (los sitios serán los mismos, solo modificaré lo que sea necesario), debemos configurarlos para que cada sitio escuche por un puerto distinto, ya que la interfaz será la misma, es decir, para acceder al sitio tenemos que usar http:// IP : puerto. Para comenzar, modificaremos los sitios que tenemos del anterior escenario y cambiaremos los puertos de escucha, para sitio1 usaremos el puerto 80 y para sitio2 el puerto 8080. # nano /etc/apache2/sites -available/sitio1 Francisco José Cruz Jiménez 10

Servidor HTTP – Apache2 # nano /etc/apache2/sites -available/sitio2 En este escenario si tenemos que modificar el archivo ports.conf, ya que necesitamos añadir a la configuración de puertos que escuche por el 8080. # nano /etc/apache2/ports.c onf Francisco José Cruz Jiménez 11

Servidor HTTP – Apache2 Posteriormente reiniciamos el servidor y probamos en el navegador los dos sitios, indicando cada puerto al que va. # s ervic e apac he2 restart http://192.168. 128.2 http://192.168.128.2:8080 Con esto ya tenemos configurado y funcionando el escenario número 2. Pasamos al siguiente. Escenario 3: Configura dos VirtualHosts con mismo interfaz, mismo puerto y distinto nombre. Francisco José Cruz Jiménez 12

Servidor HTTP – Apache2  Descripción del escenario En este tercer escenario de la práctica, como en los dos anteriores, necesitaremos una máquina con Debian Squeeze para montar el servicio web, se utilizará una máquina virtual con una interfaz y como cliente usaremos nuestra máquina real.  Configuración del escenario En este escenario usaremos la máquina Debian Squeeze anterior, de nuevo como servidor, y con la misma la configuración de red.  Configuración del servicio En este escenario configuraremos dos VirtualHosts diferentes, tal como lo hicimos en el anterior escenario (los sitios serán los mismos, solo modificaré lo que sea necesario), debemos configurarlos para que cada sitio escuche el mismo puerto, diferenciaremos ambos sitos por su nombre, es decir, para acceder al sitio tenemos que usar http://sitio1.com. Para comenzar, modificaremos los sitios que tenemos del anterior escenario y añadiremos la directiva ServerName. # nano /etc/apache2/sites -available/sitio1 # nano /etc/apache2/sites -available/sitio2 Francisco José Cruz Jiménez 13

Servidor HTTP – Apache2 En este escenario ya podemos quitar de la configuración de ports.conf el puerto 8080, ya no se usará. Posteriormente reiniciamos el servidor y probamos en el navegador los dos sitio. # s ervic e apac he2 restart Para indicarle a que dirección queremos ir cuando introducimos el nombre de un sitio tenemos que configurar un archivo de nuestra máquina real. En Ubuntu es el siguiente. # nano /etc/hosts En Windows es este. C:W indowsSystem32driversetchosts Francisco José Cruz Jiménez 14

Servidor HTTP – Apache2 Ahora probamos los sitios. http://sitio1 http://sitio2 Con esto ya tenemos configurado y funcionando el escenario número 3. Francisco José Cruz Jiménez 15

Servidor HTTP – Apache2 Ejercicio 2  Descripción del escenario Manteniendo la última configuración del escenario anterior, montar una plataforma Moodle en unos de los sitios anteriores y llamarlo moodle.misitio.com y en el otro sitio montar el gestor de contenido Joomla y su nombre será www.misitio.com. Posteriormente hacer funcionar Moodle por el puerto 443 y funcionando sobre https.  Configuración del escenario En este escenario usaremos la máquina Debian Squeeze anterior, de nuevo como servidor, y con la misma la configuración de red.  Configuración del servicio Para empezar este escenario hay que instalar todos los paquetes necesarios para montar Moodle y Joomla, ambas funcionan bajo PHP y necesitan una base de datos entre otras cosas. Vamos a instalar lo siguiente: # apt-get install php5 libapache2 -mod-php5 Con lo anterior instalaremos el módulo PHP5. Con el comando siguiente instalaremos la base de datos MySQL, que es la que hemos elegido (existen otras opciones como PostgreSQL por ejemplo). # apt-get install mys ql-s erver mys ql-c lient Lo siguiente que instalaremos es el conector necesario para PHP con MySQL. Posteriormente también instalaremos la herramienta PHPMyAdmin, que sirve para gestionar las bases de datos a través del navegador. Tambien necesitaremos php5-curl, es una dependencia de Moodle, el cual también tiene una serie de dependencias, pero se instalan automáticamente, lo podemos ver en la siguiente imagen. # apt-get install php5-mysql # apt-get install phpmyadmin # apt-get install php5-c url Francisco José Cruz Jiménez 16

Servidor HTTP – Apache2 Una vez instalado todas estos módulos y dependencias vamos a comenzar a montar los sitios. Lo primero que haremos será decirle a nuestra máquina real los nombres que vamos a usar junto con la IP que va dirigida, como hicimos anteriormente. # nano /etc/hosts A continuación vamos a configurar los sitios anteriores para asignarle lo que vamos a montar en él. Le daremos a cada uno un ServerName, indicaremos donde se ubicará Moodle y Joomla y además separaremos los archivos logs. Moodle lo montaremos en sitio1 y Joomla en sitio2, así que sitio1 pasará a llamarse moodle.misito.com y sitio2 www.misitio.com. # nano /etc/apache2/sites -available/sitio1 Como se puede ver en la imagen anterior he añadido un Alias, este sirve para poder acceder desde el navegador a PHPMyAdmin. Luego lo probaremos. Francisco José Cruz Jiménez 17

Servidor HTTP – Apache2 # nano /etc/apache2/sites -available/sitio2 Ahora vamos a crear el directorio donde se ubicarán ambos recursos. Para ello ponemos: # mkdir /var/www/misitio A continuación necesitamos los paquetes de Moodle y Joomla, como los tenemos en la máquina real vamos a transferirlos a la máquina virtual. $ scp J oomla. zip root@192.168.128.210:/var/www/misitio $ scp Moodle.tgz root@ 192.168.128.210:/var/www/mis itio Una vez que ya tenemos los paquetes, lo siguiente es desplegarlos. Para ello hacemos cosas distintas para cada uno, ya que uno es un zip y el otro un tgz. Para el paquete de Moodle (el paquete contiene ya la carpeta moodle): # tar –xvf /var/www/misitio/Moodle.tgz /var/www/misitio Para descomprimir el zip necesitamos dicho programa, para instarlo: # apt-get install zip # mkdir /var/www/misitio/joomla # unzip J oomla.zip /var/www/misitio/joomla Tras esto ya tenemos todo listo para empezar a instalar ambas aplicaciones. Para que todos los cambios que se han realizado surtan efecto, reiniciamos apache. # s ervic e apac he2 restart Francisco José Cruz Jiménez 18

Servidor HTTP – Apache2 Comenzaremos con Joomla, para acceder introducimos www.misitio.com. Tras un par de pasos lo tendremos configurado y activo. Francisco José Cruz Jiménez 19

Servidor HTTP – Apache2 Para configurar la plataforma Moodle nos dirigimos a moodle.misitio.com En la siguiente imagen vemos que tenemos que crear una carpeta y darle los correspondientes permiso de escritura. # mkdir /var/www/misitio/moodle/moodledata # chmod 777 /var/www/mis itio/moodle/moodledata A continuación seleccionamos el controlador de base de datos que instalamos y que vamos a usar. Francisco José Cruz Jiménez 20

Servidor HTTP – Apache2 Tras estos pasos ya tendremos Moodle configurado y activo: Francisco José Cruz Jiménez 21

Servidor HTTP – Apache2 Para probar PHPMyAdmin 192.168.128.210/phpmuadmin. ponemos en el navegador la dirección Para completar este ejercicio solo nos quedar hacer seguro el sitio moodle, funcionando por https y por el puerto 443. Para empezar habilitaremos el módulo ssl. # a2enmod ssl Luego generaremos un certificado que usaremos posteriormente, aunque también podemos usar en el que trae por defecto. # openssl req –new –x509 –days 365 –nodes –out httpd.pem –keyout httpd.key Francisco José Cruz Jiménez 22

Servidor HTTP – Apache2 Luego en la configuración del módulo ssl ponemos las rutas al certificado generado anteriormente. # nano /etc/apache2/mods -available/ssl.c onf A continuación modificamos (o generamos un sitio nuevo para no perder el anterior, y posteriormente lo habilitamos, deshabilitando el anterior) el sitio de Moodle, para que escuche por el puerto 443, además añadiremos unas nuevas directivas. # nano /etc/apache2/sites -available/moodle__ssl Activamos el sitio nuevo y deshabilitamos el sitio antiguo. Francisco José Cruz Jiménez 23

Servidor HTTP – Apache2 # a2ens ite moodle__ssl # a2dissite sitio1 Para configurar Moodle para que nos redirija a https ponemos la siguiente directiva: # nano /var/www/misitio/moodle/c onfig.php Tras esto reiniciamos apache y comprobamos que todo está correcto accediendo a https://moodle.misitio.com. A continuación aceptamos el certificado. # s ervic e apac he2 restart Francisco José Cruz Jiménez 24

Servidor HTTP – Apache2 Para que cuando introduzcamos moodle.misitio,com y que nos redirija a https://moodle.misitio.com necesitamos un módulo, en concreto rewrite. Lo habilitamos. Luego añadimos en el sitio de moodle unas directivas. # a2enmod rewrite # nano /etc/apache2/sites -available/moodle__ssl # s ervic e apac he2 restart Luego comprobamos que nos redirije correctamente. Francisco José Cruz Jiménez 25

Servidor HTTP – Apache2 Ejercicio 3  Módulo para comprimir: mod_deflate Este módulo para el servidor Apache2 permite comprimir el contenido de las páginas web y todos los resultados que se devuelve a los clientes, esto reduce el uso de ancho de banda por el servidor web y, también aumentar la velocidad de la entrega de contenido. Para habilitarlo: # a2enmod def late Luego en /etc/mod-enable/deflate.conf comprobamos que tenemos lo siguiente, si no lo añadimos. AddOutputFilterByT ype DEFLATE text/plain AddOutputFilterByT ype DEFLATE text/html AddOutputFilterByT ype DEFLATE text/xml AddOutputFilterByT ype DEFLATE text/css AddOutputFilterByT ype DEFLATE text/javascript AddOutputFilterByT ype DEFLATE image/s vg+xml AddOutputFilterByT ype DEFLATE image/x-ic on AddOutputFilterByT ype DEFLATE applic ation/xml AddOutputFilterByT ype DEFLATE applic ation/xhtml+xml AddOutputFilterByT ype DEFLATE applic ation/rss+xml AddOutputFilterByT ype DEFLATE applic ation/javascript AddOutputFilterByT ype DEFLATE applic ation/x -javascript Una vez hecho, reiniciamos Apache. # s ervic e apac he2 restart Para comprobar si funciona correctamente podemos comprobarlo con cualquier sniffer, con este en funcionamiento hacemos una petición de cualquier recurso que nuestro servidor sirva, y tras esto, buscamos el paquete en cuestión en el sniffer y veremos lo siguiente: Francisco José Cruz Jiménez 26

Servidor HTTP – Apache2  Módulo para cachear: mod_disk_cache Sin embargo, parece una tarea un poco tonta que el servidor web tenga que estar comprimiendo una y otra vez los mismos contenidos. Supone estar forzando al procesador a usar ciclos que pueden sernos necesarios para otra tarea en algo que debería de poder evitarse. Para eso existe unos módulos con los podemos conseguir evitar esta sobrecarga inútil para el servidor. Existen tres: El mod_file_cache es el menos flexible de los tres. Sirve para cachear ficheros concretos en disco o memoria, pero si modificamos alguno de dichos ficheros sólo podremos conseguir que Apache sirva la versión actualizada con un reinicio del gestor. El mod_mem_cache nos permite cachear los ficheros en memoria. Sin embargo, lo que teóricamente podría suponer una gran mejora de rendimiento del servidor, nuestro servidor puede quedarse incluso con más trabajo que sin cachear. El mod_disk_cache va almacenando en un directorio los documentos que se van solicitando, así como sus cabeceras. Si el mod_deflate está activo y hay unos clientes que aceptan compresión y otros que no, se cacheará el documento comprimido y sin comprimir. De estos tres módulos vamos a elegir el mod_disk_cache, ya es más eficiente. Para habilitarlo, usaremos: # a2enmod dis k_c ache. Francisco José Cruz Jiménez 27

Servidor HTTP – Apache2 Luego en /etc/apache2/mod-enable/disk_cache.conf habilitamos CacheEnable disk / .La carpeta donde se almacenará todo la cacheado es por defecto /var/cache/apache2/mod_disk_cache, de todas formas se puede cambiar en este archivo. # nano /etc/apache2/mod-enable/dis k_c ac he.c onf Además también en la configuración de nuestros sitios podemos añadir esta misma directiva. Una vez hecho, reiniciamos Apache. # s ervic e apac he2 restart Para comprobar si funciona correctamente podemos comprobarlo haciendo una petición de un recurso, luego hacemos una búsqueda y vemos si hay cosas en el directorio de la cache. # find /var/c ache/apac he2/mod_disk_c ac he Francisco José Cruz Jiménez 28

Servidor HTTP – Apache2  mod_userdir El módulo userdir de Apache permite a los visitantes acceder a sitios web en su servidor al escribir un hostname o dominio, seguido de (~) y el nombre de usuario del dueño del sitio web. Ejemplo: http://mis itio.c om/~nombredeusuario Se usa mayormente como un sistema temporero de URL, que le permite a los usuarios ver sus sitios web aún cuando no se ha configurado el DNS o no apunta hacia el servidor. Para habilitar: # a2enmod us erdir En la configuración del módulo: # nano /etc/apache2/mods -enabled/us erdir.c onf Posteriormente crear el public_html que se mostrará cuando accedamos, en el home del usuario en cuestión y dar permisos correspondiente. # nano /home/usuario/public _html Una vez reiniciado el servidor ya podemos acceder al sitio del usuario con: http://mis itio.c om/~usuario Como podemos imaginar no es para nada recomendable hacerlo como root, siempre hacerlo con un usuario corriente. Francisco José Cruz Jiménez 29

Servidor HTTP – Apache2 Ejercicio 4 Vamos a configurar un nuevo sitio para que contenga un directorio "privado" al que sólo puedan acceder usuarios autorizados. Vamos a usar el tipo de autenticación básica, y realizarlo usando el archivo htaccess para configurar las directivas de seguridad y crear un archivo de usuarios/contraseñas. Luego indicaré cómo se realizaría utilizando el tipo de autenticación "digest". Primero vamos a “jugar” con algunas directivas nuevas. Primero creamos un nuevo sitio llamado privamo. # nano /etc/apache2/sites -available/privad o Creamos su carpeta correspondiente y su html de bienvenida. Habilitamos el sitio, reiniciamos y probamos. Tambien tenemos que añadir en hosts privado.misitio.com # a2ens ite privado # s ervic e apac he2 restart Francisco José Cruz Jiménez 30

Servidor HTTP – Apache2 Una vez que ya tenemos el sitio activo, vamos a probar unas nuevas directivas, la primera va a ser indexes, esto hace q nos muestre un índice de todo los que contiene la dirección, para probarlo renombramos el archivo html ( index.html ). #mv /var/www/privado/index.html / var/www/privado/privado.index.html Y probamos el resultado. Como vemos, nos muestra un índice de lo que contiene la carpeta privado, para eso la opción indexes debe estar activa en el directorio. Para evitar esto, le indicamos un -. Francisco José Cruz Jiménez 31

Servidor HTTP – Apache2 A continuación creamos una carpeta apuntes en privado. Dentro de esta creamos uno.doc y dos.doc. # mkdir /var/www/privado/apuntes # nano /var/www/privado/apuntes/uno.doc # nano /var/www/privad o/apuntes /dos.doc En la configuración del sitio hacemos unos cambios. Añadimos el directorio apuntes y le decimos que indexes y que el documento que debe mostrar cuando accedemos tiene que ser inicio.html, esto lo hacemos con la directiva Directoryindex. # nano /etc/apache2/sites -available/privad o Luego creamos inicio.html, que quedaría asi: Francisco José Cruz Jiménez 32

Servidor HTTP – Apache2 Reiniciamos el servidor y comprobamos que nos muestra en el navegador. Ahora estos últimos cambios vamos a ubicarlos en un archivo llamado .htaccess, este nos va a permitir realizar los cambios sin tener que reiniciar el servicio, algo muy útil. Para ello copiamos las dos directivas de la carpeta apuntes a este archivo nombrado anteriormente (lo crearemos). # nano /var/www/privad o/apuntes /.htacc ess En sustitución de estas directivas, en la configuración del sitio pondremos: # nano /etc/apache2/sites -available/privad o Y probamos sin reiniciar. Francisco José Cruz Jiménez 33

Servidor HTTP – Apache2  Mod_auth_basic Ahora pondremos el acceso al directorio anterior bajo una autentificación, como pide le ejercicio 4 en sí. Para ello habilitamos el módulo. # a2enmod auth_basic A continuación tenemos que crear un archivo donde almacenar usuario y contraseña. # mkdir /etc /apac he2/c laves # htpass wd –c pass .txt fran Esto lo usamos para crear una clave encriptada. Luego añadimos al archivo htaccess unas directivas. Posteriormente probamos. # nano /var/www/privad o/apuntes /.htacc ess Francisco José Cruz Jiménez 34

Servidor HTTP – Apache2  Mod_auth_digest Usando mod_digest de Apache podemos implementar una forma mucho más segura de restringir el acceso a determinados lugares de un sitio web que la anterior, Basic Authentication. Para habilitar el módulo usamos: # a2enmod auth_digest Luego, como en la configuración anterior, en .htaccess del sitio en cuestión ponemos lo siguiente. # nano /var/www/privad o/ apuntes /.htacc ess AuthType Digest AuthName "apuntes" AuthDigestDomain /apuntesr/ privado.misitio.com/apuntes/ AuthDigestFile /etc/ apache2/passwd Require valid-user BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On Para crear el archivo con las contraseñas passwd usamos: htdigest -c pass wd apuntes fran Francisco José Cruz Jiménez 35

Servidor HTTP – Apache2 Ejercicio 4  Awstats AWStats es un programa que genera estadísticas para servidores web. Lo que hace es mostrar el contenido del archivo de log del servidor web de forma gráfica. Entre las cosas que muestra están el número de visitas, navegadores usados, sistemas operativos... Para poder usarlo es necesario tener acceso de lectura al fichero de log del servidor y poder ejecutar scripts hechos en Perl. Para instalar: # apt-get install aws tats Una vez instalado vamos a configurarlo. El fichero de configuración que tocaremos será awstats.conf. Lo primero que vamos a modificar es el idioma, para ello: # nano /etc/awstats/awstats.c onf Francisco José Cruz Jiménez 36

Servidor HTTP – Apache2 Para que las imágenes que contiene la página que se va a generar se vean correctamente, hay que indicarle a Awstats donde las ubicamos. Para ello disponemos de la directiva DirIcons en el archivo de configuración Esta directiva se caracteriza porque la ruta que indiquemos va a resulta relativa a la ubicación de la página web. Por ello no debemos poner “DirIcons="/etc/awstats/icon/", porque estaría intentando acceder a ”http://misitio.com/etc/awstats/icon/icon_name.png”. La solución a este inconveniente es utilizar alias de nuestro servidor Apache. Simplemente tenemos que añadir la siguiente línea al archivo de configuración de apache o sitio Alias /awstatsicon/ /usr/share/awstats/icon/. Con la siguiente directiva seleccionaremos los dominios de los cuales queremos analizar las estadísticas. Mediante la siguiente directiva daremos la ubicación de los log de acceso de los dominios, podemos usar el principal de apache, o en nuestro caso, como tenemos separado los archivos log de cada dominio, indicaremos ambos. En el navegador, ponemos nuestra dirección seguido de /cgi-bin/awstats/ y veremos las estadísticas. Francisco José Cruz Jiménez 37

Servidor HTTP – Apache2 Para actualizar las estadísticas: # /usr/lib/cgi-bin/awstats.pl -c onfig=misitio.c om –update Como podemos pensar, no vamos a estar continuamente ejecutando lo anteror para que se actualicen los datos. Para automatizar esta tarea la agregaremos al cron. # crontab –e  Webalizer Este es otra herramienta para generar estadisticas de nuestros sitios, para instalar: # apt-get install webalizer Francisco José Cruz Jiménez 38

Servidor HTTP – Apache2 El archivo de configuración es webalizer.conf, es bastante parecido al anterior, tenemos que modificar lo mismo que antes. # nano /etc/webalizer/webalizer.c onf Webalizer genera los reportes en formato HTML, que al igual que Awstats, podemos observar en un navegador, pero sólo genera estos reportes las veces que ejecutemos el programa. Por lo tanto añadiremos al cron la ejecución del programa, como hicimos con el anterior. Para ver estadísticas: Francisco José Cruz Jiménez 39

Add a comment

Related presentations

Related pages

Welcome! - The Apache HTTP Server Project

The Number One HTTP Server On The Internet¶ The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern ...
Read more

Download - The Apache HTTP Server Project

Downloading the Apache HTTP Server¶ Use the links below to download the Apache HTTP Server from one of our mirrors.
Read more

Welcome to The Apache Software Foundation!

Home page of The Apache Software Foundation Toggle ... The Apache Software Foundation and the Apache HTTP Server Project are pleased to ...
Read more

Servidor HTTP Apache - Wikipedia, la enciclopedia libre

El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que ...
Read more

Servidor Apache – Wikipédia, a enciclopédia livre

O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado ...
Read more

Servidor HTTP Apache - Viquipèdia, l'enciclopèdia lliure

Apache HTTP Server és un servidor HTTP (de pàgines web) de codi obert multiplataforma desenvolupat per Apache Software Foundation. Quan va començar el ...
Read more

Apache Download Mirrors - Apache Software Foundation

We suggest the following mirror site for your download: http://apache.mirrors.tds.net/ Other mirror sites are suggested below.
Read more

Servidor HTTP Apache - Wikipedia, a enciclopedia libre

O Servidor HTTP Apache, denominado normalmente como Apache [əˈpætʃi], é un servidor web importante polo papel que xogou no crecemento inicial da web.
Read more

Servidor Apache HTTP - web.mit.edu

Capítulo 10. Servidor Apache HTTP. El Servidor Apache HTTP es un servidor Web de tecnología Open Source sólido y para uso comercial desarrollado por la ...
Read more

Apache Tomcat® - Welcome!

The Apache Tomcat ® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.
Read more