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, yum, dnf, wget, ftp
Objetivo:
Instalar Apache Web Server en cada instancia AWS (deb-aws- & ali-aws-),
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, dnf) y sus correspondientes
repositorios de paquetes.
Al instalarse
dos veces el mismo aplicativo en cada máquina (fuentes +
repositorios) 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. Para ello hay que
actuar sobre el grupo de seguridad que utilizamos en AWS
(normalmente default group) y abrir ambos puertos
para que puedan ser accedidos en cualquier instancia del
grupo desde cualquier dirección exterior.
Enunciado:
En cada una de las instancias
realizar las siguientes operaciones:
- Instalación desde las
fuentes.
-
Aquirir
la identidad del usuario root.
-
Colgando
del directorio
/export crear un directorio de nombre instalacion_en_curso.
- Entrar en el directorio instalacion_en_curso.
-
Haciendo
uso del comando wget
descargar las fuentes correspondientes a la última versión
estable del servidor web desde el sitio
oficial .
- Descomprimir y
desempaquetar el archivo descargado.
- Posicionarse en el
directorio resultado del paso anterior.
-
Analizar
el texto de los ficheros README e INSTALL
en busca de operaciones previas a la compilación e
instalación del producto, como pueden ser: requerimientos
previos, aparición de pasos extra antes o
después de la ejecución de los pasos obligatorios (configure,
make, make install),etc...
Por lo general, en el texto
del fichero INSTALL tenemos suficiente
información al respecto, pero, no está de más, que
accedamos a la/s URL/s que aporta dicho archivo para
ampliar la información que no tenemos en el fichero de
texto.
-
Hecho lo 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 en la
URL http://IP_v4_pública:8080
- 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
-
Adquirir
privilegios de root.
-
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_v4_pública.
- MPORTANTE: Normalmente, en
sistemas Debian y derivados, el proceso de instalación
con apt deja todo el entorno listo para su
uso, no siendo así en sistemas RedHat y derivados. En
caso de que no funcione el servidor httpd (si funciona
no hay que hacer nada) hay que proceder de la
siguiente forma:
- Arrancar el
servicio para ali-aws -> systemctl start
httpd.service.
- Arrancar el
servicio para ali-aws -> systemctl start
apache2.service.