Está en la página 1de 3

El Blog de elSant0 -: Instalar y congurar el servid...

http://elblogdeelsant0.blogspot.com/2011/04/instala...

Instalar y configurar el servidor web Apache en Ubuntu

Cuando accedemos desde nuestro navegador a una determinada web lo que realmente est ocurriendo es que: 1. Hacemos una peticin web, la cual incluye la direccin del equipo donde se encontrar la web, el identificador de la pgina que queremos ver, la direccin de nuestro equipo,... 2. Se enva la peticin al equipo al que corresponde la direccin solicitada. 3. Al llegar la peticin al equipo remoto, ste toma el identificador de la web que pedimos, la procesa y la enva a la direccin de nuestro equipo. 4. Nuestro equipo recibe la informacin y la muestra. Estos pasos son evidentes, pero es necesario mencionarlos para explicar qu es un servidor web. Llamamos servidor web al equipo remoto donde se alojan las pginas que solicitamos, pero tambin es llamado servidor web el software que se encarga de procesar la pgina solicitada y enviarla hacia nuestro equipo. Apache es un software servidor web, de cdigo abierto, disponible para los principales sistemas operativos (Windows, MacOsX, BSD, Ubuntu,... y cualquiera basado en GNU/Linux). Es el ms usado en el mundo para servir informacin mediante el protocolo HTTP. Este protocolo es el habitual para enviar pginas webs a travs de internet o de redes locales. Este monopolio se debe entre otros motivos a que es altamente configurable, posee bases de datos de autenticacin y negociado de contenido, la mayora de las vulnerabilidades de la seguridad descubiertas han sido resueltas y slo afectaban a nivel local,... Sin embargo no todo son ventajas. Algunas de las vulnerabilidades detectadas se pueden accionar remotamente en ciertas situaciones o pueden ser explotadas malvicamente por usuarios locales. Adems, siempre ha sido criticado por no poseer una interfaz grfica que facilite su configuracin. Si deseamos instalar Apache en un equipo, cuyo sistema operativo es Ubuntu, para servir pginas webs a otros equipo que se encuentran en su misma red haremos lo siguiente:
NOTA: Recuerda que para hacer solicitudes al equipo servidor es necesario que ste tenga una direccin conocida y accesible por los equipos que solicitarn las pginas.

1. Abrimos una Terminal (Aplicaciones->Accesorios->Terminal). 2. Instalamos el paquete software y el paquete que contiene la documentacin oficial: ~$ sudo apt-get install apache2 apache2-doc Al instalar se indicar que es necesario instalar otros paquetes: "apache2-mpm-worker", "apache2-utils", "apache2.2-bin", "apache2.2-common", "libapr1", "libaprutil1", "libaprutil1-dbd-sqlite3", "libaprutil1-ldap". Los instalamos tambin. 3. Al terminar, comprobaremos que Apache se ha configurado correctamente para iniciarse cada vez que arranquemos el sistema: ~$ ls /etc/init.d/apache2 Esto devolver el siguiente mensaje: /etc/init.d/apache2 Con esto ya tenemos instalado el servidor. Adems, como el servidor ya debe estar iniciado al acabar la instalacin, podemos verificar que est funcionando correctamente accediendo desde el navegador web en la mquina donde est instalado a la direccin "http://localhost/", que es la direccin local (equivale tambin a "http://127.0.0.1/"); entonces veremos una pgina como la de la derecha. Ahora veamos algunos comandos y configuraciones bsicas: INICIAR/PARAR/REINICIAR EL SERVICIO: El servidor ya debe estar iniciado al acabar la instalacin pero por si falla o deseamos pararlo/reiniciarlo/iniciarlo ms adelante, podemos hacerlo manualmente desde una Terminal mediante los siguientes comandos: Iniciarlo: ~$ sudo /etc/init.d/apache2 start Pararlo: ~$ sudo /etc/init.d/apache2 stop Reiniciarlo: ~$ sudo /etc/init.d/apache2 restart

LISTAR LOS PROCESOS DE APACHE CARGADOS Y EN EJECUCIN: Para verlos haremos en una Terminal: ~$ ps -ef | grep apache

1 de 3

CAMBIAR LA RAIZ DE LA WEB: Las webs que sern servidas al exterior mediante Apache deben encontrarse por defecto en la ruta "/var/www/". Para cambiarla debemos reemplazar en el archivo "/etc/apache2/sites-available/default" cada aparicin de "/var/www/" por la nueva ruta.

24/04/11 20:39

El Blog de elSant0 -: Instalar y congurar el servid...

LISTAR LOS PROCESOS DE APACHE CARGADOS Y EN EJECUCIN: Para verlos haremos en una Terminal: ~$ ps -ef | grep apache

http://elblogdeelsant0.blogspot.com/2011/04/instala...

CAMBIAR LA RAIZ DE LA WEB: Las webs que sern servidas al exterior mediante Apache deben encontrarse por defecto en la ruta "/var/www/". Para cambiarla debemos reemplazar en el archivo "/etc/apache2/sites-available/default" cada aparicin de "/var/www/" por la nueva ruta. PERMITIR TILDES EN LAS PGINAS WEB: Por defecto, Apache no permite tldes en la escritura regular de las pginas web. En su caso mostrar caracteres especiales. Para corregir este problema basta con ir al fichero "/etc/apache2/conf.d/charset" y cambiar la siguiente lnea: #AddDefaultCharset por: AddDefaultCharset UTF-8 UTF-8

VER ESTADISTICAS DE ACCESO Y ERRORES DE APACHE: Apache contiene 2 archivos en los cuales se almacenan los log de acceso y error. Esta informacin es importante para obtener estadsticas o un posible problema que tenga el mismo. Para ver esto ficheros podemos hacer desde una Terminal lo siguiente: Log de errores (fichero "/var/log/apache2/error.log"): ~$ tail -f /var/log/apache2/error.log Log de acceso (fichero "/var/log/apache2/access.log"): ~$ tail -f /var/log/apache2/access.log

GESTIN DE MDULOS: Para poder agrupar y modularizar ciertos funcionamientos del servidor, estos se dividen en mdulos. Ser necesario activar los mdulos que vayamos a utilizar (si no estn activos an). El motivo de no estar todos activados por defecto es porque no toda instalacin requiere de las mismas funcionalidades. Si fueran incluidas todas las funcionalidades posibles entonces Apache sera sumamente pesado en cuanto a requerimientos de Memoria RAM y espacio en Disco Duro. Existen dos tipos de mdulos: Los incluidos en el propio cdigo fuente de Apache (Ejemplo: "Virtual Hosting","Rewrite",...). Los distribuidos por terceros desarrolladores (Ejemplo: Mod_JK (Java),...). Podemos ver una lista de los principales mdulos disponibles para Apache, as como una descripcin de cada uno, en sta web. Para ver los mdulos que hay activados haremos en una Terminal: ~$ apache2ctl -l Para activar un mdulo que no est cargado haremos: ~$ a2enmod NOMBRE-MODULO Para desactivar un mdulo que se encuentra cargado haremos: ~$ a2dismod NOMBRE-MODULO

GESTIN DE htaccess: Los htaccess son ficheros ocultos que contienen una serie de directivas o condiciones a cumplir por el servidor respecto al sitio en el que se incluyen. Es decir, junto a los ficheros de una web podemos aadir un fichero llamado ".htaccess" (as como otros que lo complementen), y segn su contenido podremos: Impedir listados del contenido del directorio Redireccionar el trafico web hacia otro lugar Crear mensajes de error personalizados Dar seguridad extra a la web ... CONFIGURACIN DE DOMINIOS VIRTUAL: Por defecto, Apache usa como direccin propia del equipo el nombre del propio equipo (o la IP) y busca la pgina de inicio de la web alojada en el directorio "/var/www" (o el que configuramos como raiz en pasos anteriores). Si queremos usar otro nombre (tambin llamado dominio) o incluso varios, as como alojar diversas web en el servidor, tendremos que configurar un virtualhost para cada dominio. Es decir, Apache tomar cada sitio web como si se tratara de un sitio virtual que no tiene nada que ver con los dems. Para hacerlo debemos asegurarlos que el mdulo "mod_proxy.c" est cargado y, si no lo est, cargarlo siguiendo los pasos indicados anteriormente. Una vez sabemos que el mdulo "mod_proxy.c" est cargado, para crear diferentes virtualhost haremos lo siguiente desde una Terminal: 1. Vamos al directorio donde se crear el fichero de configuracin para cada virtualhost: ~$ cd /etc/apache2/sites-available/ 2. En dicho directorio creamos un fichero de configuracin con extensin ".conf" para el primer dominio a configurar:

2 de 3
3. Dentro del fichero incluimos el siguiente contenido:

24/04/11 20:39

El Blog de

Si queremos usar otro nombre (tambin llamado dominio) o incluso varios, as como alojar diversas web en el servidor, tendremos que configurar un virtualhost para cada dominio. Es decir, Apache tomar cada sitio web como si se tratara de un sitio virtual que no tiene nada que ver con los dems. Para hacerlo debemos asegurarlos que el mdulo "mod_proxy.c" est cargado y, si no lo est, cargarlo siguiendo los pasos indicados anteriormente. elSant0 -:sabemos Instalar congurar servid... Una vez que el y mdulo "mod_proxy.c" el est cargado, para crear diferentes http://elblogdeelsant0.blogspot.com/2011/04/instala... virtualhost haremos lo siguiente desde una Terminal: 1. Vamos al directorio donde se crear el fichero de configuracin para cada virtualhost: ~$ cd /etc/apache2/sites-available/ 2. En dicho directorio creamos un fichero de configuracin con extensin ".conf" para el primer dominio a configurar: ~$ vim mipaginaweb.conf 3. Dentro del fichero incluimos el siguiente contenido: <virtualhost *=""> DocumentRoot /var/www/mipaginaweb.com ServerName www.mipaginaweb.com ServerAdmin admin@mipaginaweb.com ErrorLog /var/www/mipaginaweb.com/log/error_log CustomLog /var/www/mipaginaweb.com/log/access_log combined </virtualhost> <directory "="" mipaginaweb.com"="" var="" www=""> AllowOverride All </directory> Donde:
<virtualhost *>...</virtualhost> --> Indica que todas las direcciones IP asignadas a Apache sern utilizadas para soportar los Host Virtuales. Es decir, que sea cual sea la direccin del equipo local, el dominio seguir direccionando hacia la web indicada DocumentRoot /var/www/mipaginaweb.com --> Es el directorio desde donde se servirn los documentos web. ServerName www.mipaginaweb.com --> Indica el nombre por el cual responder su sitio web, es decir el dominio (tambien se puede especificar algn puerto de escucha). ServerAdmin admin@mipaginaweb.com --> Especifica la direccin de e-mail del administrador del sitio web. ErrorLog /var/www/mipaginaweb.com/log/error_log --> Es el fichero donde se registrarn los errores para dicha pgina web. CustomLog /var/www/mipaginaweb.com/log/access_log combined --> Especifica el fichero donde se anotan las peticiones hechas al servidor y el tipo de anotacin (combinada). <Directory "/var/www/rodmen.com">... -->Permite especificar diversas configuraciones aadidas al sitio web indicado. AllowOverride All --> Permite que todas las directivas incluidas e los ficheros "htaccess" sean aplicadas (tambin podramos haber usado "AllowOverride None" para que fueran ignoradas).

Asegurate que la ruta incluida en la configuracin coincide con la ruta donde se aloja la web. 4. Guardamos y salimos del fichero. 5. Habilitamos el virtualhost creado:
NOTA: Recuerda que est en el directorio que contiene el fichero de configuracin del virtualhost.

~$ a2ensite mipaginaweb.conf 6. Repetimos el proceso para cada virtualhost que deseemos crear. 7. Recargamos Apache: ~$ /etc/init.d/apache2 reload Listo. Ahora podemos probar desde el navegador web que los dominios que acabaos de configurar funcionan. Si deseamos desactivar un virtualhost haremos desde una Terminal: ~$ a2dissite mipaginaweb.conf Y luego recargamos Apache (mediante "/etc/init.d/apache2 reload").

Salu2, elSant0

3 de 3

24/04/11 20:39

También podría gustarte