You are on page 1of 5

Bsqueda

Documentacin oficial
Documentacin de Ubuntu > Ubuntu 10.04 > Gua de Ubuntu Server > Servidores Web > HTTPD - Servidor Web Apache 2

HTTPD - Servidor Web Apache 2


Apache es el servidor web ms utilizado en sistemas Linux. Servidores Web se utilizan para servir pginas web solicitadas por los equipos cliente. Los clientes suelen solicitar y ver pginas Web utilizando las aplicaciones web como Firefox , Opera o Mozilla . Los usuarios introducen un Localizador Uniforme de Recursos (URL) para que apunte a un servidor web a travs de su nombre de dominio completo (FQDN) y un camino a los recursos necesarios. Por ejemplo, para ver la pgina principal del sitio web de Ubuntu un usuario introducir nicamente el FQDN. Para solicitar informacin especfica sobre el soporte de pago , el usuario introducir el FQDN seguido de una ruta. El protocolo ms comn para la transferencia de pginas Web es el Hyper Text Transfer Protocol (HTTP). Protocolos como el Protocolo de Hyper Text Transfer sobre Secure Sockets Layer (HTTPS), y File Transfer Protocol (FTP), un protocolo para subir y descargar archivos, tambin se apoyan. Servidores web Apache a menudo se utilizan en combinacin con el MySQL motor de base de datos, el Hypertext Preprocessor ( PHP ) lenguaje de programacin, y otros lenguajes de scripting populares como Python y Perl . Esta configuracin se denomina LAMP (Linux, Apache, MySQL y Perl / Python / PHP) y constituye una plataforma potente y robusta para el desarrollo y despliegue de aplicaciones basadas en Web.

Instalacin
El Apache2 servidor web est disponible en Ubuntu Linux. Para instalar Apache2: En un terminal ingrese el siguiente comando:
sudo apt-get install apache2

Configuracin
Apache2 se configura colocando directivas en archivos de texto llanos de configuracin. Estas directivas estn separados entre los siguientes archivos y directorios: apache2.conf: el principal archivo de configuracin de Apache2. Contiene configuraciones que son globales para Apache2. conf.d: contiene los archivos de configuracin que se aplican globalmente a Apache2. Otros paquetes que utilizan Apache2 para servir contenido puede agregar archivos o enlaces simblicos, en este directorio. envvars: archivo donde Apache2 entorno de variables se establecen. httpd.conf: histricamente, el principal archivo de configuracin de Apache 2, el nombre del httpd demonio. El archivo se puede utilizar para el usuario especfico que las opciones de configuracin a nivel mundial Apache2 efecto. mods-available: este directorio contiene los archivos de configuracin para cargar los mdulos y configurarlos. No todos los mdulos tendrn archivos de configuracin especficos, sin embargo. mods-enabled: contiene enlaces simblicos a los archivos en / etc/apache2/mods-available . Cuando un archivo de configuracin del mdulo es un enlace simblico que se activar la prxima vez apache2 se reinicia. ports.conf: casas de las directivas que determinan qu puertos TCP Apache2 est escuchando. sites-available: este directorio contiene archivos de configuracin de Apache 2 mquinas virtuales . Mquinas virtuales permiten Apache2 que ser configurado para varios sitios que tienen configuraciones diferentes. sites-enabled: mods-enabled como, los sitios habilitados contiene enlaces simblicos a los / etc/apache2/sitesavailable directorio. Del mismo modo, cuando un archivo de configuracin en los sitios disponibles es un enlace simblico, el lugar de configurar que estar en vigencia una vez que se reinicie Apache2. Adems, otros archivos de configuracin pueden ser aadidas mediante la Incluya Directiva, y se pueden usar comodines para incluir muchos archivos de configuracin. Cualquier directiva puede ser colocado en cualquiera de estos archivos de configuracin. Cambios en los archivos de configuracin principales son slo reconocidos por Apache2 cuando se inicia o se reinicia. El servidor tambin lee un archivo que contiene los tipos MIME del documento, el nombre del archivo es fijado por el

TypesConfig directiva, y es / etc / mime.types por defecto. Configuracin bsica Esta seccin explica los parmetros del servidor Apache2 esenciales de configuracin. Consulte la documentacin de Apache2 para ms detalles. Apache2 viene con una configuracin por defecto del host virtuales de usar. Es decir, que se configura con un nico servidor virtual predeterminado (usando el VirtualHost Directiva), que se puede modificar o dejarlo tal cual, si usted tiene un sitio nico, o se utiliza como plantilla para servidores virtuales adicionales si tiene varios sitios. Si se deja solo, el servidor virtual predeterminado funcionar como sitio predeterminado, o los usuarios del sitio a ver si la URL que introducen no coincide con el ServerName directiva de cualquiera de sus sitios personalizados. Para modificar el servidor virtual predeterminado, editar el archivo / etc/apache2/sites-available/default . El conjunto de directivas para un servidor virtual slo se aplican a un servidor virtual determinado. Si se establece una directiva a nivel de servidor y no se definen las configuraciones de la mquina virtual, la configuracin por defecto se utiliza. Por ejemplo, puede definir una direccin de correo electrnico del webmaster y no definir las direcciones de correo electrnico individuales para cada mquina virtual. Si desea configurar un nuevo servidor o sitio virtual, copiar el archivo en el mismo directorio con un nombre que usted elija. Por ejemplo:
sudo cp / etc/apache2/sites-available/default / etc/apache2/sites-available/minuevositio

Edite el nuevo archivo para configurar el nuevo sitio usando algunas de las directivas que se describen a continuacin. El ServerAdmin directiva especifica la direccin de correo electrnico que se anuncian para el administrador del servidor. El valor por defecto es webmaster @ localhost. Esto debe cambiar a una direccin de correo electrnico que se entrega a usted (si usted es el administrador del servidor). Si su sitio web tiene un problema, Apache2 mostrar un mensaje de error que contenga la siguiente direccin de correo electrnico para informar del problema a. La directiva se encuentra en el archivo de configuracin de su sitio en / etc/apache2/sites-available. El escuchar directiva especifica el puerto, y, opcionalmente, la direccin IP, Apache2 debe escuchar. Si la direccin IP no se especifica, Apache2 escuchar por todas las direcciones IP asignadas a la mquina que se ejecuta. El valor predeterminado de la directiva Listen es 80. Cambiar a 127.0.0.1:80 provoca que Apache2 slo escuche por su interfaz de bucle invertido de manera que no estarn disponibles para la Internet, a (por ejemplo) 81 para cambiar el puerto por el que escucha, o dejarlo como est para funcionamiento normal. Esta directiva se puede encontrar y cambiado en su propio archivo, / etc/apache2/ports.conf El ServerName directiva es opcional y se especifica qu nombre completo de su sitio debe responder. La mquina virtual por defecto no tiene ninguna directiva ServerName especifica, por lo que responder a todas las solicitudes que no se ajusten a ninguna directiva ServerName en otro servidor virtual. Si usted acaba de adquirir el ubunturocks.com nombre de dominio y desea que aloje en su servidor Ubuntu, el valor de la directiva ServerName en el archivo de configuracin de las mquinas virtuales deben ser ubunturocks.com. Aada esta directiva al nuevo archivo de configuracin virtual que ha creado anteriormente ( / etc/apache2/sites-available/minuevositio ). Usted tambin puede querer que su sitio responda a www.ubunturocks.com, ya que muchos usuarios asumen que el prefijo www es apropiado. Utilice el ServerAlias Directiva para ello. Tambin puede utilizar comodines en la directiva ServerAlias. Por ejemplo, la siguiente configuracin har que su sitio para responder a cualquier solicitud de dominio que terminan en . ubunturocks.com .
ServerAlias *. ubunturocks.com

El DocumentRoot especifica dnde Directiva Apache2 debe buscar los archivos que componen el sitio. El valor predeterminado es / var / www. No hay ningn sitio configurado all, pero si descomenta la RedirectMatch directiva en / etc/apache2/apache2.conf solicitudes ser redirigido a / var/www/apache2-default en el sitio predeterminado de Apache2. Cambiar este valor en el archivo de su sitio virtual host, y recuerde crear ese directorio si es necesario! El directorio / etc/apache2/sites-available es no analizado por Apache2. Los enlaces simblicos en / etc/apache2/sitesenabled apuntan a sitios disponibles. Habilitar el nuevo VirtualHost con el a2ensite utilidad y reiniciar Apache2:
sudo a2ensite mynewsite sudo / etc/init.d/apache2 restart

Asegrese de sustituir mynewsite con un nombre ms descriptivo para el host virtual. Un mtodo es el nombre del archivo despus de que el ServerName Directiva del VirtualHost.

Asimismo, el uso de la a2dissite utilidad para desactivar los sitios. sta puede ser til para solucionar problemas de configuracin con mltiples servidores virtuales:
sudo mynewsite a2dissite sudo / etc/init.d/apache2 restart

Configuracin por defecto En esta seccin se explica la configuracin de las opciones predeterminadas del servidor Apache2. Por ejemplo, si se agrega un host virtual, la configuracin se configura para el host virtual tienen prioridad para ese host virtual. De directiva no est definida en la configuracin del host virtual, el valor por defecto es usado. El DirectoryIndex es la pgina predeterminada que el servidor cuando un usuario solicita un ndice de un directorio especificado con una barra diagonal (/) al final del nombre del directorio. Por ejemplo, cuando un usuario pide la pgina http://www.example.com/this_directory/, l o ella obtendr la pgina DirectoryIndex si existe, una lista de directorios generada por el servidor si no lo hace y es la opcin Indexes especificada, o una pgina Permiso Denegado si no es cierto. El servidor intentar encontrar uno de los archivos enumerados en la directiva DirectoryIndex y le entregar el primero que encuentre. Si no encuentra ninguno de los ficheros y si Options Indexes esta configurado para ese directorio, el servidor generar y devolver una lista, en formato HTML de los subdirectorios y los archivos en el directorio. El valor por defecto, que se encuentra en / etc/apache2/mods-available/dir.conf es "index.html index.cgi index.pl index.xhtml index.php index.htm". Por lo tanto, si Apache2 encuentra un archivo en un directorio solicitado que contengan cualquiera de estos nombres, el primero se mostrar. El ErrorDocument directiva le permite especificar un archivo de Apache 2 que se utilizar para eventos de error especficos. Por ejemplo, si un usuario solicita un recurso que no existe, un error 404 se produce, y por configuracin predeterminada de Apache2, el archivo usr/share/apache2/error/HTTP_NOT_FOUND.html.var / se mostrar. Ese archivo no est en el DocumentRoot del servidor, sino que existe una directiva Alias en / etc/apache2/apache2.conf que redirige las peticiones en el directorio / error / usr/share/apache2/error / . Para ver una lista de las directivas ErrorDocument por defecto, utilice este comando:
grep ErrorDocument / etc/apache2/apache2.conf

De manera predeterminada, el servidor escribe la transferencia de registro en el fichero / var/log/apache2/access.log . Usted puede cambiar esto en funcin de cada sitio en los archivos de configuracin de la mquina virtual con la CustomLog directiva, u omitirlo para aceptar el valor predeterminado, especificado en / etc/apache2/apache2.conf . Tambin puede especificar el archivo en el que los errores se registran, a travs de la ErrorLog Directiva, cuyo valor predeterminado es / var/log/apache2/error.log . Estos se mantienen separados de la transferencia de los registros para ayudar en la solucin de problemas con su servidor Apache2. Tambin puede especificar la LogLevel (el valor predeterminado es "advertir") y el LogFormat (ver / etc/apache2/apache2.conf para el valor por defecto). Algunas opciones se especifican en funcin de cada directorio en lugar de por servidor. opciones es una de estas directivas. Un parrafo Directory es encerrado en XML, como las etiquetas, as:
<Directory /var/www/mynewsite> ... </ Directory>

La Opciones de directiva dentro de un parrafo Directory acepta un o ms de los siguientes valores (entre otros), separados por espacios: ExecCGI - Permite la ejecucin de scripts CGI. Los scripts no se ejecutan si esta opcin no es seleccionada. La mayora de los archivos no deben ser ejecutados como scripts CGI. Esto sera muy peligroso. Scripts CGI deberan mantenerse en un directorio independiente y fuera de su DocumentRoot, y slo este directorio debe tener activada la opcin ExecCGI. Este es el valor predeterminado, y la ubicacin por defecto para los scripts CGI es / usr / lib / cgi-bin . Incluye - Permitir el lado del servidor incluye. Del lado del servidor incluye permitir que un archivo HTML para incluir otros archivos. Esto no es una opcin comn. Ver el Apache2 SSI HOWTO para ms informacin. IncludesNOEXEC - Permitir el lado del servidor incluye, pero anula los # exec y # include comandos en los scripts CGI. ndices - Muestra una lista formateada de los contenidos de un directorio, si no hay DirectoryIndex (como por ejemplo index.html) existe en el directorio pedido.

Por razones de seguridad, esto no debera normalmente ser establecidos, y sin duda no se debe establecer en el directorio DocumentRoot. Habilitar esta opcin con cuidado sobre una base per-directorio slo si est seguro de que desea que los usuarios ver el contenido completo del directorio.

Multiview - Soporte mltiples de los contenidos negociados, esta opcin est deshabilitada por defecto por razones de seguridad. Vea la documentacin de Apache2 sobre esta opcin . SymLinksIfOwnerMatch - Permite seguir un enlace simblico solamente si el fichero o directorio tiene el mismo propietario que el enlace. Configuracin de httpd Esta seccin explica algunas bsicas httpd ajustes de configuracin del demonio. LockFile - La directiva LockFile establece la ruta al fichero de bloqueo utilizado cuando el servidor est compilado con USE_FCNTL_SERIALIZED_ACCEPT o USE_FLOCK_SERIALIZED_ACCEPT. Se debe almacenar en el disco local. Se debe dejar el valor por defecto a menos que el directorio de registros se encuentra en un recurso compartido NFS. Si este es el caso, el valor por defecto debe ser cambiado a un lugar en el disco local ya un directorio que sea legible por root. El comando PidFile - La directiva PidFile establece el fichero en el que el servidor graba su ID de proceso (PID). Este archivo slo deben ser legibles por el root. En la mayora de los casos, se debe dejar el valor por defecto. De usuario - La directiva User establece el userid usado por el servidor para responder a las solicitudes. Este valor determina el acceso del servidor. Todos los archivos inaccesibles para este usuario tambin se podr acceder a los visitantes de su sitio web. El valor por defecto para el usuario es www-data. A menos que sepa exactamente lo que est haciendo, no configure la directiva User al root. Usar el root como usuario puede crear grandes agujeros de seguridad de su servidor Web. La directiva de grupo es similar a la directiva de usuario. Group establece el grupo en el que el servidor atender las peticiones. El grupo por defecto es tambin www-data. Mdulos de Apache2 Apache2 es un servidor modular. Esto implica que slo la funcionalidad ms bsica est incluido en el servidor central. Las caractersticas extendidas estn disponibles a travs de mdulos que se pueden cargar en Apache 2. Por defecto, un conjunto bsico de mdulos est incluido en el servidor en tiempo de compilacin. Si el servidor est compilado para utilizar los mdulos de carga dinmica, a continuacin, los mdulos pueden ser compilados de forma separada, y aadir en cualquier momento usando la directiva LoadModule. De lo contrario, Apache2 deben ser recompilados para aadir o eliminar mdulos. Ubuntu compila Apache2 para permitir la carga dinmica de mdulos. Las directivas de configuracin pueden ser incluidos en forma condicional la presencia de un mdulo en particular los encierra en una <IfModule> bloque. Puede instalar mdulos adicionales de Apache2 y usarlos con su servidor Web. Por ejemplo, ejecute el siguiente comando en una terminal para instalar la autenticacin MySQL mdulo:
sudo apt-get install libapache2-mod-auth-mysql

Ver el / etc/apache2/mods-available directorio de mdulos adicionales. Utilice el a2enmod utilidad para habilitar un mdulo:
sudo a2enmod auth_mysql sudo / etc/init.d/apache2 restart

Del mismo modo, a2dismod que desactivar el mdulo:


sudo a2dismod auth_mysql sudo / etc/init.d/apache2 restart

Configuracin HTTPS
El mod_ssl mdulo aade una importante caracterstica al servidor Apache2 - la habilidad de encriptar las comunicaciones. Por lo tanto, cuando el navegador se est comunicando usando SSL, el prefijo https:// se utiliza en el inicio de la Uniform Resource Locator (URL) en la barra de navegacin del explorador. El mod_ssl mdulo est disponible en apache2-common paquete. Ejecutar el siguiente comando en una terminal para activar el mdulo mod_ssl mdulo:
sudo a2enmod ssl

Hay un defecto HTTPS archivo de configuracin en / etc/apache2/sites-available/default-ssl . Con el fin de Apache2 para proporcionar HTTPS, un certificado y la clave de archivos tambin son necesarios. La configuracin por defecto HTTPS utiliza un certificado y una clave generada por el ssl-cert paquete. Son buenos para las pruebas, pero el certificado generado automticamente y la clave debe ser sustituida por un certificado especfico para el sitio o el servidor. Para obtener informacin sobre la generacin de una clave y obtener un certificado de ver la seccin llamada "Certificados" Para configurar Apache2 para HTTPS, escriba lo siguiente:
a2ensite sudo default-ssl

Los directorios / etc / ssl / certs y / etc / ssl / private son las ubicaciones predeterminadas. Si instala el certificado y la clave en otro directorio, asegrese de cambiar SSLCertificateFile y SSLCertificateKeyFile adecuadamente. Con Apache2 ahora est configurado para HTTPS, reiniciar el servicio para activar la nueva configuracin:
sudo / etc/init.d/apache2 restart

Dependiendo de cmo haya obtenido su certificado puede ser necesario introducir una contrasea cuando Apache2 comienza. Se puede acceder a las pginas del servidor seguro escribiendo https://your_hostname/url/ en la barra de direcciones del navegador.

Referencias
Documentacin de Apache2 contiene informacin en profundidad sobre Apache2 directivas de configuracin. Adems, vea la apache2-doc del paquete de la documentacin oficial de Apache 2. Vea la documentacin Mod SSL sitio para ms informacin relacionada con SSL. O'Reilly Apache Cookbook es un buen recurso para llevar a cabo especficas Apache2 configuraciones. Para Ubuntu especficos Apache2 pregunta, pregunta en el # ubuntu-server canal de IRC en freenode.net . Por lo general, integrado con PHP y MySQL, Apache MySQL PHP Wiki de Ubuntu pgina es un buen recurso.

Captulo 10. Servidores Web

PHP5 - Lenguaje de scripting

El material contenido en este documento est disponible bajo una licencia libre, consulte Legal para obtener ms informacin Para obtener ms informacin sobre la contribucin ver la documentacin de Ubuntu Equipo de pgina wiki . Para informar de un problema, visite la pgina de fallos de Documentacin de Ubuntu

You might also like