SMR SER 05 Servidor Apache2 Ubuntu

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

5 Servicio HTTP - Documentos

Instalación, arranque y parada de Apache en Ubuntu

Para instalar simplemente hay que ejecutar como root (o utilizando la orden sudo desde
un usuario con privilegios de administración) la orden siguiente. Es importante fijarse en
la salida de la orden ya que nos proporciona mucha información acerca de las
necesidades y la configuración del servicio.
$ sudo su

# apt-get install apache2

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias

Leyendo la información de estado... Hecho

Se instalarán los siguientes paquetes extras:

apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapr1

libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap

Paquetes sugeridos:

…....................

….....................

Enabling module authz_host.

Enabling module reqtimeout.

Configurando apache2-mpm-prefork (2.2.14-5ubuntu8.4) ...

* Starting web server apache2 [ OK ]

Configurando apache2 (2.2.14-5ubuntu8.4) ...

.......................

Si todo ha ido bien al abrir el navegador web Firefox e ir a http://localhost (donde


localhost es un alias de la IP 127.0.0.1, identificada como la interfaz de loopback)

Servicios en red, GM 1-8


5 Servicio HTTP - Documentos
deberá aparecer una página indicando que el servidor Apache2 está instalado y
ejecutándose. También puede indicarse un nombre de dominio si se dispone de él.

Por lo tanto, al instalar Apache2 ya entra en ejecución y lanza varios procesos para
atender peticiones http. Para comprobarlo ejecutar la orden:
#ps ax | grep apache2

1240 ? Ss 0:00 /usr/sbin/apache2 -k start


1241 ? S 0:00 /usr/sbin/apache2 -k start
1242 ? S 0:00 /usr/sbin/apache2 -k start
1244 ? S 0:00 /usr/sbin/apache2 -k start
1245 ? S 0:00 /usr/sbin/apache2 -k start
1246 ? S 0:00 /usr/sbin/apache2 -k start

Si se quiere conocer, en un momento determinado, cuál es la versión de Apache2


instalada, ejecutar la orden:
#apache2 -v

Server version: Apache/2.2.16 (Ubuntu)


Server built: Nov 18 2010 21:17:29

Las acciones que se pueden realizar sobre el servidor web Apache2 son las siguientes:

1. Arrancar Apache: ejecutar como root la orden

#/etc/init.d/apache2 start

y que da lugar a la ejecución del binario siguiente con las opciones por defecto:

/usr/sbin/apache2 -k start

donde:

-k indica el modo de ejecución de Apache2: arranque, parada, etc.

Si no arranca de forma automática, para añadir las entradas adecuadas para que el
servidor web se inicie en los niveles de ejecución estándar de Debian ejecutar:

#update-rc.d apache2 defaults

Servicios en red, GM 2-8


5 Servicio HTTP - Documentos
2. Detener Apache: ejecutar como root la orden:

#/etc/init.d/apache2 stop

* Stopping web server apache2 ... ...waiting

que mata todos los procesos lanzados relativos a Apache.

2. Reiniciar el servidor: cierra las conexiones activas

#/etc/init.d/apache2 restart

4. Forzar a que Apache vuelva a leer su archivo de configuración:

# /etc/init.d/apache2 reload / force-reload

Otras opciones disponibles desde Apache2 son:

Opción Descripción

-l lista los módulos compilados

-L muestra las directivas de compilación

-t realiza un chequeo del archivo de configuración (sintaxis)

Por defecto la instalación de Apache2 intenta añadir y eliminar módulos, hosts virtuales
y directivas de configuración extras de forma tan flexible como sea posible, con el
objetivo de automatizar los cambios y facilitar la administración del servidor.

Los archivos y directorios creados en /etc/apache2/ en el proceso de instalación son


los siguientes:

• apache2.conf  es el archivo de configuración principal


• conf.d/  contiene archivos de configuración asociados a módulos específicos.
Los archivos de este directorio son incluidos mediante la línea siguiente en
/etc/apache2/apache2.conf:

Include /etc/apache2/conf.d

• httpd.conf  archivo vacío. No se usa desde Ubuntu.

Servicios en red, GM 3-8


5 Servicio HTTP - Documentos
• m ods-available/  este directorio contiene una serie de archivos .load y
.conf.
o Los archivos .load contienen directivas de configuración de Apache
necesarias para la carga del módulo en cuestión.
o El correspondiente archivo .conf contiene directivas de configuración
necesarias para la utilización del módulo en cuestión.
• m ods-enabled/  para activar un módulo para Apache2 es necesario crear un
enlace simbólico en este directorio a los archivos .load asociados con el módulo
en m ods-available/. También para .conf si existe. Por defecto la instalación de
Apache2 deja 'activados' un grupo de módulos.
• ports.conf  directivas de configuración que indican puertos y direcciones IP
donde Apache2 escucha peticiones.
• sites-available/  similar a m ods-available/ excepto que contiene archivos
de configuración para diversos hosts virtuales que podrían ser utilizados en
Apache2. Observar que el 'hostname' no tiene que corresponder exactamente
con el nombre del archivo. 'default' es el host por defecto.
• sites-enabled/  funcionalidad similar a m ods-enabled/ y contiene enlaces
simbólicos a sitios de sites-available/ que el administrador ha activado.

Herramientas disponibles:

Nom bre Descripción

a2enm od activa módulos utilizando el anterior sistema de configuración

a2dism od desactiva módulos utilizando el anterior sistema de configuración

a2ensite activa sitios

a2dissite desactiva sitios

Al hacer la instalación pregunta por un nombre de dominio. Por defecto le asigna


localhost. Si disponemos de un nombre de dominio cualificado y disponemos del
servicio DNS configurado podremos utilizar dicho nombre en la configuración de
Apache2.

Se va a trabajar con un servidor Apache2 que atiende peticiones de clientes web dentro
de su propia red local y está situado detrás de un router que sirve DHCP. El puerto 80
sólo escucha dentro de la red local que será la 192.168.0.0/24. Una configuración muy
sencilla que responde a los requerimientos del aula.

Servicios en red, GM 4-8


5 Servicio HTTP - Documentos
Le asignamos internamente el nombre de dominio servidor.apache2.com y para ello
se ha modificar el archivo /etc/hosts de la forma siguiente:

127.0.0.1 localhost servidor.apache2.com servidor

2. Directivas de configuración

Las directivas de configuración están agrupadas en tres secciones:

1. Directivas globales que controlan las características del servidor.


2. Directivas que controlan el funcionam iento del servidor principal y valores
por defecto para los servidores virtuales.
3. Directivas de configuración para los servidores virtuales , que permiten
que las peticiones web sean enviadas a diferentes servidores, ya sea mediante la
IP o nombre de la máquina, y sean manejadas por el mismo proceso apache.

Además de estos grupos de directivas tenemos los:

1. Archivos .htaccess que permiten a los usuarios que no tienen permisos


modificar la configuración y poder ejercer así algún control sobre el
comportamiento de su parte del servidor Apache.

Directivas globales

ServerRoot

La directiva ServerRoot indica el directorio principal donde se encuentran todos los


archivos de configuración y de trabajo del servidor.
ServerRoot "/etc/apache2/"

PidFile

Indica el archivo en el que el servidor graba su identificador de proceso (PID).


PidFile /var/run/apache2.pid

LockFile

Servicios en red, GM 5-8


5 Servicio HTTP - Documentos
Establece el path a un archivo utilizado a modo de semáforo para realizar bloqueos. No
suele modificarse su valor por defecto.

El PID del proceso principal del servidor se añade automáticamente al nombre del
archivo.
LockFile /var/lock/apache2/accept.lock

Tim eout

Determina, en segundos, el tiempo que el servidor web esperará para recibir y enviar
peticiones durante la comunicación. El objetivo es no mantener las conexiones del
cliente activas indefinidamente. Por defecto:
Tim eout 30

3.Configuración del servidor

User / Group

User establece el identificador de usuario (userid) que utiliza el servidor para


ejecutarse y responder a las peticiones.

El valor de User determina el tipo de acceso que tendrá el servidor web a los archivos y
directorios en los que se encuentran las páginas. Si User no puede acceder a un archivo
tampoco podrá hacerlo el servidor web y, por tanto, también inaccesible al cliente web.
Por defecto:
User www-data

El proceso Apache2 padre se inicia como root y a continuación pasa al usuario www-
data. El servidor debe arrancar como root. Una vez que el servidor se ha conectado al
puerto, pasa el proceso a User porque necesita un puerto por debajo de 1024 (por
defecto 80) y los puertos por debajo de 1024 están reservados para el sistema y sólo
pueden ser utilizados por el User antes de aceptar peticiones.

Group establece el identificador de grupo que utiliza el servidor para ejecutarse y


responder a las peticiones. Por defecto:
Group w w w-data

Servicios en red, GM 6-8


5 Servicio HTTP - Documentos
ErrorLog

ErrorLog indica el archivo (ruta completa o path absoluto) donde se guardan los
errores del servidor. En él se registra lo que ocurre con Apache y sus errores. Por
defecto:
ErrorLog /var/log/apache2/error.log

Cuando el servidor está generando errores y no sabemos a qué es debido conviene


consultar este archivo.

Un ejemplo de línea de este archivo es la siguiente:


[Sun May 22 13:59:02 2011] [error] [client 58.218.199.227]
File does not exist:
/var/w w w /proxyheader.php

Include

Permite que se incluyan otros archivos de configuración en tiempo de ejecución. Los


paths o rutas dadas de los archivos pueden ser absolutos o relativos respecto al valor
de la directiva ServerRoot.

Ejemplo:
Include /etc/apache2/m ods-enabled/*.load

Include /etc/apache2/m ods-enabled/*.conf

Indica que, cuando se lance el proceso apache2 y se lea el archivo de configuración


/etc/apache2/apache2.conf, al llegar a estas dos líneas se incluirán en él, de los
directorios indicados, todos los archivos cuyos nombres terminen con .load y .conf
como parte de dicho archivo de configuración.

En el ejemplo se han indicado rutas absolutas.

Alias

Permite colocar contenido web en un directorio fuera del directorio Docum entRoot.

La sintaxis es:
Alias <url-path> <recurso>

Servicios en red, GM 7-8


5 Servicio HTTP - Documentos
<url-path> indica la URL del contenido web

<recurso> especifica la posición del recurso en el sistema de archivos

Ejemplo:
Alias /icons/ "/usr/share/apache2/icons/"

Indica que, si esta directiva está incluida en el archivo apache2.conf, cuando se


escriba /icons/ en el navegador (http://localhost/icons/) se accederán a los recursos
del sistema ubicados en el directorio /usr/share/apache2/icons/.

Secciones de configuración

Existen dos tipos de secciones de configuración:

1. Las que se evalúan para cada petición que se recibe y se aplican las
directivas que se incluyen en las distintas secciones sólo a las peticiones que se
adecúan a determinadas características.

Dentro de este grupo están <Directory>, <Files>, <Location>,


<VirtualHost> entre otras. La sección <VirtualHost> se verá con detalle en
la Unidad 4.

2. Las secciones de tipo <IfDefine> e <IfModule> que se evalúan sólo al


inicio o reinicio del servidor. Si al iniciar el servidor las condiciones son las
adecuadas, las directivas que incluyen estas secciones se aplicarán a todas las
peticiones que se reciban. Es caso contrario, esas directivas incluidas se ignoran.

Dentro del primer grupo las secciones:

• <Directory> y <Files> están relacionadas con el sistema de archivos.


• <Location> está relacionada con el espacio web.

Servicios en red, GM 8-8

También podría gustarte