Hello,
Attached to this message you will find the following files :
manual/upgrading.xml.es
manual/new_features_2_0.xml.es
manual/mod/leader.xml.es
manual/mod/prefork.xml.es
manual/mod/worker.xml.es
The translation has been reviewed by Daniel Lopez and this time the
copyright year has been changed to 2004.
Just to let you know, at the moment we are also working on :
manual/mod/core.xml.es
manual/mod/directive-dict.xml.es
manual/mod/mpm_common.xml.es
manual/mod/mpm_winnt.xml.es
manual/vhost/index.xml.es
manual/vhost/name_based.xml.es
and should submit those soon.
Best Regards,
--
Jesus Blanco www.bitrock.com
Product Manager
e: blanco @ bitrock.com t: +34 669 23 43 57 f: +34 954 502 697
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- English Revision: 1.1.2.7 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="leader.xml.meta">
<name>leader</name>
<description>Variante experimental del MPM estándar
<module>worker</module></description>
<status>MPM</status>
<sourcefile>leader.c</sourcefile>
<identifier>mpm_leader_module</identifier>
<summary>
<note type="warning"><title>Warning</title>
<p>Este módulo es todavía experimental, lo que
significa que podría no funcionar como es debido.</p>
</note>
<p>Este módulo es una variante experimental del módulo
de multiprocesamiento estándar <module>worker</module>. Usa
un patrón de diseño Leader/Followers para coordinar el
trabajo entre las hebras. Para más información, consulte
<a href="http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf"
>http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf</a>.</p>
<p>Para usar el MPM <module>leader</module>, añada
<code>--with-mpm=leader</code> como argumento al script
<code>configure</code> en el momento de compilar
<code>httpd</code>.</p>
<p>Este módulo de multiprocesamiento depende de operaciones
atómicas compare-and-swap del APR para sicronizar las
hebras. Si está compilando el servidor para una máquina
x86 y no necesita soportar la arquitectura 386, o está
compilando para una máquina SPARC y no necesita ejecutar el
servidor en chips pre-UltraSPARC, añada
<code>--enable-nonportable-atomics=yes</code> como argumento al
script <code>configure</code>. Esto hará que APR implemente
las operaciones atómicas usando opciones más eficientes
que no están presentes en CPUs antiguas.</p>
</summary>
<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>LockFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxClients</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>PidFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ServerLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>StartServers</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
</modulesynopsis>
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
<!-- English Revision: 1.4.2.6 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="new_features_2_0.xml.meta">
<title>Visión general de las nuevas funcionalidades de Apache
2.0</title>
<summary>
<p>Este documento describe algunas de las diferencias más
importantes que existen entre las versiones 1.3 y 2.0 del Servidor
HTTP Apache.</p>
</summary>
<seealso><a href="upgrading.html">Migrar su instalación de la
versión 1.3 a la 2.0</a></seealso>
<section id="core">
<title>Principales Mejoras</title>
<dl>
<dt>Hebrado en Unix</dt>
<dd>En los sistemas Unix que soportan hebras POSIX, la nueva
versión de Apache puede ejecutarse en modo híbrido
multiproceso-multihebra. Esto mejora la escalabilidad para
muchas aunque no para todas las configuraciones.</dd>
<dt>Nuevo sistema de configuración y compilación</dt>
<dd>El sistema de configuración y compilación ha sido
escrito de nuevo desde cero para basarlo en
<code>autoconf</code> y <code>libtool</code>. Esto hace que el
sistema de configuración de Apache se parezca ahora
más al de otros proyectos Open Source.</dd>
<dt>Soporte Multiprotocolo</dt>
<dd>La nueva versión tiene la infraestructura necesaria
para servir distintos protocolos. Por ejemplo, se ha escrito el
módulo <module>mod_echo</module>.</dd>
<dt>Soporte mejorado para las plataformas que no son tipo Unix</dt>
<dd>La versión 2.0 de Apache es más rápida y
más estable en sistemas que no son tipo Unix, tales como
BeOS, OS/2 y Windows, que la versión antigua. Con la
introducción de <a href="mpm.html">módulos de
multiprocesamiento</a> (MPMs) específicos para cada
plataforma y del Apache Portable Runtime (APR), estas
plataformas tienen ahora implementada su propia API nativa,
evitando las capas de emulación POSIX que provocan
problemas y un bajo rendimiento.</dd>
<dt>Nueva interfaz de programación (API) de Apache</dt>
<dd>La API para los módulos ha cambiado significativamente
en la nueva versión. Muchos de los problemas de
ordención y prioridad de módulos de la versión
1.3 deben haber desaparecido. Apache 2.0 hace automaticamente
mucho de lo que es necesario, y la ordenación de
módulos se hace ahora por hooks, lo que ofrece una mayor
flexibilidad. También se han añadido nuevas llamadas
que ofrecen capacidades adicionales sin tener que parchear el
núcleo del servidor Apache.</dd>
<dt>Soporte de IPv6</dt>
<dd>En los sitemas que soportan IPv6 con la libreria Apache
Portable Runtime, Apache soporta IPv6 listening sockets por
defecto. Además, las directivas <directive
module="mpm_common">Listen</directive>, <directive module="core"
>NameVirtualHost</directive>, y <directive module="core"
>VirtualHost</directive> soportan direcciones IPv6
numéricas (por ejemplo, "<code>Listen
[fe80::1]:8080</code>").</dd>
<dt>Filtros</dt>
<dd>Los módulos de Apache pueden ahora escribirse para que
se comporten como filtros que actúan sobre el flujo de
contenidos tal y como salen del servidor o tal y como son
recibidos por el servidor. Esto permite, por ejemplo, que el
resultado de un script CGI sea analizado por las directivas
Server Side Include usando el filtro <code>INCLUDES</code> del
módulo <module>mod_include</module>. El módulo
<module>mod_ext_filter</module> permite que programas externos
actúen como filtros casi del mismo modo que los CGIs pueden
actuar como handlers.</dd>
<dt>Mensajes de error en diferentes idiomas</dt>
<dd>Los mensajes de error que se envían a los navegadores
están ahora disponibles en diferentes idiomas, usando
documentos SSI. Estos mensajes pueden personalizarse por el
administrador del sitio web para conseguir un look and feel
coherente con el resto de los contenidos.</dd>
<dt>Configuración simplificada</dt>
<dd>Muchas directivas que podían inducir a confusión
han sido simplificadas. Las directivas <code>Port</code> y
<code>BindAddress</code> han desaparecido; para configurar la
dirección IP en la que escucha el servidor ahora se usa
únicamente la directiva <directive
module="mpm_common">Listen</directive>; la directiva <directive
module="core">ServerName</directive> especifica el nombre del
servidor y el número del puerto solo para redirecionamiento
y reconocimento de host virtual.</dd>
<dt>Soporte de Unicode Nativo para Windows NT</dt>
<dd>Apache 2.0 en Windows NT usa ahora utf-8 para la
codificación de los nombres de fichero. Estos se mapean
directamente al sistema de ficheros Unicode subyanciente,
suministrando soporte para diferentes idiomas para todas
instalaciones en Windows NT, includidos Windows 2000 y Windows
XP. <em>Este soporte no se extiende a Windows 95, 98 o ME, que
continúan usando la codificación que tenga la
máquina local para el acceso al sistema de
archivos.</em></dd>
<dt>Actulización de la librería de expresiones
regulares (regular expressions)</dt>
<dd>Apache 2.0 incluye la <a
href="http://www.pcre.org/">Librería de expresiones
regulares compatibles de/con Perl</a> (PCRE). Ahora, cuando se
evalúan las expresiones tipo, se usa siempre la potente
sintaxis de Perl 5.</dd>
</dl>
</section>
<section id="module">
<title>Mejoras en los módulos</title>
<dl>
<dt><module>mod_ssl</module></dt>
<dd>Módulo nuevo en Apache 2.0. Este módulo es una
interfaz para los protocolos de encriptado SSL/TLS de
OpenSSL.</dd>
<dt><module>mod_dav</module></dt>
<dd>Módulo nuevo en Apache 2.0. Este módulo implementa
la especificación del HTTP Distributed Authoring and
Versioning (DAV) para colgar y mantener contenidos web.</dd>
<dt><module>mod_deflate</module></dt>
<dd>Módulo nuevo en Apache 2.0. Este módulo permite
soportar nevagadores que requieren que el contenido sea
comprimido antes de ser servido, ahorrando ancho de banda.</dd>
<dt><module>mod_auth_ldap</module></dt>
<dd>Módulo nuevo en Apache 2.0.41. Este módulo permite
que se pueda usar una base de datos LDAP para almacenar las
credenciales en la autentificación básica HTTP. El
módulo de acompañamiento, <module>mod_ldap</module>
ofrece connection pooling y cache de resultados.</dd>
<dt><module>mod_auth_digest</module></dt>
<dd>Incluye soporte adicional para cache de sesiones entre
procesos usando memoria compartida.</dd>
<dt><module>mod_charset_lite</module></dt>
<dd>Módulo nuevo en Apache 2.0. Este módulo
experimental permite for traducción o recodificación
de sets de caracteres.</dd>
<dt><module>mod_file_cache</module></dt>
<dd>Módulo nuevo en Apache 2.0. Este módulo incluye la
funcionalidad que <code>mod_mmap_static</code> tenía en
Apache 1.3, e incorpora nuevas capacidades de cacheado.</dd>
<dt><module>mod_headers</module></dt>
<dd>Este módulo es mucho más flexible en Apache
2.0. Ahora puede modificar las cabeceras de las peticiones
usadas por <module>mod_proxy</module>, y puede fijar
condicionalmente cabeceras de respuesta.</dd>
<dt><module>mod_proxy</module></dt>
<dd>El módulo proxy ha sido completamente reescrito para
aprovechar la nueva infraestructura de filtros y para
implementar de una manera más fiable un proxy que cumpla
con requerimientos de la especificación
HTTTP/1.1. Además, se han incorporado nuevas secciones de
configuración a la directiva <directive module="mod_proxy"
type="section">Proxy</directive> que hacen mas fácil (e
internamente más rápido) el control de los sitios web
que usan proxys; las configuraciones de sobrecarga
<code><Directory "proxy:..."></code> no se soportan. El
módulo está ahora dividido en módulos
específicos para cada protocolo, incluidos
<code>proxy_connect</code>, <code>proxy_ftp</code> y
<code>proxy_http</code>.</dd>
<dt><module>mod_negotiation</module></dt>
<dd>La nueva directiva <directive module="mod_negotiation"
>ForceLanguagePriority</directive> se puede usar para asegurarse
de que el cliente recibe siempre solo un documento, en lugar de
obtener una respuesta de tipo NOT ACCEPTABLE o MULTIPLE
CHOICES. Además, los algoritmos de negociación y
MultiView han sido modificados para ofrecer resultados más
consistentes y se ha incluido a nuevo tipo de correspondecia de
tipos (type map).</dd>
<dt><module>mod_autoindex</module></dt>
<dd>Ahora pueden configurarse listados de directorios
autoindexados para usar tablas HTML, darles formato de forma
más sencilla, y permitir control detallado del
ordenamiento, incluidos ordenamiento por versión, y
filtrado usando caracteres comodines de los listados de
directorios.</dd>
<dt><module>mod_include</module></dt>
<dd>Estas nuevas directivas permiten cambiar las etiquetas por
defecto de comienzo y final para elementos SSI y permiten que la
configuración de errores y el formato de la hora y la fecha
se hagan en el fichero de configuración pricipal en lugar
de en el documento SSI. Los resultados del análisis y la
agrupación de las expresiones tipo (ahora basadas en la
sintaxis de Perl 5) pueden ser devueltos usando las variables
<code>$0</code> .. <code>$9</code> del módulo
<module>mod_include</module>.</dd>
<dt><module>mod_auth_dbm</module></dt>
<dd>Ahora se soportan varias clases de bases de datos de tipo
DBM usando la directiva <directive
module="mod_auth_dbm">AuthDBMType</directive>.</dd>
</dl>
</section>
</manualpage>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- English Revision: 1.8.2.7 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="prefork.xml.meta">
<name>prefork</name>
<description>Implementa un servidor web pre-forking y no
hebrado</description>
<status>MPM</status>
<sourcefile>prefork.c</sourcefile>
<identifier>mpm_prefork_module</identifier>
<summary>
<p>Este Módulo de MultiProcesamiento (MPM) implementa un
servidor web pre-forking y no hebrado que trata las peticiones de
una manera similar a como lo hacía Apache 1.3. Esto es
apropiado para sitios web que necesitan evitar el hebrado para ser
compatibles con librerías que no son seguras cuado se usan
hebras. Es también el mejor MPM para aislar cada
petición, de manera que si suge un problema con una
petición, esto no afecte al resto.</p>
<p>Este MPM está muy autorregulado, de manera que muy pocas
veces es necesario ajustar los valores de sus directivas de
configuración. El valor que se fije en la directiva
<directive module="mpm_common">MaxClients</directive> debe ser lo
suficientemente grande para tratar tantas peticiones
simultáneas como espere recibir su sitio web, pero lo
suficientemente pequeño para asegurarse de que hay memoria
RAM suficiente para todos los procesos.</p>
</summary>
<seealso><a href="../bind.html">Especificar las direcciones y los puertos
que usa Apache</a></seealso>
<section id="how-it-works"><title>Cómo funciona</title> <p>Un
solo proceso de control es el responsable de lanzar los procesos
hijo que escuchan las peticiones que se puedan producir y las
sirven cuando llegan. Apache siempre intenta mantener varios
procesos <dfn>de sobra</dfn> o en espera, que estén
disponibles para servir peticiones cuando lleguen. Así, los
clientes no tienen que esperar a que un nuevo proceso hijo sea
creado para ser atendidos.</p>
<p>Las directivas <directive
module="mpm_common">StartServers</directive>, <directive
module="prefork">MinSpareServers</directive>, <directive
module="prefork">MaxSpareServers</directive>, y <directive
module="mpm_common">MaxClients</directive> regulan la forma en que
el proceso padre crea hijos para servir peticiones. En general,
Apache funciona bien sin hacer muchas modificaciones en los
valores por defecto de estas directivas, de manera que la mayor
parte de los sitios web no necesitan ajustar esas directivas a
valores diferentes. Los sitios web que necesiten servir más
de 256 peticiones simultáneas pueden necesitar incrementar el
valor de <directive module="mpm_common">MaxClients</directive>,
mientras que los sitios web con memoria limitada pueden necesitar
decrementar <directive module="mpm_common">MaxClients</directive>
para evitar que el rendimiento del servidor se degrade (pasando
los contenidos de memoria al disco y de vuelta a memoria). Puede
obtener más información sobre como mejorar el
rendimiento del proceso de creación de procesos en la
documentación sobre <a href="../misc/perf-tuning.html">mejora
del rendimiento</a>.</p>
<p>El proceso padre de Apache se inicia normalmente como usuario
<code>root</code> en Unix para que escuche en el puerto 80, sin
embargo, los procesos hijo se crean con menores privilegios de
usuario. Las directivas <directive
module="mpm_common">User</directive> y <directive
module="mpm_common">Group</directive> se usan para determinar los
privilegios de los procesos hijo de Apache. Los procesos hijo
deben ser capaces de leer todos los contenidos que van a servir,
pero deben tener los menores privilegios posibles.</p>
<p>La directiva <directive
module="mpm_common">MaxRequestsPerChild</directive> controla
cómo el servidor recicla frecuentemente los procesos
eliminando los antiguos y creando nuevos.</p>
</section>
<directivesynopsis location="mpm_common"><name>BS2000Account</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>PidFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>LockFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxClients</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ServerLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>StartServers</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
</directivesynopsis>
<directivesynopsis>
<name>MaxSpareServers</name>
<description>Número máximo de procesos hijo en espera que
puede tener el servdor</description>
<syntax>MaxSpareServers <var>number</var></syntax>
<default>MaxSpareServers 10</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>La directiva <directive>MaxSpareServers</directive> determina
el número máximo de procesos hijo <em>en espera</em>
deseado. Un proceso en espera es aquel que no está atendiendo
ninguna petición. Si hay más de
<directive>MaxSpareServers</directive> procesos hijo en espera,
entonces el proceso padre elimina el exceso.</p>
<p>Ajustar este parámetro debe ser necesario solo en sitios
web con muchas visitas. Fijar un valor alto para este
parámetro es una mala idea casi siempre. Si fija un valor por
debajo de <directive module="prefork">MinSpareServers</directive>,
Apache ajustará automáticamente el valor a <directive
>MinSpareServers</directive><code> + 1</code>.</p>
</usage>
<seealso><directive module="prefork">MinSpareServers</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>MinSpareServers</name>
<description>Número mínimo de procesos hijo en espera</description>
<syntax>MinSpareServers <var>number</var></syntax>
<default>MinSpareServers 5</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>La directiva <directive>MinSpareServers</directive> fija el
número mínimo de procesos hijo <em>en espera</em>. Un
proceso en espera es aquel que no está atendiendo ninguna
petición. Si hay menos procesos hijo en espera que
<directive>MinSpareServers</directive>, entonces el proceso padre
crea nuevos procesos hijo a un ritmo máximo de uno por
segundo.</p>
<p>Ajustar este parámetro debe ser necesario solo en sitios
web con muchas visitas. Fijar un valor alto para este
parámetro es una mala idea casi siempre.</p>
</usage>
<seealso><directive module="prefork">MaxSpareServers</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>
</modulesynopsis>
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
<!-- English Revision: 1.6.2.8 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="upgrading.xml.meta">
<title>Migrar su instalación de la versión 1.3 a la
2.0</title>
<summary>
<p>Este documento recoge infomación crítica sobre el
proceso de actulización de la versión de Apache que
usa. Se trata de pequeños comentarios. Puede encontrar más
información tanto en <a href="new_features_2_0.html">Nuevas
funcionalidades</a>, como en el archivo
<code>src/CHANGES</code>.</p>
</summary>
<seealso><a href="new_features_2_0.html">Visión general de las
nuevas funcionalidades de Apache 2.0</a></seealso>
<section id="compile-time">
<title>Cambios en el proceso de configuración y
compilación</title>
<ul>
<li>Apache usa ahora <code>autoconf</code> y
<code>libtool</code> <a href="install.html"> en el proceso de
compilación</a>. Este sistema es parecido aunque no igual
al sistema APACI de Apache 1.3.</li>
<li>Además de la selección de módulos habitual
que puede hacer al compilar, en Apache 2.0 la mayor parte del
procesamiento de las petición es llevada a cabo por los <a
href="mpm.html">Módulos de MultiProcesamiento</a>
(MPMs).</li>
</ul>
</section>
<section id="run-time">
<title>Cambios en el proceso de la configuración inicial del
servidor</title>
<ul>
<li>Muchas directivas que no pertenicían al conjunto
básico en Apache 1.3 están ahora en los MPMs. Si desea
que el nuevo servidor de comporte de la forma más parecida
posible a Apache 1.3, debe seleccionar el Módulo de
MultiProcesamiento <module>prefork</module>. Otros MPMs tienen
diferentes directivas para controlar el proceso de creación
y procesamiento de peticiones.</li>
<li>El <a href="mod/mod_proxy.html">módulo proxy</a> ha
sido remodelado para ponerlo al día con la
especificación HTTP/1.1. Entre los cambios más
importantes está el que ahora el control de acceso al proxy
está dentro de un bloque <directive type="section"
module="mod_proxy">Proxy</directive> en lugar de en un bloque
<code><Directory proxy:></code>.</li>
<li>El procesamiento de<code>PATH_INFO</code> (la informacion de
path que aparece tras un nombre de fichero válido) ha
cambiado para algunos módulos. Módulos que fueron
previamente implementados como un handle pero ahora son
implementados como filtros puede que no acepten ahora peticiones
que incluyan <code>PATH_INFO</code>. Filtros como <a
href="mod/mod_include.html">INCLUDES</a> o <a
href="http://www.php.net/">PHP</a> están implementados
encima del handler principal (core handler) core handler, y por
tanto rechazan peticiones con <code>PATH_INFO</code>. Puede usar
la directiva <directive module="core">AcceptPathInfo</directive>
para forzar al handler principal a aceptar peticiones con
<code>PATH_INFO</code> y por tanto restaurar la habilidad de
usar <code>PATH_INFO</code> en server-side includes.</li>
<li>La directiva <directive
module="mod_negotiation">CacheNegotiatedDocs</directive> toma
ahora como argumento <code>on</code> u <code>off</code>. Las
instacias existentes de <directive
>CacheNegotiatedDocs</directive> deben reemplazarse por
<code>CacheNegotiatedDocs on</code>.</li>
<li>
La directiva <directive
module="core">ErrorDocument</directive> no usa ya dobles
comillas al principio del argumento para indicar el mensaje de
texto que tiene que mostrarse. En lugar de esto, se debe poner
entre comillas todo el mensaje. Por ejemplo,
<example>
ErrorDocument 403 "Mensaje
</example>
debe sustituirse por
<example>
ErrorDocument 403 "Mensaje"
</example>
Si el segundo argumento no es una URL o una ruta válida a
un archivo, será tratado como un mensaje de texto.
</li>
<li>Las directivas <code>AccessConfig</code> y
<code>ResourceConfig</code> han desaparecido. Las instancias
existentes de estas directivas pueden sustituirse por la
directiva <directive module="core">Include</directive> que tiene
una funcionalidad equivalente. Si hacía uso de los valores
por defecto de esas directivas sin incluirlas en los ficheros de
configuración, puede que necesite añadir <code>Include
conf/access.conf</code> e <code>Include conf/srm.conf</code> a
su fichero <code>httpd.conf</code>. Para asegurarse de que
Apache lee el fichero de configuración en el mismo orden
que asumían las antiguas directivas, las directivas
<directive module="core">Include</directive> deben ser
reemplazadas al final del fichero <code>httpd.conf</code>, con
la de <code>srm.conf</code> precediendo a la de
<code>access.conf</code>.</li>
<li>Las directivas <code>BindAddress</code> y <code>Port</code>
no existen ya. Las funcionalidades que ofrecían esas
directivas están ahora cubiertas por la directiva
<directive module="mpm_common">Listen</directive>, que es mucho
más flexible.</li>
<li>Otro uso de la directiva <code>Port</code> en Apache 1.3 era
fijar el número de puerto que se usaba para URLs
autoreferenciadas. La directiva equivalente en Apache 2.0 es la
nueva directiva <directive module="core">ServerName</directive>:
este cambio se ha introducido para permitir la
especificación del nombre de host <em>y</em> del
número de puerto para URLs autorreferenciadas en una sola
directiva.</li>
<li>La directiva <code>ServerType</code> ha dejado de existir.
El método usado para servir peticiones está ahora
determinado por la selección del Módulo de
MultiProcesamiento. Actualmente no hay diseñado un MPM que
pueda ser ejecutado por inetd.</li>
<li>Los módulos <code>mod_log_agent</code> y
<code>mod_log_referer</code> que contenían las directivas
<code>AgentLog</code>, <code>RefererLog</code> y
<code>RefererIgnore</code> han desaparecido. Los logs de agente
y de referer están disponibles todavía usando la
directiva <directive
module="mod_log_config">CustomLog</directive> del módulo
<module>mod_log_config</module>.</li>
<li>las directivas <code>AddModule</code> y
<code>ClearModuleList</code> no están presentes en la nueva
versión. Estan directivas se usaban para asegurarse de que
los módulos pudieran activarse en el orden correcto. La
nueva API de Apache 2.0 permite a los módulos especificar
explícitamente su orden de activación, eliminando la
necesidad de estas directivas.</li>
<li>La directiva <code>FancyIndexing</code> se ha eliminado. La
funcionalidad que cubría está ahora disponible a
través de la opción <code>FancyIndexing</code> de la
directiva <directive
module="mod_autoindex">IndexOptions</directive>.</li>
<li>La técnica de negociación de contenido MultiViews
ofrecida por <module>mod_negotiation</module> es ahora más
estricta en su algoritmo de selección de ficheros y solo
seleccionará ficheros <em>negociables</em>. El antiguo
comportamiento puede restaurarse usando la directiva <directive
module="mod_mime">MultiviewsMatch</directive>.</li>
</ul>
</section>
<section id="misc">
<title>Cambios de menor importancia</title>
<ul>
<li>El módulo <module>mod_auth_digest</module>, que era
experimental en Apache 1.3, es ahora un módulo
estándar.</li>
<li>El módulo <code>mod_mmap_static</code>, que era
experimental en Apache 1.3, ha sido sustituido por el
módulo <module>mod_file_cache</module>.</li>
<li>La distribución de Apache ha sido reorganizada por
completo para que no contenga a partir de ahora el directorio
independiente <code>src</code>. En su lugar, el código
fuente se ha organizado a partir del directorio principal de la
distribución, y las intalaciones del servidor compilado
deben hecerse en un directorio diferente.</li>
</ul>
</section>
<section id="third-party">
<title>Módulos de terceras partes</title>
<p>La API de Apache 2.0 ha sufrido grandes cambios respecto a la
versión 1.3. Los módulos que se diseñaron para la
API de Apache 1.3 <strong>no</strong> funcionarán si no se
hacen las modificaciones necasarias para adaptarlos a Apache 2.0.
En la <a href="developer/">documentación para
desarrolladores</a> puede encontrar información detallada
sobre este asunto.</p>
</section>
</manualpage>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- Revision: 1.8.2.10 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="worker.xml.meta">
<name>worker</name>
<description>Módulo de MultiProcesamiento que implementa un
servidor web híbrido multihebra-multiproceso</description>
<status>MPM</status>
<sourcefile>worker.c</sourcefile>
<identifier>mpm_worker_module</identifier>
<summary>
<p>Este Módulo de MultiProcesamiento (MPM) implementa un
servidor híbrido multiproceso-multihebra. Usando hebras para
atender peticiones, el servidor puede servir un mayor número
de peticiones con menos recursos de sistema que un servidor basado
únicamente en procesos. No obtante, se mantiene casi por
completo la estabilidad de un servidor basado en procesos
manteniendo la capacidad multiproceso, pudiendo cada proceso tener
muchas hebras.</p>
<p>Las directivas más importantes que se usan para controlar
este MPM son <directive
module="mpm_common">ThreadsPerChild</directive>, que controla el
número de hebras que tiene cada proceso hijo y <directive
module="mpm_common">MaxClients</directive>, que controla el
número máximo de hebras que pueden crearse.</p>
</summary>
<seealso><a href="../bind.html">Especificar las direcciones y los
puertos que usa Apache</a></seealso>
<section id="how-it-works"><title>Cómo funciona</title> <p>Un
solo proceso de control (el padre) es el responsable de crear los
procesos hijo. Cada proceso hijo crea un número fijo de
hebras del servidor de la forma que se especifica en la directiva
<directive module="mpm_common">ThreadsPerChild</directive>,
así como una hebra de escucha que escuchará si se
producen peticiones y las pasará a una hebra del servidor
para que la procese.</p>
<p>Apache siempre intenta mantener en reserva cierto número
de hebras <dfn>de sobra</dfn> o en espera, que están
preparadas para servir peticiones en el momento en que
lleguen. Así, los clientes no tienen que esperar a que se
creen nuevas hebras o procesos para que sean atendidas sus
peticiones. El número de procesos que se crean al principio
está determinado por la directiva <directive
module="mpm_common">StartServers</directive>. Después durante
el funcionamiento del servidor, Apache calcula el número
total de hebras en espera entre todos los procesos, y crea o
elimina procesos para mantener ese número dentro de los
límites especificados en las directivas <directive
module="mpm_common">MinSpareThreads</directive> y <directive
module="mpm_common">MaxSpareThreads</directive>. Como este proceso
está bastante autorregulado, no es muy habitual que sea
necesario modificar los valores que estas directivas traen por
defecto. El número máximo de clientes que pueden ser
servidos simultáneamente (por ejemplo, el número
máximo de hebras entre todos los procesos) está
determinado por la directiva <directive
module="mpm_common">MaxClients</directive>. El número
máximo de procesos hijo activos está determinado por el
valor especificado en la directiva <directive
module="mpm_common">MaxClients</directive> dividido por el valor
especificado en la directiva <directive module="mpm_common">
ThreadsPerChild</directive>.</p>
<p>Hay dos directivas que establecen límites estrictos al
número de procesos hijo activos y al número de hebras
del servidor en un proceso hijo, y puede cambiarse solo parando
completamente el servidor y volviendo a iniciarlo. La directiva
<directive module="mpm_common">ServerLimit </directive> marca el
límite estricto de procesos hijo activos posibles, y debe ser
mayor o igual al valor de la directiva <directive
module="mpm_common">MaxClients</directive> dividido por el valor
de la directiva <directive module="mpm_common">
ThreadsPerChild</directive>. El valor de la directiva <directive
module="mpm_common">ThreadLimit</directive> es el límite
estricto del número de hebras del servidor, y debe ser mayor
o igual al valor de la directiva <directive
module="mpm_common">ThreadsPerChild</directive>. Si los valores
de esas directivas no son los que vienen por defecto, deben
aparecer antes que el resto de directivas del módulo
<module>worker</module>.</p>
<p>Además del conjunto de procesos hijo activos, puede haber
otros procesos hijo que están terminando pero en los que al
menos una hebra del servidor está todavía tratando una
conexión con un cliente. Puede haber hasta <directive
module="mpm_common">MaxClients</directive> procesos terminando,
aunque el número real de estos procesos que puede esperarse
es mucho menor. Este comportamiento puede evitarse desactivando la
eliminación individual de procesos hijo, lo que se hace de la
siguiente manera:</p>
<ul>
<li>fijar el valor de la directiva <directive module="mpm_common">
MaxRequestsPerChild</directive> a cero</li>
<li>fijar el valor de la directiva <directive
module="mpm_common"> MaxSpareThreads</directive> al mismo valor
que la directiva <directive
module="mpm_common">MaxClients</directive></li>
</ul>
<p>Una configuración típica del sistema de control de
procesos y hebras del módulo de MPM <module>worker</module>
prodría ser como sigue:</p>
<example>
ServerLimit 16<br />
StartServers 2<br />
MaxClients 150<br />
MinSpareThreads 25<br />
MaxSpareThreads 75<br />
ThreadsPerChild 25
</example>
<p>Mientras que el proceso padre se inicia con privilegios de
usuario <code>root</code> en Unix para usar el puerto de escucha
80, los procesos hijo y las hebras se inician con menores
privilegios de usuario. Las directivas <directive
module="mpm_common">User</directive> y <directive
module="mpm_common">Group</directive> se usan para determinar los
privilegios con los que se iniciarán los procesos hijo. Los
procesos hijo deben ser capaces de leer los contenidos que van a
servir, pero solo los permisos extrictamente necesarios para
cumplir su tarea. Además. a menos que se use <a
href="../suexec.html">suexec</a>, los privilegios fijados en estas
directivas son los que que van a heredar los scripts CGI.</p>
<p>La directiva <directive
module="mpm_common">MaxRequestsPerChild</directive> controla con
qué frecuencia el servidor recicla los procesos eliminando
los antiguos y creando nuevos.</p>
</section>
<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>PidFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>LockFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxClients</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ServerLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>StartServers</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
</modulesynopsis>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]