1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
<?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: 421174 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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ó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 <a
href="mpm.html">módulos de multiprocesamiento</a>
(MPMs).</li>
</ul>
</section>
<section id="run-time">
<title>Cambios en el proceso de configuración inicial del
servidor</title>
<ul>
<li>Muchas directivas que pertenecían al core (núcleo)
del servidor en Apache 1.3 se encuentran ahora en distintos
módulos de multiprocesamiento. Si desea que el nuevo
servidor de comporte de la forma más parecida posible a
como lo hacía Apache 1.3, debe usar el módulo de
multiprocesamiento <module>prefork</module>. Otros módulos
de multiprocesamiento tienen diferentes directivas para
controlar la creación de procesos y el 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
información que aparece detrás de un nombre de fichero
válido) ha cambiado en algunos módulos. Los
mó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án implementados
sobre el handler principal (core handler), y por tanto
rechazará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á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 ser sustituidas por
directivas <directive module="core">Include</directive> que
tienen 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
asegurar 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
módulo de multiprocesamiento 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 registros 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 de Apache. Estas directivas se usaban para
asegurar 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 las antiguas 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>
<li>(<em>a partir de la versió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é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ó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 hacerse 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>
|