Buscar


imprimir pdf Español

El servidor Apache


Introducción

El servidor Web APACHE se ha escogido porque es el más utilizado actualmente. Además es gratuito y su código fuente está disponible en la página http://www.apache.org

ATENCIÓN : Las máquinas listas para su uso (Release/Plesk/BlueQuartz) ya tienen Apache instalado y configurado.


Descarga e instalación

Proceso
El objetivo de esta primera parte de la guía será el de instalar APACHE en la máquina. Pase a la parte de configuración si ya tiene instalado el Apache.

Vd puede tambien encontrar los scripts standards de compilación en nuestro servidor:
ftp://ftp.ovh.net/made-in-ovh/patch

Como todo proceso de instalación en Linux conlleva cuatro pasos :

- Descarga
- Descompresión
- Compilación y/o Instalación
- Configuración

Descarga

Entre en su máquina con el usuario root.

Antes de la descarga del fichero descargado, hay que crear una carpeta temporal con la ayuda del comando:

# mkdir apache_temporal



La versión sobre la cual vamos a trabajar en este ejemplo es la 1.3.4. Podeis encontrarla en http://www.apache.org. Se debe descargar el fichero apache1.3.4.tar.gz.

Descompresión

Hay que descomprimir el fichero con la ayuda del comando:

# tar zxvf nombre_fichero.tar.gz


El fichero está en formato tgz. Hay que descomprimir las fuentes en la carpeta temporal creada anteriormente.

Leer los ficheros que permiten la instalación de APACHE

Los ficheros para la instalación de apache están contenidos en la carpeta htdocs/manual

Gracias a estos ficheros, se puede saber que el espacio necesario para poder instalar el servidor Apache es de 12 Mb y que la instalación necesita un compilador C ANSI.


Compilar el servidor Web

Para compilar el servidor Apache, hay que introducir los siguientes comandos:


# ./configure --prefix=PREFIJO



donde PREFIJO corresponde al camino de instalación ( Ex : /usr/local/apache )


# make
# make install
# PREFIJO/sbin/apachectl start



El último comando permite lanzar el daemon HTTPD y así verificar si la compilación se ha pasado bien.

PREFIJO corresponde también a la carpeta de instalación ( Ex : /usr/local/apache )


Editar los ficheros de configuración

Vamos a dar los métodos de configuración del servidor para modificacion de los ficheros de texto contenidos en la carpeta /conf

Los ficheros de configuración son guardados en la carpeta /etc/httpd/conf.
Hay tres ficheros mayores en la configuración :

* access.conf : contiene las instrucciones que permiten administrar los derechos de acceso al servidor
* srm.conf : contiene las instrucciones para administrar los nombres y los tiops accesibles a los usuarios conectados mediante el navegador
* http.conf : contiene las directivas propias al funcionamiento del mismo servidor


Lanzar y parar el servidor

Lanzar el servidor Web

El comando siguiente permite iniciar el servidor:

apachectl start



El comando siguiente permite reiniciar el servidor :

apachectl restart



Parar el servidor Web

El comando siguiente permite parar el servidor:

apachectl stop




Test del servidor

Hay dos grandes formas de testear un servidor:

  • la primera, bastante clásica consiste en utilizar el explorador para visualizar la página(simplemente).
  • la segunda, trata de efectuar un telnet y escribir directamente en modo carácter la petición para obtener la respuesta.

Aquí un ejemplo de utilización con el comando telnet: podemos recuperar la página de presentación de una página escribiendo telnet vodka 8080 y después get /index.html HTTP/1.0 seguido de dos pulsaciones de la tecla ENTER.

La respuesta del servidor se hace en dos partes, en una primera instancia:

El encabezamiento que indica si la cuestión(petición) ha sido comprendida enviando un valor de retorno(aquí 200 OK), si el recurso ha sido encontrado, el tipo de recurso, ...


HTTP/1.0 200 OK
Server : JavaWebServer/1.0.2
Content-Length : 1721
Content-type : text/html
Last-modified : Fri, 30 Jan 1998 13:55:28 GMT
Connection :Close
Date : Wed, 06 Jan 1999 16:12:28 GMT


Los campos Content-Length y Content-Type corresponden al tamaño y al tipo de documento recibido.


Después recibirá en un segundo tiempo el recurso mismo: la pagina HTML, la imagen GIF, etc...

Algunos códigos de retorno diferentes:

200 OK : la página pedida ha sido encontrada
400 Bad Request : la petición no ha podido ser interpretada
404 Not Found : la página pedida no ha sido encontrada



Configuración avanzada

Cambiar el nombre de usuario

En las partes que siguen es necesario tener creado un usuario previamente.

Si este no es el caso hay que hacerlo utilizando el comando: adduser

Consideremos un nuevo usuario "toto".

adduser -g users toto



Para cambiar el nombre del usuario que va a lanzar el servidor Web (toto), hay que editar el fichero http.conf buscar User y reemplazar nobody por el usuario deseado (toto).

No hay más que hacerlo y eso da como resultado :

User toto


  • User es el nombre de usuario bajo el cual el servidor Apache accede a los recursos del ordenador.


Cambiar el puerto

Para cambiar el puerto virtual sobre el cual va accederse a la página web, hay que editar el fichero http.conf encontrarlo , marcar Port y reemplazar el valor que se encuentra después por el número de puerto que vd quiera.


ATENCIÓN: ciertos puertos están reservados (FTP, Telnet, ...) y no pueden utilizarse.


#El puerto del servidor por defecto es 80. Por ejemplo, lo reemplazamos por 3000, lo que da :

Port 3000



ATENCIÓN: si cambia el puerto virtual, en el momento en que se conecta a las páginas web del servidor, habrá que especificar el nuevo puerto



Cambiar el nombre de la carpeta raíz de usuarios

En este apartado queremos cambiar la configuración para que cuando busquemos la URL http://nsXXXXX.ovh.net/toto/ , APACHE busque el fichero index.html en la carpeta WWW del usuario toto.

Para hacerlo, hay que editar el fichero srm.conf.

Buscar DirectoryIndex y reemplazar lo que sigue por el fichero que se va a cargar; nombre del/los fichero/s a añadir por defecto, cuando ningún fichero es dado por la URL

Si quiere especificar varios ficheros hay que introducirlos unos detras de otros

Lo que debería dar:


DirectoryIndex /home/toto/WWW/index.html



Cambiar los mensajes de error

Es posible cambiar los mensajes de error editando el fichero srm.conf y modificar el contenido que sigue al término ErrorDocument.

Por ejemplo :

ErrorDocument 500 "El servidor ha sufrido un error"

cambiarlo por :

ErrorDocument 500 "El servidor no ha sufrido ningún error"

o bien añadir :

ErrorDocument 404 /missing.html

lo cual hará presentar la página missing.html cuando el servidor no encuentre la página deseada(código de error 404)


Número de procesos Apache

Para que el servidor utilice el menor número de procesos posible al arranque, hay que editar httpd.conf y buscar la cadena startserveurs.

Encontramos después de esta cadena el número 5, y basta entonces con poner 1 en su lugar para lanzar únicamente un proceso.


El mecanismo de VirtualHost?

El parámetro VirtualHost permite configurar varias máquinas virtuales sobre el mismo servidor. El servidor debe estar configurado para aceptar varias direcciones IP, lo cual se hace generalmente configurando el núcleo Linux de la máquina. La configuración se encuentra en el fichero http.conf y tiene el formato siguiente :


<VirtualHost nombre.dominio.extension>
ServerAdmin webmaster@dominio.extension
DocumentRoot /carpeta
ServerName nombre.dominio.extension
ErrorLog carpeta relativa
TransferLog carpeta relativ
</VirtualHost>




Configurar derechos de acceso

El objetivo es de limitar los derechos de acceso de una carpeta a la página Web. Esto se hace en dos etapas:

1. Indicar que la carpeta posee los derechos especiales en el fichero access.conf

La protección de una página por una palabra clave se hace de forma simple por adición de la directiva siguiente en el fichero access.conf :

<Files /carpeta/pagina.html>
AuthName Redactado Indicado en la ventana protegida
AuthType Basic
AuthUserFile /etc/users.http
require valid-user
<+-/Files+->

  • El parámetro /carpeta/pagina.html : es la página protegida
  • AuthName : es el nombre que se indica en la ventana protegida
  • AuthType : es en general posicionado con el valor Basic
  • AuthUserFile : es el fichero que contiene el nombre de usuarios que tienen derecho de acceso a la página así como su password asociado
  • require : es una directiva que puede tomar el valor valid-user


2. Crear un usuario y un password

La fabricación de un password se hace por el programa htpasswd que tiene la sintaxis siguiente :

# htpasswd [-c] passwordfile username


  • Con la opción -c el fichero se crea de nuevo; sin ella el fichero se completa con la nueva entrada
  • El parámetro passwordfile es el nombre del fichero que contiene los passwords.
  • El parámetro username es el nombre de usuario.


Opciones avanzadas

Definición de KeepAlive

Si esta variable está puesta a ON en el fichero http.conf , autoriza los navegadores a ordenar a las conexiones que permanezcan activas. Si esta variable está a OFF, está desactivada.

Después encontramos a continuación de esta variable otras variables enlazadas a KeepAlive como la variable MaxKeepAliveRequests que da el nombre de conexiones que pueden permanecer activas simultáneamente o incluso KeepAliveTimeout que da el retardo máximo en segundos para que las conexiones que siguen activas esperen sin acción.


Definición de FollowSymLinks

La variable FollowSymLinks se encuentra en el fichero access.conf . Si esta variable se encuentra en el campo OptionsIndexes, la explotación de los enlaces simbólicos o atajos estarán autorizados.


Définición de FancyIndexing

Si esta variable está a ON en el fichero srm.conf, los iconos de los ficheros acompañan a la visualización de las carpetas. Con el valor OFF, las carpetas son visualizadas unicamente en HTML.


A continuación de esta variable, debemos encontrar una serie de nombre de icono(precedida por AddIcon) que permite enlazar los tipos de fichero a los iconos cuando el modo FancyIndexing está en ON. Dicho de otra forma, esto permite redefinir los iconos asociados a los ficheros desde la visualización de las carpetas.


Définición de SetOutputFilter

La directiva SetOutputFilter especifica los filtros se usarán para procesar las respuestas del servidor antes de enviarlas al cliente. Esto es además de los filtros definidos en otras partes, incluidos los de la directiva AddOutputFilter.

Por ejemplo, la siguiente configuración procesará todos los archivos en el directorio /www/data/ con server-side includes.

<Directory /www/data/>
SetOutputFilter INCLUDES
</Directory>



Si se especifica más de un filtro, deben separarse con puntos y comas en el orden en que deban procesar los contenidos.



NOTA :

El filtro SetOutputFilter DEFLATE, comprime los archivos para que consuma menos ancho de banda, pero también oculta el tamaño de los archivos al navegador, lo cual puede no ser de su agrado si utiliza el servidor para descargas.

En efecto, el no conocer el tamaño de los archivos impide que los navegadores y gestores de descargas puedan presentar la barra de progresión (porcentaje) de la descarga.



Más información

: AdministracionAvanzada :: Los trucos para convertirse en un buen administrador.

: ScanDeLaRed :: Los scans de la red. ¿Por que?

: RecuperarDatosBackup :: Como recuperar los datos del servicio de Backup.
: ReinstalarServidor :: Cuando hay que reinstalar todo desde el principio.