Vous êtes sur la page 1sur 8

HTTPD - Servidor Web Apache2

Apache es el Servidor Web ms utilizado en los sistemas Linux. Los Servidores Web se utilizan
para servir las Pginas Web solicitadas por los equipos cliente. Los clientes normalmente
solicitan y ver pginas Web usando aplicaciones navegador web como Firefox, Opera, cromo, o
Mozilla.
Los usuarios ingresan un URL (Uniform Resource Locator) para apuntar a un servidor Web
por medio de su nombre de dominio completo (FQDN) y una ruta al recurso requerido. Por
ejemplo, para ver la pgina principal del sitio web de Ubuntu un usuario va a introducir slo el
nombre de dominio completo:
www.ubuntu.com
Para ver la comunidad sub-pgina, un usuario va a introducir el nombre completo seguido por
un camino:
www.ubuntu.com/community
El protocolo ms comn utilizado para transferir pginas Web es el Hyper Text Transfer
Protocol (HTTP). Tambin se admiten protocolos tales como Protocolo de transferencia de
hipertexto sobre Secure Sockets Layer (HTTPS) y Protocolo de transferencia de archivos
(FTP), un protocolo para cargar y descargar archivos.
Servidores Web Apache se utilizan a menudo en combinacin con el motor de base de datos
MySQL, el preprocesador de hipertexto (PHP) lenguaje de script, y otros lenguajes de script
populares como Python y Perl. Esta configuracin se denomina LAMP (Linux, Apache,
MySQL y Perl / Python / PHP) y constituye una potente y robusta plataforma para el
desarrollo e implementacin de aplicaciones basadas en Web.

Instalacin
Configuracin
Configuracin HTTPS
Compartir permiso de escritura
Referencias

Instalacin
El servidor web Apache 2 est disponible en Ubuntu Linux. Para instalar Apache2:
En un terminal, escriba el siguiente comando:
Sudo apt-get install apache2
Configuracin
Apache 2 se configura mediante la colocacin de directivas en los archivos de texto sin formato.

Estas directrices estn separados entre los siguientes archivos y directorios:


apache2.conf: el archivo de configuracin principal de Apache 2. Contiene ajustes
globales de Apache 2.
conf.d: contiene los archivos de configuracin que se aplican a nivel mundial para
Apache 2. Otros paquetes que utilizan Apache2 para servir contenido pueden agregar
archivos o enlaces simblicos a este directorio.
envvars: archivo en el que se establecen las variables de entorno de Apache2.
httpd.conf: histricamente el principal archivo de configuracin de Apache 2, llamado
as por el demonio httpd. Ahora el archivo est normalmente vaco, ya que la mayora
de las opciones de configuracin se han movido a los directorios referenciados abajo. El
archivo se puede utilizar para el usuario las opciones de configuracin especficas que a
nivel mundial efecto Apache2.
mods-available: Este directorio contiene los archivos de configuracin para ambos
mdulos de carga y configurarlos. Sin embargo, no todos los mdulos tendrn archivos
de configuracin especficos.
mods-enabled: puede contener enlaces simblicos a los archivos en / etc / apache2 /
mods-available. Cuando es enlazado un archivo de configuracin del mdulo que se
activar la prxima vez que se reinicie apache2.
ports.conf: alberga las directivas que determinan qu puertos TCP Apache 2 est
escuchando.
sites-available: este directorio tiene archivos de configuracin de Apache2 Mquinas
virtuales. Los hosts virtuales permiten que Apache2 se configure para varios sitios que
tienen configuraciones separadas.
sites-enabled: como mods-enabled, los sitios habilitados contiene enlaces simblicos en el
directorio / etc / apache2 / sites-available. Del mismo modo, cuando un archivo de
configuracin en sites-available est simblico, el sitio configurado por l estar activo
una vez que Apache2 se reinicie.
Adems, otros archivos de configuracin se pueden aadir usando la directiva Include, y se
pueden usar comodines para incluir muchos archivos de configuracin. Cualquier directiva se
puede colocar en cualquiera de estos archivos de configuracin. Los cambios en los archivos de
configuracin principales slo son reconocidos por Apache2 cuando se inicia o se reinicia.
El servidor tambin lee un archivo que contiene tipos de documentos mime; el nombre del
archivo se establece en la directiva TypesConfig, normalmente a travs de /etc/apache2/modsavailable/mime.conf, que tambin podra incluir adiciones y sustituciones, y es
/etc/mime.types por defecto.
Ajustes bsicos
Esta seccin explica los parmetros de configuracin esenciales del servidor Apache2. Consulte

la documentacin de Apache 2 para ms detalles.


Apache2 cuenta con una configuracin predeterminada de host virtual. Es decir, se
configura con un nico servidor virtual predeterminado (usando la directiva
VirtualHost) que puede modificados o utilizados tal cual si tiene un solo sitio, o se
utiliza como plantilla para servidores virtuales adicionales si tiene varios sitios. Si se
deja solo, el host virtual por defecto le servir como sitio predeterminado, o los usuarios
del sitio ser ver si la URL que entran no coincide con la directiva ServerName de
cualquiera de sus sitios personalizados. Para modificar la mquina virtual por defecto,
editar el archivo / etc / apache2 / sites-available / default.
Las directivas establecidas para un host virtual slo se aplican a ese host virtual
particular. Si se establece una directiva en todo el servidor y no se define dentro de la
configuracin del host virtual, se utiliza la configuracin predeterminada. Por ejemplo,
puede definir una direccin de correo electrnico de Webmaster y no definir direcciones
de correo electrnico individuales para cada host virtual.
Si desea configurar un nuevo host virtual o sitio, copie ese archivo en el mismo
directorio con un nombre que elija. Por ejemplo:
Sudo cp / etc / apache2 / sitios-disponibles / default / etc / apache2 / sitesavailable / mynewsite
Edite el nuevo archivo para configurar el nuevo sitio utilizando algunas de las directivas
descritas a continuacin.
La directiva ServerAdmin especifica la direccin de correo electrnico que se anuncian
para el administrador del servidor. El valor predeterminado es webmaster @ localhost.
Esto debe cambiarse 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 contiene esta direccin de correo electrnico para
informar del problema. Encuentre esta directiva en el archivo de configuracin de su
sitio en / etc / apache2 / sites-available.
La directiva Listen especifica el puerto, y, opcionalmente, la direccin IP, que escuchar
Apache2. Si no se especifica la direccin IP, Apache2 escuchar en todas las direcciones
IP asignadas a la mquina en la que se ejecuta. El valor predeterminado de la directiva
Listen es 80. Cambie esto a 127.0.0.1:80 para que Apache2 escuche slo en su interfaz
de loopback para que no est disponible para Internet, (por ejemplo) 81 para cambiar el
puerto que Escucha o lo deja como es para el funcionamiento normal. Esta directiva se
puede encontrar y cambi en su propio archivo, /etc/apache2/ports.conf
La directiva ServerName es opcional y especifica qu FQDN su sitio debe responder. El
host virtual predeterminado no tiene ninguna directiva ServerName especificada, por lo
que responder a todas las solicitudes que no coinciden con una directiva ServerName
en otro host virtual. Si acaba de adquirir el nombre de dominio ubunturocks.com y
desea alojarlo en su servidor Ubuntu, el valor de la directiva ServerName en su archivo

de configuracin de host virtual debe ser ubunturocks.com. Aadir esta directiva para el
nuevo archivo de configuracin virtual que cre anteriormente (/ etc / apache2 / sitesavailable / minuevositio).
Tambin puede que su sitio responda a www.ubunturocks.com, ya que muchos usuarios
asumirn que el prefijo www es apropiado. Utilice la directiva ServerAlias para esto.
Tambin puede utilizar comodines en la directiva ServerAlias.
Por ejemplo, la siguiente configuracin har que su sitio web para responder a cualquier
solicitud de dominio que termine en .ubunturocks.com.
ServerAlias * .ubunturocks.com
La directiva DocumentRoot especifica dnde Apache2 debe buscar los archivos que
componen el sitio. El valor por defecto es / var / www, tal como se especifica en / etc /
apache2 / sites-available / default. Si lo desea, cambie este valor en el archivo de host
virtual de su sitio y recuerde crear ese directorio si es necesario.
Habilitar el nuevo host virtual utilizando la utilidad a2ensite y reiniciar Apache 2:
Sudo a2ensite mynewsite
Sudo service apache2 restart
Asegrese de sustituir minuevositio con un nombre ms descriptivo para el host virtual. Un
mtodo es el nombre del archivo despus de la directiva ServerName del host virtual.
Del mismo modo, utilizar la utilidad a2dissite desactivar sitios. Esto puede ser til cuando se
solucionan problemas de configuracin con varios VirtualHosts:
Sudo a2dissite mynewsite
Sudo service apache2 restart
Configuracin por defecto
Esta seccin explica la configuracin de la configuracin predeterminada del servidor Apache2.
Por ejemplo, si agrega un host virtual, la configuracin que configure para el host virtual
tendr prioridad para ese host virtual. Para una directiva no definida en la configuracin de
host virtual, se utiliza el valor predeterminado.
DirectoryIndex es la pgina por defecto que entrega el servidor cuando un usuario
solicita un ndice de un directorio especificado con una barra inclinada (/) al final del
nombre del directorio.
Por ejemplo, cuando un usuario solicita la pgina http://www.example.com/ este
directorio, l o ella obtendr la pgina DirectoryIndex si existe, una lista de directorio
generada por el servidor si no lo hace y la opcin ndices es Especificada o una pgina
Permiso denegado si ninguna de las dos es verdadera. El servidor intentar encontrar
uno de los archivos enumerados en la directiva DirectoryIndex y devolver el primero
que encuentre. Si no se encuentra ninguno de los archivos y si Options Indexes esta

configurado para ese directorio, el servidor ver en la pantalla una lista, en formato
HTML, de los subdirectorios y archivos en el directorio. El valor por defecto, que se
encuentra en /etc/apache2/mods-available/dir.conf es "index.html index.php index.cgi
index.pl index.xhtml index.htm". Por lo tanto, si Apache2 encuentra un archivo en un
directorio solicitado que coincida con alguno de estos nombres, se mostrar el primero.
La directiva ErrorDocument le permite especificar un archivo de Apache 2 a utilizar
para eventos de error especficos. Por ejemplo, si un usuario solicita un recurso que no
existe, se producir un error 404. De forma predeterminada, Apache2 simplemente
devolver un cdigo de retorno HTTP 404. Leer /etc/apache2/conf.d/localized-errorpages para obtener instrucciones detalladas para el uso de ErrorDocument, incluyendo
la ubicacin de los archivos de ejemplo.
Por defecto, el servidor escribe el registro de la transferencia al archivo
/var/log/apache2/access.log. Puede cambiar esto en funcin de cada sitio en los
archivos de configuracin de host virtuales con la directiva CustomLog, u omitirlo para
aceptar el valor predeterminado, especificado en /etc/apache2/conf.d/other-vhostsaccess-log. Tambin puede especificar el archivo en el que se guardan los errores, a
travs de la directiva ErrorLog, cuyo valor predeterminado es
/var/log/apache2/error.log. Estos se mantienen separados de los registros de
transferencia para ayudar en la solucin de problemas con su servidor Apache2.
Tambin puede especificar el nivel de registro (el valor por defecto 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. Una estrofa de directorio est encerrada en
etiquetas similares a XML, as:
<Directorio / var / www / mynewsite>
...
</ Directory>
La directiva Options dentro de una seccin Directorio acepta uno o ms de los
siguientes valores (entre otros), separados por espacios:
ExecCGI - Permitir la ejecucin de secuencias de comandos CGI. Los scripts
CGI no se ejecutan si no se elige esta opcin.
La mayora de los archivos no se deben ejecutar como secuencias de comandos
CGI. Esto sera muy peligroso. Los scripts CGI deben mantenerse en un
directorio separado y fuera de DocumentRoot, y slo este directorio debe tener
la opcin ExecCGI establecida. Este es el valor por defecto, y la ubicacin por
defecto para las secuencias de comandos CGI es lib / cgi-bin / usr /.

Incluye - Permitir que las inclusiones de servidor. Del lado del servidor incluye
permitir que un archivo HTML para incluir otros archivos. Ver documentacin
de Apache SSI (comunidad de Ubuntu) para obtener ms informacin.

IncludesNOEXEC - Permite las inclusiones de servidor pero anula los comandos


EXEC y #include en los scripts CGI.
Indexes - Muestra una lista formateada de los contenidos del directorio, si no
existe el DirectoryIndex (como index.html) en el directorio solicitado.
Por razones de seguridad, por lo general no debera establecerse y, por tanto, no
debera establecerse en el directorio DocumentRoot. Active esta opcin
cuidadosamente en una base por directorio slo si est seguro de que desea que
los usuarios vean todo el contenido del directorio.

Multiviews contenido Soporta las visualizaciones - Multiview; Esta opcin est


desactivada por defecto por razones de seguridad. Consulte la documentacin de
Apache 2 en esta opcin .
SymLinksIfOwnerMatch - Permite seguir un enlace simblico solamente si el
archivo o directorio en cuestin tienen el mismo propietario que el enlace.
Configuracin de httpd
En esta seccin se explica algunos valores bsicos de configuracin httpd daemon.
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. Debe almacenarse en el disco local. Debe dejarse al
valor predeterminado a menos que el directorio de logs se encuentre en un recurso compartido
NFS. Si este es el caso, el valor predeterminado debe cambiarse a una ubicacin en el disco
local y en un directorio que slo puede ser ledo por root.
PidFile - La directiva PidFile establece el archivo en el que el servidor graba su ID de proceso
(PID). Este archivo slo debe ser legible por root. En la mayora de los casos, debe dejarse al
valor predeterminado.
De usuario - La directiva User establece el ID de usuario utilizado por el servidor para
responder a las solicitudes. Esta configuracin determina el acceso del servidor. Cualquier
archivo inaccesible a este usuario tambin ser inaccesible para los visitantes de su sitio web.
El valor predeterminado de User es "www-data".
A menos que sepa exactamente lo que est haciendo, no defina la directiva de usuario como
root. El uso de root como usuario crear grandes fallos de seguridad para su servidor Web.
Grupo - La directiva de grupo es similar a la directiva del usuario. Grupo establece el grupo en
el que el servidor responder a las solicitudes. El grupo predeterminado tambin es "wwwdata".
Mdulos Apache2
Apache2 es un servidor modular. Esto implica que slo se incluye la funcionalidad ms bsica
en el servidor principal. Las funciones extendidas estn disponibles a travs de mdulos que se
pueden cargar en Apache2. De forma predeterminada, un conjunto bsico de mdulos se

incluye en el servidor en tiempo de compilacin. Si el servidor est compilado para utilizar


mdulos cargados dinmicamente, los mdulos pueden ser compilados por separado y
agregados en cualquier momento utilizando la directiva LoadModule. De lo contrario, Apache2
debe ser recompilado para agregar o quitar mdulos.
Ubuntu compila Apache2 para permitir la carga dinmica de los mdulos. Las directivas de
configuracin pueden ser condicionalmente incluyen en la presencia de un mdulo en
particular, encerrndolos en un bloque <IfModule>.
Puede instalar mdulos adicionales de Apache2 y utilizarlos con su servidor Web. Por ejemplo,
ejecute el siguiente comando en una terminal para instalar el mdulo de autenticacin de
MySQL:
Sudo apt-get instala libapache2-mod-auth-mysql
Ver el directorio / etc / apache2 / mods-available, para los mdulos adicionales.
Utilice la utilidad a2enmod para habilitar un mdulo:
Sudo a2enmod auth_mysql
Sudo service apache2 restart
Del mismo modo, a2dismod desactivar un mdulo:
Sudo a2dismod auth_mysql
Sudo service apache2 restart
Configuracin HTTPS
El mdulo mod_ssl aade una caracterstica importante para el servidor Apache 2 - la
capacidad de cifrar las comunicaciones. Por lo tanto, cuando su navegador se comunica
utilizando SSL, el prefijo https: // se utiliza al principio del Uniform Resource Locator (URL)
en la barra de navegacin del navegador.
El mdulo mod_ssl est disponible en el paquete apache2-comn. Ejecute el siguiente
comando desde un smbolo terminal para activar el mdulo mod_ssl:
Sudo a2enmod ssl
Hay un archivo de configuracin de HTTPS predeterminado en / etc / apache2 / sitesavailable / default-ssl. Para que Apache 2 para proporcionar HTTPS, tambin son necesarios
un certificado y archivo de claves. La configuracin por defecto HTTPS utilizar un certificado
y una clave generada por el paquete ssl-cert. Son buenos para las pruebas, pero el certificado y
la clave generados automticamente deben ser reemplazados por un certificado especfico para
el sitio o servidor. Para obtener informacin sobre la generacin de una clave y obtener un
certificado de ver Certificados
Para configurar Apache 2 para HTTPS, escriba lo siguiente:
Sudo a2ensite default-ssl

Los directorios / etc / ssl / certs y / etc / ssl / privada son las ubicaciones predeterminadas.
Si instala el certificado y la clave en otro directorio asegrese de cambiar SSLCertificateFile y
SSLCertificateKeyFile adecuadamente.
Con Apache2 ahora configurado para HTTPS, reinicie el servicio para habilitar la nueva
configuracin:
Sudo service apache2 restart
Dependiendo de cmo obtuvo su certificado puede que tenga que introducir una contrasea
cuando se inicia Apache 2.
Puede acceder a las pginas del servidor seguro escribiendo https: // your_hostname / url /
en la barra de direcciones del navegador.
Compartir permiso de escritura
Para que ms de un usuario pueda escribir en el mismo directorio, ser necesario conceder
permiso de escritura a un grupo que comparten en comn. Los siguientes subvenciones ejemplo
compartieron permiso de escritura en / var / www al grupo "webmasters".
Sudo chgrp -R webmasters / var / www
Sudo find / var / www -type d -exec chmod g = rwxs "{}" \;
Sudo find / var / www -type f -exec chmod g = rws "{}" \;
Si se debe conceder acceso a ms de un grupo por directorio, habilite las Listas de control de
acceso (ACL).

Vous aimerez peut-être aussi