31 ServidoresWeb Apache
Aplicaciones Web/Sistemas Web
Juan Pavón Mestras
Dep. Ingeniería del Software e Inteligencia Artificial
Facultad de Informática
Universidad Complutense Madrid
Material bajo licencia Creative Commons
Esquema de funcionamiento de un servidor Web
web Servidor Web sencillo
Servidor Web
Cliente
«request»
Navegador
httpd
GET index.html
index.html
Busca página index.htmlindex.html
Repositorio
de páginas
Juan Pavón - UCM 2012-13
Servidores Web- Apache
Base de
datos
2
Esquema de funcionamiento de un servidor Web
web Servidor Web dinámico
Servidor Web
Cliente
«request»
Navegador
httpd
GET index.php
Intérprete PHP
(Genera HTML)
código
HTML
Busca página index.php
Consulta
index.php
Repositorio
de páginas
Juan Pavón - UCM 2012-13
Base de
datos
3Servidores Web- Apache
Servidores Web
Apache
Microsoft-IIS
Nginx
LiteSpeed
Google Servers
Tomcat
Lighttpd
IBM Servers
12/2012
63,90%
16,90%
13,90%
1,80%
1,30%
0,70%
0,50%
0,30%
Yahoo Traffic Server
0,20%
Oracle Servers
Zope
Resin
Zeus
0,20%
0,10%
0,10%
0,10%
http://w3techs.com
Juan Pavón - UCM 2012-13
Servidores Web- Apache
4
Servidor HTTP Apache
Servidor HTTP libre, open source
Ejecutable en varios sistemas operativos
Un mismo servidor físico para varias IPs y nombres de dominio
Diseño modular
Con Tomcat (http://tomcat.apache.org/)
Virtual hosts
PHP, Perl, Tcl, Python
Soporte J2EE
Unix, FreeBSD, Linux, Solaris, Novell NetWare, OS X, Microsoft Windows
Permite múltiples lenguajes de script
http://www.apache.org/
Primera versión en 1995(como sustituto del httpd de NCSA)
Apache Software Foundation (1999)
Se pueden crear nuevos módulos con el API de módulos de Apache
Configuración sencilla
Basada en directivas que se editan en ficheros: httpd.conf, access.conf
(en Unix), .htaccess, .htpasswd
Juan Pavón - UCM 2012-13
Servidores Web- Apache
5
Instalación de Apache - XAMPP
Instalación con XAMPPhttp://www.apachefriends.org/es/xampp.html
Apache con mySQL, PHP y Perl
Para Linux, Windows y Mac
• En Ubuntu: http://www.ubuntu-guia.com/2011/07/instalar-xampp-en-ubuntu.html
• En Windows: hay un autoinstalable
Arranque:
En Windows utilizando el panel de control que hay para gestionar los
distintos servicios: Inicio->Programas->XAMPP
En Linux: Ejecutando /opt/lampp/lampp start
Prueba: accediendo en elnavegador a http://localhost (o lo que
es lo mismo http://127.0.0.1)
Hay varios ejemplos y herramientas accesibles
Juan Pavón - UCM 2012-13
Servidores Web- Apache
6
Advertencia de Seguridad sobre XAMPP
XAMPP está orientado a desarrollo y no tanto a producción
Riesgos de seguridad con XAMPP
Por ello, para producción es mejor instalar Apache y MySQL en
un servidorapropiado con una buena configuración de seguridad
El administrador de MySQL no tiene password
El demonio de MySQL es accesible desde internet
Los usuarios de Mercury y FileZilla (Windows) y ProFTPD (Linux) usan
passwords por defecto que son conocidos
• Por ejemplo en ProFTPD el password "lampp" para el usuario nobody
PhpMyAdmin es accesible desde internet
Los ejemplos se pueden acceder desde lared
MySQL y Apache en Linux se ejecutan bajo el mismo usuario (nobody)
Ver apéndice sobre configuración de apache2
Y lo primero es revisar la configuración de seguridad básica
Hay ayudas para Linux y Windows (ver la documentación)
Juan Pavón - UCM 2012-13
Servidores Web- Apache
7
Ejercicio: instalación y configuración de XAMPP
Instala XAMPP en tu computadora
Arranca los servidoresApache y MySQL
Prueba a acceder a la página principal (http://localhost)
Aplica las recomendaciones de seguridad que se explican en:
http://robsnotebook.com/xampp-security-hardening
Juan Pavón - UCM 2012-13
Servidores Web- Apache
8
Directorios y ficheros de trabajo con XAMPP
En Linux
/opt/lampp/htdocs/
Directorio raíz de documentos
/opt/lampp/bin/
XAMPP commands home...
Regístrate para leer el documento completo.