IES Miguel
Romero Esteo - Departamento de Informática - Linux/Unix
Gestión de software
opensource / Taller de instalación de Apache web server
Comandos:
mkdir,
cd, gcc, make
Aplicaciones:
apt-get,
yum, wget, ftp
Objetivo:
Instalar Apache Web Server en cada máquina virtual (Debian y CentOS), tanto
por el procedimiento estandar (descarga de las fuentes y
compilación) como con las herramientas de gestión de
software propias de cada distribución (apt-*, yum) y sus
correspondientes repositorios de paquetes.
Al instalarse
dos veces el mismo aplicativo en cada máquina se proponen
puertos TCP/IP diferentes para cada uno permitiendo el
funcionamiento simultaneo de ambos (algo poco común pero
ayuda al alumno a comprender que pueden coexistir varias
versiones del mismo producto siempre y cuando no colisionen
los puertos TCP/IP). Asignaremos el puerto 8080 a la
instalación desde las fuentes y el puerto por defecto (80) a
la instalación desde el repositorio.
Enunciado:
En cada una de las máquinas
virtuales (Debian y CentOS) realizar las siguientes operaciones:
- Instalación desde las
fuentes.
-
En caso
de ser necesario, dotar al sistema de la capacidad de
instalar software por el procedimiento estandar
(compilador de lenguaje C + librerías de funciones básicas
del lenguaje C + cabeceras del kernel Linux).
-
Colgando
del directorio $HOME de root crear un directorio de nombre instalacion_en_curso.
- Entrar en el directorio instalacion_en_curso.
-
Haciendo
uso del comando wget o del
comndo ftp descargar las
fuentes correspondientes a la última versión estable del
servidor web.
- Descomprimir y
desempaquetar el archivo descargado.
- Posicionarse en el
directorio resultado del paso anterior.
-
Efectuar las
operaciones necesarias para instalar apache con las
especificaciones, funcionalidades y/o capacidades
indicadas a continuación. Las respuestas a las preguntas
que el alumno se haga sobre cómo hacerlo las encontrará
ejecutando configure –help | less y buscando en
el texto que aparece en la salida estandard “keywords”
relacionadas con lo que se pide.
-
Las dependencias
incumplidas se resolverán instalando lo necesario
desde los repositorios de las distro. No desde
las fuentes.
- El puerto donde
recibirá peticiones es el 8080.
- El directorio /usr/local/apache/
debe almacenar todo el material que el proceso
de instalación deposite.
- Capacidad
de
manipular dinámicamente objetos compartidos que
aporten nuevas funcionalidades al servidor después
de ser instalado. (en este link
hay información acerca de esta funcionalidad).
- Soporte para Secure Sockets Layer y
Transport Layer.
- Procedimiento para
verificar el funcionamiento y el cumplimiento de las
especificaciones.
- En las
instrucciones de instalación contenidas en el
material desempaquetado se explica como se arranca
el servidor httpd si los pasos configure
+ make + make install han tenido
éxito. Hacer lo indicado en dichas instrucciones.
- Una vez
arrancado el servidor debe atender peticiones si se
solicita con un browser (Firefox, Chrome, etc..)
funcionando en el puesto del alumno (portatil o
máquina anfitrión) la URL <http://IP_del_host_anfitrion:8830>/<http://IP_del_host_anfitrion:8840> (depende de si es Debian o
Centos).
- Verificar que
el núcleo de apache incorpora en tiempo de
ejecución los módulos que habilitan las
funcionalidades y/o capacidades que piden las
especificaciones de arriba. Esta información se
obtiene invocando /usr/local/apache/bin/httpd
con un modificador determinado (para averiguar cual
es, el alumno consultará la ayuda breve del núcleo
de apache ejecutando: /usr/local/apache/bin/httpd
-?). Entre los módulos listados no pueden
faltar: mod_so (cumple la
especificación 3) mod_ssl
(cumple la especificación 4). Si no aparecen, y se
conjugó correctamente la invocación de ./configure,
significa que debemos
cargarlos tocando el fichero de configuración
contenido en conf/httpd.conf
(directiva LoadModule).
- Instalación desde los
repositorios
-
Haciendo
uso de las herramientas propias de la distribución
GNU/Linux que corresponda instalar el servidor web apache que haya
disponible en el repositorio.
-
Verificar
el funcionamiento del servidor apuntando a <http://IP_del_host_anfitrion:8030>/<http://IP_del_host_anfitrion:8040> (depende de si es Debian
o Centos).