1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
4 <!-- English Revision: 105989:1673947 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="install.xml.meta">
25 <title>Compilación e Instalación</title>
29 <p>Este documento explica cómo compilar e instalar Apache en
30 sistemas Unix y tipo Unix. Para obtener información sobre
31 cómo compilar e instalar en Windows, consulte la sección
32 <a href="platform/windows.html">Usar Apache en Microsoft
33 Windows</a>. Para otras plataformas, consulte la
34 documentación sobre <a href="platform/">plataformas</a>.</p>
36 <p>El entorno de configuración e instalación de Apache
37 2.0 ha cambiado completamente respecto al de Apache 1.3. Apache
38 1.3 usaba un conjunto de scripts a medida para conseguir una
39 instalación fácil. Apache 2.0 usa <code>libtool</code> y
40 <code>autoconf</code> para crear un entorno más parecido al
41 de muchos otros proyectos Open Source.</p>
43 <p>Si lo que quiere hacer es actualizar su servidor Apache desde
44 una versión menor (por ejemplo, desde la 2.0.50 a la 2.0.51),
45 pase directamente a la sección de <a
46 href="#upgrading">actualización</a>.</p>
50 <seealso><a href="programs/configure.html">Configuración de la
51 estructura de directorios</a></seealso> <seealso><a
52 href="invoking.html">Iniciar Apache</a></seealso> <seealso><a
53 href="stopping.html">Parar y reiniciar Apache</a></seealso>
55 <section id="overview"><title>Visión general del proceso para
59 <columnspec><column width=".13"/><column
60 width=".80"/></columnspec>
62 <td><a href="#download">Descargar</a></td>
64 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
69 <td><a href="#extract">Descomprimir</a></td>
71 <td><code>$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
72 $ tar xvf httpd-2_1_<em>NN</em>.tar</code> </td>
76 <td><a href="#configure">Ejecutar el script configure</a></td>
78 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
83 <td><a href="#compile">Compilar</a></td>
85 <td><code>$ make</code> </td>
89 <td><a href="#install">Instalar</a></td>
91 <td><code>$ make install</code> </td>
95 <td><a href="#customize">Personalizar</a></td>
97 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
101 <td><a href="#test">Comprobar que la instalación
104 <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
109 <p><em>NN</em> hay que reemplazarlo por el número de la
110 versión menor, y <em>PREFIX</em> hay que reemplazarlo por la
111 ruta en la que se va a instalar Apache. Si no especifica
112 ningún valor en <em>PREFIX</em>, el valor por defecto que se
113 toma es <code>/usr/local/apache2</code>.</p>
115 <p>Cada parte del proceso de configuración e instalación
116 se describe detalladamente más abajo, empezando por los
117 requisitos para compilar e instalar Apache.</p>
120 <section id="requirements"><title>Requisitos</title>
122 <p>Estos son los requisitos necesarios para compilar Apache:</p>
125 <dt>Espacio en disco</dt> <dd>Compruebe que tiene disponibles al
126 menos 50 MB de espacio libre en disco. Después de la
127 instalación, Apache ocupa aproximadamente 10 MB. No
128 obstante, la necesidad real de espacio en disco varía
129 considerablemente en función de las opciones de
130 configuración que elija y de los módulos externos que
133 <dt>Compilador ANSI-C y Build System</dt> <dd>Compruebe que
134 tiene instalado un compilador de ANSI-C. Se recomienda el <a
135 href="http://www.gnu.org/software/gcc/gcc.html">Compilador GNU C
136 (GCC)</a> de la <a href="http://www.gnu.org/">Free Software
137 Foundation (FSF)</a> (con la versión 2.7.2 es
138 suficiente). Si no tiene instaldo el GCC, entonces compruebe que
139 el compilador que va a utilizar cumple con los estándares
140 ANSI. Además, su <code>PATH</code> debe contener la
141 ubicación donde de encuentran las herramientas básicas
142 para compilar tales como <code>make</code>.</dd>
144 <dt>Ajuste exacto del reloj del sistema</dt> <dd>Los elementos
145 del protocolo HTTP están expresados según la hora del
146 dia. Por eso, si quiere puede investigar como instalar alguna
147 utilidad para sincronizar la hora de su sistema. Para esto,
148 normalmente, se usan los programas <code>ntpdate</code> o
149 <code>xntpd</code>, que están basados en el protocolo
150 Network Time Protocol (NTP). Consulte el grupo de noticias <a
151 href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
152 y el <a href="http://www.eecis.udel.edu/~ntp/">sitio web de NTP
153 </a> para obtener más información sobre NTP y los
154 servidores públicos de tiempo.</dd>
156 <dt><a href="http://www.perl.org/">Perl 5</a> [OPCIONAL]</dt>
157 <dd>Para algunos de los scripts de soporte como <a
158 href="programs/apxs.html">apxs</a> o <a
159 href="programs/dbmmanage.html">dbmmanage</a> (que están
160 escritos en Perl) es necesario el intérprete de Perl 5 (las
161 versiones 5.003 o posteriores son suficientes). Si el script
162 `<code>configure</code>' no encuentra ese intérprete
163 tampoco pasa nada. Aún puede compilar e instalar Apache
164 2.0. Lo único que ocurrirá es que esos scripts de
165 soporte no podrán ser usados. Si usted tiene varios
166 interpretes de Perl instalados (quizás Perl 4 porque estaba
167 ya incluido en su distribución de Linux y Perl 5 porque lo
168 ha instalado usted), entonces se recomienda usar la opción
169 <code>--with-perl</code> para asegurarse de que
170 <code>./configure</code> usa el intérprete correcto.</dd>
174 <section id="download"><title>Descargar</title>
176 <p>Puede descargar Apache desde <a
177 href="http://httpd.apache.org/download.cgi">la sección de
178 descargas del sitio web de Apache</a> el cual tiene varios
179 mirrors. Para la mayoría de los usuarios de Apache que tienen
180 sistemas tipo Unix, se recomienda que se descarguen y compilen el
181 código fuente. El proceso de compilación (descrito
182 más abajo) es fácil, y permite adaptar el servidor
183 Apache a sus necesidades. Además, las versiones de
184 disponibles en archivos binarios no están siempre actulizadas
185 con las últimas modificaciones en el codigo fuente. Si se
186 descarga un binario, siga las instrucciones contenidas en el
187 archivo <code>INSTALL.bindist</code> incluido en la
188 distribución</p>
190 <p>Después de la descarga, es importante que verifique que el
191 archivo descargado del servidor HTTP Apache está completo y
192 sin modificaciones. Esto puede hacerlo comparando el archivo
193 descargado (.tgz) con su firma PGP. Instrucciones detalladas de
194 cómo hacer esto están disponibles en <a
195 href="http://httpd.apache.org/download.cgi#verify"> la
196 sección de descargas</a> junto con un ejemplo de cómo <a
197 href="http://httpd.apache.org/dev/verification.html">usar
202 <section id="extract"><title>Descomprimir</title>
204 <p>Extraer el código fuente del archivo .tgz que acabada de
205 descargar es muy fácil. Ejecute los siguientes comandos:</p>
208 $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
209 $ tar xvf httpd-2_1_<em>NN</em>.tar
212 <p>Estos comandos crearán un nuevo directorio dentro del
213 directorio en el que se encuentra y que contendrá el
214 código fuente de la distribución. Debe cambiarse a ese
215 directorio con <code>cd</code> para proceder a compilar el
220 <section id="configure"><title>Configuración de la estructura de
223 <p>El siguiente paso es configurar la estructura de directorios
224 para su plataforma y sus necesidades personales. Esto se hace
225 usando el script <code>configure</code> incluido en el directorio
226 raiz de la distribución que acaba de descargar. (Los
227 desarrolladores que se descarguen la versión del CVS de la
228 estructura de directorios necesitarán tener instalados
229 <code>autoconf</code> y <code>libtool</code>, y necesitarán
230 ejecutar <code>buildconf</code> antes de continuar con los
231 siguientes pasos. Esto no es preciso para las versiones
234 <p>Para configurar la estructura de directorios a partir del
235 código fuente usando las opciones por defecto, solo tiene que
236 ejecutar <code>./configure</code>. Para cambiar las opciones por
237 defecto, <code>configure</code> acepta una serie de variables y
238 opciones por la línea de comandos.</p>
240 <p>La opción más importante es <code>--prefix</code> que
241 es el directorio en el que Apache va a ser instalado después,
242 porque Apache tiene que ser configurado para el directorio que se
243 especifique para que funcione correctamente. Es posible lograr un
244 mayor control del lugar donde se van a instalar los ficheros de
246 href="programs/configure.html#installationdirectories">opciones de
247 configuración</a>.</p>
249 <p>En este momento, puede especificar que <a
250 href="programs/configure.html#optionalfeatures">características
251 o funcionalidades</a> quiere incluir en Apache activando o
252 desactivando <a href="mod/">módulos</a>. Apache viene con
253 una <a href="mod/module-dict.html#Status">selección
254 básica</a> de módulos incluidos por defecto. Se pueden
255 activar otros módulos usando la opción
256 <code>--enable-<var>module</var></code>, donde <var>module</var>
257 es el nombre del módulo sin el <code>mod_</code> y
258 convirtiendo los guiones bajos que tenga en guiones normales.
259 También puede optar por compilar módulos como <a
260 href="dso.html">objetos dinámicos compartidos (DSOs)</a> --
261 que pueden ser activados o desactivados al ejecutar -- usando la
262 opción <code>--enable-<var>module</var>=shared</code>. De
263 igual manera, puede desactivar alguno de los módulos que
264 vienen por defecto en la selección basica con la opción
265 <code>--disable-<var>module</var></code>. Tenga cuidado cuando
266 use estas opciones, porque <code>configure</code> no le
267 avisará si el módulo que especifica no existe;
268 simplemente ignorará esa opción.</p>
270 <p>Además, a veces es necesario pasarle al script
271 <code>configure</code> información adicional sobre donde esta
272 su compilador, librerias o ficheros de cabecera. Esto se puede
273 hacer, tanto pasando variables de entorno, como pasandole opciones
274 a <code>configure</code> a través de la línea de
275 comandos. Para más información, consulte el <a
276 href="programs/configure.html">Manual del script
279 <p>Para que se haga una idea sobre las posibilidades que tiene,
280 aquí tiene un ejemplo típico que configura Apache para
281 la ruta <code>/sw/pkg/apache</code> con un compilador y unos flags
282 determinados, y además, con dos módulos adicionales
283 <module>mod_rewrite</module> y <module>mod_speling</module> para
284 cargarlos después a través del mecanismo DSO:</p>
287 $ CC="pgcc" CFLAGS="-O2" \<br />
288 ./configure --prefix=/sw/pkg/apache \<br />
289 --enable-rewrite=shared \<br />
290 --enable-speling=shared
293 <p>Cuando se ejecuta <code>configure</code> se comprueban que
294 características o funcionalidades están disponibles en
295 su sistema y se crean los Makefiles que serán usados luego
296 para compilar el servidor. Esto tardará algunos minutos.</p>
298 <p>La información sobre todas las opciones de
299 <code>configure</code> está disponible en el <a
300 href="programs/configure.html">Manual del script
305 <section id="compile"><title>Compilar</title>
307 <p>Ahora puede compilar las diferentes partes que forman Apache
308 simplemente ejecutando el siguiente comando:</p>
310 <example>$ make</example>
312 <p>Por favor, tanga un poco de paciencia ahora, porque una
313 configuración básica tarda aproximadamente 3 minutos en
314 compilar en un Pentium III con un sistema Linux 2.2, pero este
315 tiempo puede variar considerablemente en función de su
316 hardware y del número de módulos que haya
320 <section id="install"><title>Instalar</title>
322 <p>Ahora es el momento de instalar el paquete en el diretorio
323 elegido en <em>PREFIX</em> (consulte la opción
324 <code>--prefix</code> más arriba) ejecutando:</p>
326 <example>$ make install</example>
328 <p>Si usted está solo actualizando una instalación
329 anterior, la nueva instalación no sobreescribirá sus
330 ficheros de configuración ni otros documentos.</p>
333 <section id="customize"><title>Personalizar</title>
335 <p>El paso siguiente, es personalizar su servidor Apache editando
336 los <a href="configuring.html">ficheros de configuración</a>
337 que están en <code><em>PREFIX</em>/conf/</code>.</p>
339 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
341 <p>échele un vistazo al Manual de Apache que está en <a
342 href="./">docs/manual/</a> o consulte en <a
343 href="http://httpd.apache.org/docs/&httpd.docs;/"
344 >http://httpd.apache.org/docs/&httpd.docs;/</a> la versión más
345 reciente de este manual y la Guia de Referencia de todas las <a
346 href="mod/directives.html">directivas de configuración</a>
350 <section id="test"><title>Comprobar que la instalación
353 <p>Ahora puede <a href="invoking.html">iniciar</a> su servidor
354 Apache cuando quiera ejecutando:</p>
356 <example>$ <em>PREFIX</em>/bin/apachectl start</example>
358 <p>y entonces debe poder acceder al documento que tenga
359 especificado por defecto usando el siguiente URL:
360 <code>http://localhost/</code>. El documento que verá
361 estará en <directive module="core">DocumentRoot</directive> y
362 casi siempre estará en <code><em>PREFIX</em>/htdocs/</code>.
363 Si quiere <a href="stopping.html">parar</a> el servidor, puede
364 hacerlo ejecutando:</p>
366 <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
368 <section id="upgrading"><title>Actualizar una instalación
371 <p>El primer paso para actualizar una instalación anterior es
372 leer las especificaciones de la versión y el fichero
373 <code>CHANGES</code> en la distribución de código fuente
374 que ha descargado para encontrar los cambios que puedan afectar a
375 su instalación actual. Cuando el cambio sea entre versiones
376 mayores (por ejemplo, de la 1.3 a la 2.0 o de la 2.0 a la 2.2),
377 entonces es más probable que haya diferencias importantes en
378 la compilación y en la ejecución que necesitarán
379 ajustes manuales. Todos los módulos necesitarán
380 también ser actualizados para adaptarse a los cambios en el
381 interfaz de programación (API) de módulos.</p>
383 <p>La actualización cuando el cambio es entre versiones
384 menores (por ejemplo, de la 2.0.55 a la 2.0.57) es más
385 fácil. El proceso <code>make install</code> no
386 sobreescribirá ninguno de los documentos existentes, archivos
387 log, o archivos de configuración. Además, los
388 desarrolladores hacen todos los esfuerzos posibles para evitar
389 cambios que generen incompatibilidades en las opciones de
390 <code>configure</code>, en la configuración de la
391 ejecución o en la interfaz de programación de
392 módulos. En la mayor parte de los casos debe poder usar un
393 comando <code>configure</code> idéntico, un fichero de
394 configuracién idéntico, y todos sus módulos deben
395 seguir funcionando. (Esto es válido solo para versiones
396 posteriores a la 2.0.41; las versiones anteriores contienen
397 cambios incompatibles.)</p>
399 <p>Si va a conservar la estructura de directorios de su anterior
400 instalación, la actualización es más fácil
401 incluso. El fichero <code>config.nice</code> que está en el
402 directorio raiz de la estructura de directorios antigua contiene
403 exactamente el comando <code>configure</code> que usted usó
404 para configurar la estructura de directorios de Apache. Entonces,
405 para actualizar su instalación de una versóon a la
406 siguinete, solo tiene que copiar el archivo
407 <code>config.nice</code> a la estructura de directorios del
408 código fuente de la nueva versión, editarlo, hacer
409 cualquier cambio que desee, y ejecutarlo :</p>
412 $ ./config.nice<br />
415 $ <em>PREFIX</em>/bin/apachectl stop<br />
416 $ <em>PREFIX</em>/bin/apachectl start<br />
419 <note type="warning">Tenga en cuenta que antes de poner una nueva
420 versión de Apache en producción, debe siempre probarla
421 antes en su entorno. Por ejemplo, puede instalar y ejecutar la
422 nueva versión junto con la antigua usando un
423 <code>--prefix</code> diferente y un puerto diferente (modificando
424 la directiva <directive module="mpm_common">Listen</directive>)
425 para comprobar que no existe ninguna incompatibilidad antes de
426 hacer la actualización definitiva.</note>