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