29.12.04

mini-guía Apache

Tenía que pasar unos archivos a un amigo que ocupaban un tamaño considerable, y en vez de pasarselos por el msn cuando se conectase se me ha ocurrido montarme un servidor web y así que se los baje el cuando quiera ( un ftp habría bastado pero así me he entretenido mas :) ).
La elección del software para el servidor Web no ha sido muy dificil, el archiconocido Apache, y es que es el mas utilizado del mundo y famoso por la seguridad que ofrece (aunque en este caso la seguridad podría brillar por su ausencia..).
Esto no es ni mucho menos un manual o guía de Apache, es simplemente un "cursillo" basiquísimo sin tomar en cuenta grandes medidas de seguridad ni opciones complicadas..simplemente para hacer un servidor web "de andar por casa".
En primer lugar ejecuto un

apt-get install apache

Con esto ya estaría instalado en nuestro pc, ahora para ejecutar el servicio web o pararlo:

apachectl start/stop/restart (proviene de Apache Control)

Tenemos una serie de archivos de configuracion de Apache:

/etc/apache/modules.conf

/etc/apache/httpd.conf
/etc/apache/srm.conf
/etc/apache/access.conf

modules.conf sirve para configurar una serie de modulos mas avanzados en nuestro servidor.
Los otros tres son archivos de configuración que apache ejecuta al arrancarse, primero ejecuta el principal httpd.conf , luego srm.conf y por último access.conf. Se pueden editar todos pero se suele configurar apache en el httpd.conf y dejar los otros vacíos.

Editamos el archivo httpd.conf y nos encontramos que esta dividido en tres secciones :
-La primera configura aspectos globales del servidor.
-La segunda configura aspectos del host no virtual , es decir el que viene por defecto.
-La tercera configura aspectos específicos de los host virtuales.

La configuración se basa en multitud de directivas que ofrece Apache de las cuales se pueden usar sólo algunas (lo más normal). Cómo esto es una "miniguía" voy a explicar los parámetros mas importantes:

DocumentRoot es una variable que nos indica donde debemos colgar nuestros archivos .html .jpg...Por defecto lo determina en el directorio /var/www pero podemos cambiarlo a nuestro gusto.
Ej. Basta con modificar la variable en httpd.conf

DocumentRoot /home/awoisoak/apache/

En este caso colgaría mis .html a partir de ese directorio.
DocumentRoot /home/awoisoak/apache/DocumentRoot /home/awoisoak/apache/

Si Apache está configurado para que cada usuario pueda tener un sitio web colgado de su subdirectorio entonces la URL http://localhost/~root apuntaría a la raíz del sistema y algun usuario podría navegar libremente por nuestro sistema de archivos.Para evitar esto agregamos al httpd.conf lo siguiente

Directory/
Order Deny,Allow
Deny from all
/Directory

Despues deberíamos agregar la siguiente entrada para permitir el acceso a los direcotorios del sistema de archivos que eligamos:

Ej
Directory/
Order Deny,Allow
Allow from all
/Directory

AVISO:En los dos últimos ejemplos habría que encerrar en etiquetas los "Directory" ( etiquetas como las de html con sus <>) pero el servidor del blog no me deja ponerlas :S

Una forma de saber quien está conectado en tiempo real a nuestro servidor web es ejecutando

netstat -n |grep tcp|grep nuestra-ip:80

Image Hosted by ImageShack.us

No hay comentarios: