PDF de programación - Instalación del servidor web Apache en Linux

Imágen de pdf Instalación del servidor web Apache en Linux

Instalación del servidor web Apache en Linuxgráfica de visualizaciones

Publicado el 22 de Julio del 2020
622 visualizaciones desde el 22 de Julio del 2020
374,2 KB
9 paginas
Creado hace 17a (17/04/2007)
Práctica4

GESTIÓN Y UTILIZACIÓN DE REDES LOCALES
Curso 2006/2007

Instalación del servidor
web Apache en Linux

1. Objetivos de la práctica

El objetivo de la práctica es aprender las bases para instalar y configurar de forma segura un servidor web

en su versión básica, pero con posibilidad de transferencias seguras mediante SSL (Secure Sockets Layer):

Identificar y diferenciar los diferentes ficheros de configuración del apache.


• Aprender la utilidad de las principales directivas del fichero httpd.conf.
• Aprender a realizar un control de acceso básico a las diferentes áreas del servidor.
• Aprender los requisitos necesarios para instalar y poner en funcionamiento un servidor con SSL.
Para ello utilizaremos el servidor web apache, que es uno de los más utilizados actualmente en Internet
desde hace años. Además, posee la ventaja de estar disponible para varios sistemas operativos, como Unix y
Windows.

Para proporcionar la posibilidad de SSL utilizaremos el paquete mod_ssl, por su mayor facilidad de

instalación y mejor documentación que el paquete Apache-SSL
2. Instalación del servidor

Aunque la última versión de Apache disponible es la 2.0.54, para poder trabajar con SSL debemos utilizar

la 1.3.33, que es la última para la que está disponible el módulo criptográfico mod_ssl.

Para la práctica podéis descargarla de la página web de la asignatura. Por supuesto está también disponible
en la propia organización: http://www.apache.org/dist/. Si queremos que tenga posibilidad de utilizar
transferencias seguras con SSL necesitaremos al menos dos paquetes más: mod_ssl y OpenSSL, todos
disponibles en nuestro servidor. En total:

Paquete: Apache

Versión: 1.3.33

Web: http://www.apache.org

Archivo: apache_1.3.33.tar.gz

Paquete: mod_ssl

Versión: 2.8.8-1.3.33

Descripción: la interfaz Apache con OpenSSL

Web: http://www.modssl.org

Archivo: mod_ssl-2.8.8-1.3.33.tar.gz

Paquete: OpenSSL

Versión: 0.9.6b

Descripción: El Toolkit Open Source para SSL/TLS

Web: http://www.openssl.org

Archivo: openssl-0.9.6b.tar.gz

2

Podríamos instalar sólo el paquete Apache, con lo cuál obtendríamos sólo un servidor normal sin SSL, y
posteriormente volver a instalarlo con SSL, pero como resultaría bastante aburrido instalarlo dos veces durante
la misma práctica lo haremos directamente todo a la vez.

El primer paso será descomprimir los paquetes y ejecutar el tar para situar los archivos en sus directorios.

Se recomienda hacer la instalación en /usr/local/apache:

$ mkdir /usr/local/apache
$ cd /usr/local/apache
$ gzip –d –c apache_1.3.24.tar.gz | tar xvf –
$ gzip –d –c mod_ssl-2.8.8-1.3.24.tar.gz | tar xvf –
$ gzip –d –c openssl-0.9.6b.tar.gz | tar xvf –

Configurar y compilar la librería OpenSSL:

$ cd openssl-0.9.6b

$ ./config

$ make

$ cd ..

(que tarda un ratito …)

Por último hay que aplicar las extensiones fuente mod_ssl y los parches al Apache y compilar Apache con

mod_ssl y OpenSSL:

$ cd mod_ssl-2.8.8-1.3.24

$ ./configure --with-apache=../apache_1.3.24 --with-ssl=../openssl-0.9.6b --prefix=/usr/local/apache

$ cd ..

$ cd apache_1.3.24

$ make

(tarda un ratito …)

$ make certificate

$ make install

Durante la instalación, en la parte relativa al certificado, se os pedirá la PEM phrase. Esto es un password
que debereis RECORDAR para poder lanzar más tarde el servidor con la opción de Secure Sockets Layer
(SSL), así como para poder leer las claves generadas. Al hacer el “make certificate” se pueden especificar varios
tipos, en nuestro caso el adecuado es “test”, que es el que toma por defecto si no le indicamos ninguna opción.
Los valores que va pidiendo a continuación para generar el certificado no son críticos, con excepción del
“Common Name” para el que es conveniente especificar el nombre de dominio del servidor, en nuestro caso
“ptxolXX.disca.upv.es”.

Una vez obtenido el certificado, la orden “make certificate VIEW=1” permite ver los datos generados.

El paso siguiente será comprobar que los permisos de los directorios y ficheros del Apache están como dicen

las recomendaciones de seguridad:

Generalmente, Apache se inicia como usuario root, y posteriormente atiende las peticiones recibidas como
el usuario establecido por la directiva User del fichero de configuración httpd.conf. Como con cualquier orden
que ejecuta root, hay que tener cuidado de que esté protegido frente a modificaciones por otros usuarios. No
sólo los ficheros deben ser modificables sólo por root, sino también los directorios y los padres de estos
directorios. Por ejemplo, si situamos la raíz del servidor en /usr/local/apache, este directorio debe crearse como
root.

3

3. Arranque y parada del servidor

Si se desea que el servidor escuche en el puerto 80 (el habitual), el cual es un puerto reservado, habrá que
lanzarlo como root. Tenemos dos posibilidades. Ejecutar httpd (/usr/local/apache/bin/httpd),
¡ojo, con la ruta), o la orden apachectl start (/usr/local/apache/bin/apachectl start)
que es la opción más recomendable.

Esto buscará el fichero de configuración (httpd.conf) en el lugar compilado en el código (por defecto

/usr/local/apache/conf/httpd.conf). Si está en otro sitio se puede indicar con la opción -f. :

$ /usr/sbin/httpd -f /etc/httpd/httpd.conf

Una vez arrancado se puede acceder a la documentación utilizando el navegador:

$ http://localhost

Cuando el servidor arranque creará varios procesos hijos para atender las solicitudes. Si se inició Apache
como usuario root, el proceso apache continuará ejecutándose como root mientras los hijos cambiarán al
usuario indicado en el httpd.conf.

Ejercicio: Verificación de la instalación:

Arrancar el servidor sin SSL (sólo puede utilizarse http):

$ /usr/local/apache/bin/apachectl start

Ejecutar un navegador con http://localhost

Para detener el servidor, antes de lanzar el servidor que incluye SSL hay que hacer:

$ /usr/local/apache/bin/apachectl stop

Para arrancar el servidor con SSL (pueden utilizarse http y https):

$ /usr/local/apache/bin/apachectl startssl

Ejecutar un navegador con http://ptxolXX.disca.upv.es

Ejecutar un navegador con https://ptxolXX.disca.upv.es

El servidor advertirá que no conoce la autoridad certificadora que emitió el certificado. Podéis visualizar el
contenido del certificado y aceptarlo, por lo menos para la sesión en curso.

$ /usr/local/apache/bin/apachectl stop

ADVERTENCIAS:

1. Cuando se utiliza https conectarse mediante localhost puede ocasionar problemas (o por lo menos una
advertencia de seguridad) porque el nombre de dominio del ordenador (o alguno de sus alias) debe coincidir
con el indicado al crear el certificado para el servidor.

2. Si en un ordenador ya existe un servidor web ejecutándose –porque se ha lanzado en el arranque del
sistema– tendrá reservado el puerto 80 y no dejará arrancar uno nuevo sobre el mismo puerto. El problema
se detecta porque la conexión a través de SSL no funciona, mientras que la que utiliza sólo http trabaja con
el servidor que ya estaba instalado.

3. En caso de problemas una buena medida es consultar los registros de log (/usr/local/apache/logs/).

4. Para reiniciar el servidor:

$ /usr/local/apache/bin/apachectl restart

4

4. Configuración del servidor

Entre los archivos de nuestro directorio de configuración (/usr/local/apache/conf) tenemos:

1. httpd.conf: Establece los atributos generales del servidor: número de puerto en el que escucha,
usuario que lo ejecuta, raíz del árbol de documentos etc. En la actualidad se recomienda establecer todas las
opciones de configuración necesarias en este fichero, y dejar los otros dos ficheros de configuración vacíos,
esto simplifica la administración del servidor. Su configuración está bastante bien documentada en el propio
archivo mediante comentarios.

2. srm.conf: Se utilizaba para establecer la raíz del árbol de documentos, que ahora se establece en

httpd.conf, por lo tanto no hay que utilizarlo.

3. access.conf: Establecía la política de acceso. Ahora también puede establecerse desde httpd.conf,

por lo que no es necesario utilizar este fichero.

Además de estos tres ficheros, el comportamiento del servidor puede configurarse directorio a directorio,
mediante ficheros .htaccess en los directorios que contienen documentos html a los que el servidor
accede.

La configuración de los ficheros está bastante bien documentada.

Es muy importante recordar que cuando se cambia la configuración de los ficheros es necesario re-
iniciar el apache (apachectl restart) o enviarle una señal de SIGHUP con la orden kill para que los
cambios tengan efecto. Hay que estar seguro de que se envía la señal al proceso padre y no al hijo. El padre en
general es el que tiene un número de proceso menor. El id del proceso del padre está también en el fichero
httpd.pid en el directorio log.

4.1.El archivo httpd.conf

Es el primero de los tres ficheros de configuración que se procesan. Está constituido por una serie de
directivas que dan al servidor instrucciones para su funcionamiento. Estas directivas se agrupan en tres
secciones básicas:

1. Directivas que controlan el funcionamiento del servidor como un todo (el “entorno global”).

2. Directivas que definen los parámetros del servidor principal., o por defecto, que responde a las

solicitudes que no son manejadas por servidores virtuales.

3. Configuración de los servidores virtuales, que permiten enviar las peticiones web a diferentes

direcciones IP o nombres de host, pero manejándolas en realidad con el mismo proceso servidor.

En esta práctica no entraremos en los aspectos de configuración de servidores virtuales, sino únicamente del
servidor principal.

Cada directorio al que el apache accede puede configurarse con respecto a que características se habilitan o se
inhabilitan en él y en sus subdirectorios.

..1. Entorno
  • Links de descarga
http://lwp-l.com/pdf17937

Comentarios de: Instalación del servidor web Apache en Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad