Documente Academic
Documente Profesional
Documente Cultură
Administración de
servidores web: Apache
Memoria práctica.
1. Recorre las carpetas del servidor observando qué se guarda en ellas. Necesitarás
acceder al archivo httpd.conf para modificar la configuración de Apache.
• conf: contiene los archivos de configuración del servidor, así como una copia del
original, por si queremos reiniciarlo.
• htdocs: carpeta por defecto en la que se colocan los documentos que debe servir
Apache al navegador.
• icons: contiene los iconos y unos archivos de texto que explican cuando se deberían
usar estos iconos.
2. Inicia y para el servidor Apache con apachectl. Recuerda que tendrías que llamar a
apachectl restart cada vez que hagas un cambio en la configuración.
IMPORTANTE:para evitar que Apache siga ejecutándose al salir de nuestra sesión,
es obligatorio que se añada $HOME/.bash logout la línea killall -s KILL httpd. Esto ya
lo hace el script anterior.
Una vez allí modificamos el Listen80 por Listen 8080. Al acceder al navegador con
localhost:8080 obtenemos lo siguiente:
4. Los archivos que sirve Apache(los que puedo ver desde el cliente) están en una carpeta
concreta. Cambia dicha carpeta (DocumentRoot), para que sea $HOME/httpd-docs/.
Crear la carpeta y copiar dentro un conjunto de archivos .html para tu servidor web,
dándole como nombre a uno de ellos index.html e introduciendo en él tu nombre y
apellidos. Sino sabes crear ficheros HTML, puedes obtener algunos en
http://www.w3schools. com/html/html_examples.asp.
Para cambiar el directorio donde se encuentran los archivos que apache muestra al
cliente, buscamos "DocumentRoot" en httpd.conf y cambiamos la ruta a la carpeta que
deseamos. Tras realizar el cambio reiniciamos apache “./apachectl restart”
5. Cambia el nombre de los archivos índice (archivos que servirá Apache cuando el
cliente solo especifique un directorio). Normalmente es index.html, añadir como
posibilidadindex.htm y probar si funciona. ¿Qué prioridad se utiliza si tenemos más de
un archivo índice?
Para modificar el archivo índice, se debe modificar la directiva DirectortyIndex, dentro
de httpd.conf
Respecto a la prioridad, el archivo índice que se ponga primero (es decir, más a la
izquierda) es el más prioritario.
Si no se encuentra el índice se mostrará una lista para que cliquemos en los
disponibles.
Dentro de la directiva Options encontramos la opción Indexes que nos permite mostrar
el contenido de un directorio, aunque no contenga ningún archivo índice.
conf/extra/httpd-autoindex.conf”
7. Encuentra la directiva que especifica el nombre del servidor e introduce su valor
correcto.
8. Encuentra la directiva que especifica el usuario y grupo para el demonio httpd. ¿Sirve
para algo cambiarla?
a las peticiones. Para usar esta directiva, el servidor debe haber sido iniciado como root.
Lo mismo pasa con Group, que determina el grupo con el que el servidor atenderá las
peticiones.
9. Prueba a hacer un telnet al puerto del servidor (telnet localhost 8080) y a mandarle
mensajes HTML (escribe “GET / HTTP/1.0” y pulsa dos veces intro). Prueba a escribir
HOLA y pulsar dos veces a Intro. Explica que´ sucede y los códigos de error que
devuelve el servidor.
Para cambiar los mensajes de error que nos salen hemos de hacerlo mediante la
directiva ErrorDocument, el número del error que queremos capturar y a continuación
podríamos poner un string, html o incluso redirigir mediante un enlace.
11. Identifica las directivas relacionadas con los archivos de logs de Apache. Haz un acceso
normal y acceso erróneo (por ejemplo, pidiendo un archivo o directorio que no existe).
Comprueba los logs y muestra cómo se han modificado.
CustomLog: para indicar dónde quieres que se guarde los archivos de acceso.
12. Redirecciona la dirección /uco a www.uco.es, de manera que al acceder a
localhost:8080/uco aparezca la web de la Universidad de Córdoba.
13. Crea un Host virtual de manera que cuando un cliente se conecte al servidor usando
localhost:8080 el servidor muestre la carpeta raíz original, y cuando se conecte usando
IPMAQUINA:8080 muestre la subcarpeta /midirectorio. IPMAQUIMA es la IP de la
máquina en la que estás, puedes averiguarla con ifconfig. Haz que tengan ficheros de
log independientes (local-access.log, local-error.log, ip-access.log y ip-error.log).
2. Quitamos el comentario de la línea que nos permite configurar los Virtual hosts y nos
vamos al directorio que indica el "Include", en este caso /conf/extra/httpd-vhosts.conf
y configuramos nuestro host virtual.
14. Haz que el servidor web sirva toda la documentación de Apache. Para ello, habilita la
configuración del manual de Apache (extra/httpd-manual.conf) y los módulos que
necesite. Explica las distintas líneas que aparecen en dicha configuración, incluyendo
el significado de las expresiones regulares.
mod_negotiation.
path que se escriba como segundo argumento. En este caso, la expresión regular es:
Que empiece por “/manual”, que emperaje una o ninguna vez con el conjunto de “/”
más uno de los idiomas, seguido (o no) de cualquier otra cosa precedido de “/”, y que
caso, la expresión regular a tratar es: Que comience por “/manual/idioma/”, siendo
RedirectMatch 301: Redirige una URL que cumpla una expresión regular. En esta caso
la regex es: Que empiece por “/manual” seguido del conjunto de “/idioma”, el cual se
repite 2 o más veces, seguido a su vez, o no, de algo precedido por “/”. Esto lo que
redirige con el último idioma que se haya puesto (en el ejemplo, seria español). El 301
ForceLanguagePriority: Prefer sirve para cuando se eligen dos idiomas (por ejemplo:
manual/es/da), se utiliza el idioma con mayor prioridad. Fallback sirve para cuando se
introduce un idioma, pero el fichero del manual no existe en ese idioma, se serviría el
que tiene más prioridad (inglés), luego el segundo (danés)… en lugar de dar un error
406.
Debes crear un directorio, que se llamara´ carpetaSecreta, de forma que, para acce-
der a él, habrá que autenticarse. Los usuarios que tendrán acceso a ese directorio
serán: usuario1, usuario2 y usuario3; y la contraseña, para todos será: entra. Explica
los pasos realizados para conseguirlo, y el contenido de los archivos creados.
NOTAS: para que el archivo .htaccess se interprete por Apache es necesario que,
previamente, hayamos activado la directiva AllowOverride All sobre el directorio
correspondiente (por defecto está a None) en httpd.conf. Consultar el ejemplo de
autenticación en http://www.cristalab.com/tutoriales/proteger-carpetas-con-.
htaccess-y-.htpasswd-c213l/.
AuthName es una parte del mensaje que aparece cuando se pide el usuario la
contraseña, y no tiene nada que ver con el nombre de los directorios o archivos usados.
AuthType es el tipo de autentificación, en este caso, básico.
Require user indica los usuarios que podrán acceder a la carpetaSecreta. Aunque un
usuario se encuentre en el .htpasswd, si no aparece aquí, no podrá acceder. Con require
valid-user podrán entrar todos los usuarios especificados en el archivo .htpasswd.