blob: 8f26492f7575b886571a5952c44807fd9df9942f [file] [log] [blame]
<?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: 151405 -->
<!--
Copyright 2004-2005 The Apache Software Foundation or it licensors,
as applicable.
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>Pasar a usar Apache 2.0 si ahora usa Apache 1.3</title>
<summary>
<p>Este documento recoge infomaci&#243;n cr&#237;tica sobre el
proceso de actulizaci&#243;n de la versi&#243;n de Apache que
usa. Se trata de peque&#241;os comentarios. Puede encontrar m&#225;s
informaci&#243;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&#243;n general de las
nuevas funcionalidades de Apache 2.0</a></seealso>
<section id="compile-time">
<title>Cambios en el proceso de configuraci&#243;n y
compilaci&#243;n</title>
<ul>
<li>Apache usa ahora <code>autoconf</code> y
<code>libtool</code> <a href="install.html"> en el proceso de
compilaci&#243;n</a>. Este sistema es parecido aunque no igual
al sistema APACI de Apache 1.3.</li>
<li>Adem&#225;s de la selecci&#243;n de m&#243;dulos habitual
que puede hacer al compilar, en Apache 2.0 la mayor parte del
procesamiento de las petici&#243;n es llevada a cabo por <a
href="mpm.html">m&#243;dulos de multiprocesamiento</a>
(MPMs).</li>
</ul>
</section>
<section id="run-time">
<title>Cambios en el proceso de configuraci&#243;n inicial del
servidor</title>
<ul>
<li>Muchas directivas que pertenec&#237;an al core (n&#250;cleo)
del servidor en Apache 1.3 se encuentran ahora en distintos
m&#243;dulos de multiprocesamiento. Si desea que el nuevo
servidor de comporte de la forma m&#225;s parecida posible a
como lo hac&#237;a Apache 1.3, debe usar el m&#243;dulo de
multiprocesamiento <module>prefork</module>. Otros m&#243;dulos
de multiprocesamiento tienen diferentes directivas para
controlar la creaci&#243;n de procesos y el procesamiento de
peticiones.</li>
<li>El <a href="mod/mod_proxy.html">m&#243;dulo proxy</a> ha
sido remodelado para ponerlo al d&#237;a con la
especificaci&#243;n HTTP/1.1. Entre los cambios m&#225;s
importantes est&#225; el que ahora el control de acceso al proxy
est&#225; dentro de un bloque <directive type="section"
module="mod_proxy">Proxy</directive> en lugar de en un bloque
<code>&lt;Directory proxy:&gt;</code>.</li>
<li>El procesamiento de <code>PATH_INFO</code> (la
informaci&#243;n que aparece detr&#225;s de un nombre de fichero
v&#225;lido) ha cambiado en algunos m&#243;dulos. Los
m&#243;dulos que fueron previamente implementados como un handler
pero que ahora son implementados como un filtro puede que no
acepten 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&#225;n implementados
sobre el handler principal (core handler), y por tanto
rechazar&#225;n 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 posibilidad 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
instancias 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 a mostrar. En lugar de esto, ponga 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&#225;lida a
un archivo, ser&#225; 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 ser sustituidas por
directivas <directive module="core">Include</directive> que
tienen una funcionalidad equivalente. Si hac&#237;a uso de los
valores por defecto de esas directivas sin incluirlas en los
ficheros de configuraci&#243;n, puede que necesite a&#241;adir
<code>Include conf/access.conf</code> e <code>Include
conf/srm.conf</code> a su fichero <code>httpd.conf</code>. Para
asegurar que Apache lee el fichero de configuraci&#243;n en el
mismo orden que asum&#237;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&#237;an esas
directivas est&#225;n ahora cubiertas por la directiva
<directive module="mpm_common">Listen</directive>, que es mucho
m&#225;s flexible.</li>
<li>Otro uso de la directiva <code>Port</code> en Apache 1.3 era
fijar el n&#250;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&#243;n del nombre de host <em>y</em> del
n&#250;mero de puerto para URLs autorreferenciadas en una sola
directiva.</li>
<li>La directiva <code>ServerType</code> ha dejado de existir.
El m&#233;todo usado para servir peticiones est&#225; ahora
determinado por la selecci&#243;n del m&#243;dulo de
multiprocesamiento. Actualmente no hay dise&#241;ado un
m&#243;dulo de multiprocesamiento que pueda ser ejecutado por
inetd.</li>
<li>Los m&#243;dulos <code>mod_log_agent</code> y
<code>mod_log_referer</code> que conten&#237;an las directivas
<code>AgentLog</code>, <code>RefererLog</code> y
<code>RefererIgnore</code> han desaparecido. Los registros de
"agente" y de "referer" est&#225;n disponibles todav&#237;a
usando la directiva <directive
module="mod_log_config">CustomLog</directive> del m&#243;dulo
<module>mod_log_config</module>.</li>
<li>Las directivas <code>AddModule</code> y
<code>ClearModuleList</code> no est&#225;n presentes en la nueva
versi&#243;n de Apache. Estas directivas se usaban para
asegurar que los m&#243;dulos pudieran activarse en el orden
correcto. La nueva API de Apache 2.0 permite a los m&#243;dulos
especificar expl&#237;citamente su orden de activaci&#243;n,
eliminando la necesidad de las antiguas directivas.</li>
<li>La directiva <code>FancyIndexing</code> se ha eliminado. La
funcionalidad que cubr&#237;a est&#225; ahora disponible a
trav&#233;s de la opci&#243;n <code>FancyIndexing</code> de la
directiva <directive
module="mod_autoindex">IndexOptions</directive>.</li>
<li>La t&#233;cnica de negociaci&#243;n de contenido MultiViews
ofrecida por <module>mod_negotiation</module> es ahora m&#225;s
estricta en su algoritmo de selecci&#243;n de ficheros y solo
seleccionar&#225; ficheros <em>negociables</em>. El antiguo
comportamiento puede restaurarse usando la directiva <directive
module="mod_mime">MultiviewsMatch</directive>.</li>
<li>(<em>a partir de la versi&#243;n 2.0.51</em>) <p>La
funcionalidad de la directiva <code>ErrorHeader</code> se ha
unido con la de la directiva <directive
module="mod_headers">Header</directive>, porque se estaba usando
un t&#233;rmino equivocado. Use</p>
<example>
Header always set foo bar
</example>
<p>en lugar de conseguir el comportamiento deseado.</p></li>
</ul>
</section>
<section id="misc">
<title>Cambios de menor importancia</title>
<ul>
<li>El m&#243;dulo <module>mod_auth_digest</module>, que era
experimental en Apache 1.3, es ahora un m&#243;dulo
est&#225;ndar.</li>
<li>El m&#243;dulo <code>mod_mmap_static</code>, que era
experimental en Apache 1.3, ha sido sustituido por el
m&#243;dulo <module>mod_file_cache</module>.</li>
<li>La distribuci&#243;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&#243;digo
fuente se ha organizado a partir del directorio principal de la
distribuci&#243;n, y las intalaciones del servidor compilado
deben hacerse en un directorio diferente.</li>
</ul>
</section>
<section id="third-party">
<title>M&#243;dulos de terceras partes</title>
<p>La API de Apache 2.0 ha sufrido grandes cambios respecto a la
versi&#243;n 1.3. Los m&#243;dulos que se dise&#241;aron para la
API de Apache 1.3 <strong>no</strong> funcionar&#225;n si no se
hacen las modificaciones necasarias para adaptarlos a Apache 2.0.
En la <a href="developer/">documentaci&#243;n para
desarrolladores</a> puede encontrar informaci&#243;n detallada
sobre este asunto.</p>
</section>
</manualpage>