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: 1824141 -->
5 <!-- Spanish Translation by: Luis Gil de Bernabé -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="install.xml.meta">
27 <title>Compilar e Instalar</title>
31 <p>Éste documento hace referencia a la compilación y la instalación del Apache
32 HTTP Server sólo para los sistemas Unix y tipo Unix. Para la compilación e instalación en Windows ir a <a
33 href="platform/windows.html">Usando Apache HTTP Server con Microsoft
35 href="platform/win_compiling.html">Compilando Apache para Microsoft Windows</a>.
36 Para otras plataformas visite la documentación sobre <a
37 href="platform/">plataformas</a>.</p>
39 <p>Apache httpd usa <code>libtool</code> y <code>autoconf</code>
40 para crear un entorno de compilación que se parece a muchos otros proyectos de código abierto</p>
42 <p>Si está actualizando desde una versión menor a la siguiente (por
43 ejemplo, 2.4.8 a 2.4.9), pasa a la sección de <a
44 href="#upgrading">actualización</a>.</p>
48 <seealso><a href="programs/configure.html">Configuración del árbol de las fuentes de código</a></seealso>
49 <seealso><a href="invoking.html">Arrancando Apache httpd</a></seealso>
50 <seealso><a href="stopping.html">Parada y Reinicio</a></seealso>
52 <section id="overview"><title>Descripción general para los impacientes</title>
55 <dt>Instalando en Fedora/CentOS/Red Hat Enterprise Linux</dt>
58 sudo yum install httpd
59 sudo service httpd start
62 <note type="warning">Las versiones más recientes de estas distribuciones utilizan
63 <code>dnf</code> en lugar de <code>yum</code>. Vea la <a
64 href="https://fedoraproject.org/wiki/Apache_HTTP_Server"> documentación del Proyecto Fedora
65 </a> para más detalles en concreto de esta plataforma.</note>
68 <dt>Instalación en Ubuntu/Debian</dt>
71 sudo apt install apache2
72 sudo service apache2 start
75 <note type="warning">Vea <a href="https://help.ubuntu.com/lts/serverguide/httpd.html">La documentacion oficial de Ubuntu </a> para detalles en concreto de esta plataforma.</note>
79 <dt>Installing from source</dt>
83 <columnspec><column width=".13"/><column width=".80"/></columnspec>
85 <td><a href="#download">Descarga</a></td>
87 <td>Descarga la última versión
88 desde <a href="http://httpd.apache.org/download.cgi#apache24">
89 http://httpd.apache.org/download.cgi</a>
94 <td><a href="#extract">Extraer</a></td>
96 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
97 $ tar xvf httpd-<em>NN</em>.tar<br />
98 $ cd httpd-<em>NN</em></code></td>
102 <td><a href="#configure">Configura</a></td>
104 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
109 <td><a href="#compile">Compila</a></td>
111 <td><code>$ make</code> </td>
115 <td><a href="#install">Instala</a></td>
117 <td><code>$ make install</code> </td>
121 <td><a href="#customize">Personalizalo</a></td>
123 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
127 <td><a href="#test">Prueba</a></td>
129 <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
134 <p><em>NN</em> hay que reemplazarlo por el número de la versión menor, y <em>PREFIX</em> hay que reemplazarlo por la ruta en la que se va a instalar Apache. Si no especifica ningún valor en <em>PREFIX</em>, el valor por defecto que se toma es /usr/local/apache2.</p>
136 <p>Cada parte del proceso de configuración e instalación se describe detalladamente más abajo, empezando por los requisitos para compilar e instalar Apache.</p>
138 <note type="warning">¿No se encuentra aquí su plataforma o sistema favorito?
139 <a href="http://httpd.apache.org/docs-project/">únete a colaborar y mejorar esta documentación.
145 <section id="requirements"><title>Requisitos</title>
147 <p>Estos son los requisitos necesarios para compilar Apache:</p>
150 <dt>APR y APR-Util</dt>
151 <dd>Asegúrate de que tiene instalado ya en su sistema APR y APR-Util. Si no es así, o no quiere utilizar la versión que le proporciona el sistema, puede descargar la última versión de ambos APR y APR-Util de
152 <a href="http://apr.apache.org/">Apache APR</a>, descomprimelo en
153 <code>/httpd_source_tree_root/srclib/apr</code> y /httpd_source_tree_root<code>/srclib/apr-util</code>
154 (cerciórate de que no existen directorios con números de versiones; por ejemplo,
155 la distribución de APR debe estar en /httpd_source_tree_root/srclib/apr/) y usa el comando
156 <code>./configure</code> <code>--con-las-opciones-incluidas-en-apr</code>.
157 En algunas plataformas deberás instalar la parte correspondiente a los paquetes
158 <code>-dev</code> para permitir que httpd se genere contra la instalación de la copia de APR y APR-Util.</dd>
160 <dt>Librería Compatible de expresiones regulares de Perl (PCRE)</dt>
161 <dd>Esta librería es requerida, pero ya no incluido con httpd.
162 Descarga el código fuente de <a href="http://www.pcre.org/">http://www.pcre.org</a>,
163 o instala un Port o un Paquete. Si la distrubución de su sistema no puede encontrar el escript pcre-config instalado por PCRE, seleccione utilizando el parámetro<code>--with-pcre</code>.En algunas plataformas,
164 deberás instalar la correspondiente versión <code>-dev</code>
165 del paquete para permitir a httpd que se genere contra la instalación de la copia del PCRE que se ha instalado.</dd>
167 <dt>Espacio en disco</dt>
168 <dd>Compruebe que tiene disponibles al
169 menos 50 MB de espacio libre en disco. Después de la
170 instalación, Apache ocupa aproximadamente 10 MB. No
171 obstante, la necesidad real de espacio en disco varía
172 considerablemente en función de las opciones de
173 configuración que elija y de los módulos externos que
174 use, y como no del tamaño de la página web</dd>
176 <dt>Systema de compilación ANSI-C</dt>
177 <dd>Compruebe que tiene instalado un compilador de ANSI-C. Se recomienda el <a href="http://gcc.gnu.org/">Compilador GNU C
178 (GCC)</a> de la <a href="http://www.gnu.org/">Free Software
179 Foundation (FSF)</a> es el recomendado. Si no tiene instalado el GCC, entonces compruebe que
180 el compilador que va a utilizar cumple con los estándares
181 ANSI. Además, su <code>PATH</code> debe contener la
182 ubicación donde de encuentran las herramientas básicas
183 para compilar tales como <code>make</code>.</dd>
185 <dt>Ajuste exacto del reloj del sistema</dt>
187 del protocolo HTTP están expresados según la hora del
188 día. Por eso, si quiere puede investigar como instalar alguna
189 utilidad para sincronizar la hora de su sistema. Para esto,
190 normalmente, se usan los programas <code>ntpdate</code> o
191 <code>xntpd</code>, que están basados en el protocolo
192 "Network Time Protocol" (NTP). Consulte el<a href="http://www.ntp.org">sitio web de NTP
193 </a> para obtener más información sobre NTP y los
194 servidores públicos de tiempo.</dd>
196 <dt><a href="http://www.perl.org/">Perl 5</a>[OPCIONAL]</dt>
197 <dd>Para algunos de los scripts de soporte como<program>
198 apxs</program> o <program>dbmmanage</program> (que están
199 escritos en Perl) es necesario el intérprete de Perl 5 (las
200 versiones 5.003 o posteriores son suficientes). Si el escript
201 <program>configure</program> no se encuentra, no podrá usar los
202 escripts correspondientes que lo necesiten. Pero por supuesto
203 podrás compilar y usar Apache httpd.</dd>
207 <section id="download"><title>Descargar</title>
209 <p>Puede descargar Apache desde <a
210 href="http://httpd.apache.org/download.cgi">la sección de
211 descargas del sitio web de Apache</a> el cual tiene varios
212 mirrors. Para la mayoría de los usuarios de Apache que tienen
213 sistemas tipo Unix, se recomienda que se descarguen y compilen el
214 código fuente. El proceso de compilación (descrito
215 más abajo) es fácil, y permite adaptar el servidor
216 Apache a sus necesidades. Además, las versiones de
217 disponibles en archivos binarios no están siempre actualizadas
218 con las últimas modificaciones en el código fuente. Si se
219 descarga un binario, siga las instrucciones contenidas en el
220 archivo <code>INSTALL.bindist</code> incluido en la
223 <p>Después de la descarga, es importante que verifique que el
224 archivo descargado del servidor HTTP Apache está completo y
225 sin modificaciones. Esto puede hacerlo comparando el archivo
226 descargado (.tgz) con su firma PGP. Instrucciones detalladas de
227 cómo hacer esto están disponibles en <a
228 href="http://httpd.apache.org/download.cgi#verify"> la
229 sección de descargas</a> junto con un ejemplo de cómo <a
230 href="http://httpd.apache.org/dev/verification.html">usar
235 <section id="extract"><title>Descomprimir</title>
237 <p>Extraer el código fuente del archivo .tgz del Servidor Apache HTTP que acabada
238 de descargar es muy fácil. Ejecute los siguientes comandos:</p>
241 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
242 $ tar xvf httpd-<em>NN</em>.tar
245 <p>Estos comandos crearán un nuevo directorio dentro del
246 directorio en el que se encuentra y que contendrá el
247 código fuente de distribución. Debe cambiarse a ese
248 directorio con <code>cd</code> para proceder a compilar el
252 <section id="configure"><title>Configuración de la estructura de
255 <p>El siguiente paso es configurar la estructura de directorios
256 para su plataforma y sus necesidades personales. Esto se hace
257 usando el script <program>configure</program> incluido en el directorio
258 raíz de la distribución que acaba de descargar. (Los
259 desarrolladores que se descarguen la versión del CVS de la
260 estructura de directorios necesitarán tener instalados
261 <code>autoconf</code> y <code>libtool</code>, y necesitarán
262 ejecutar <code>buildconf</code> antes de continuar con los
263 siguientes pasos. Esto no es preciso para las versiones
266 <p>Para configurar la estructura de directorios a partir del
267 código fuente usando las opciones por defecto, solo tiene que
268 ejecutar <code>./configure</code>.Para cambiar las opciones por
269 defecto, <program>configure</program> acepta una serie de variables y
270 opciones por la línea de comandos.</p>
272 <p>La opción más importante es <code>--prefix</code>
273 que es el directorio en el que Apache va a ser instalado después,
274 porque Apache tiene que ser configurado para el directorio que se
275 especifique para que funcione correctamente. Es posible lograr un
276 mayor control del lugar donde se van a instalar los ficheros de
278 href="programs/configure.html#installationdirectories">opciones de
279 configuración</a>.</p>
281 <p>Llegados a este punto, puede especificar que <a
282 href="programs/configure.html#optionalfeatures">características
283 o funcionalidades</a> quiere incluir en Apache activando o
284 desactivando <a href="mod/">modules</a>.Apache vine con una amplia
285 selección de módulos incluidos por defecto. Que serán compilados como .
286 <a href="dso.html">Objetos Compartidos (DSOs)</a> Que pueden ser activados
287 o desactivados en tiempo de ejecución.
288 También puede elegir por compilar módulos de forma estática usando las opciones
289 <code>--enable-<var>module</var>=static</code>.</p>
293 <p>Se pueden activar otros módulos usando la opción
294 <code>--enable-<var>module</var></code>, where
295 <var>module</var> es el nombre del módulo sin el
296 <code>mod_</code> y convirtiendo los guiones bajos que tenga en
297 guiones normales. Del mismo modo, puede desactivar los módulos con la
298 opción <code>--disable-<var>module</var></code>. Tenga cuidado al utilizar esta opción, ya que
299 <program>configure</program> no le avisará si el módulo que especifica no existe;
300 simplemente ignorará esa opción.</p>
302 <p>Además, a veces es necesario pasarle al script
303 <program>configure</program> información adicional sobre donde esta
304 su compilador, librerías o ficheros de cabecera. Esto se puede
305 hacer, tanto pasando variables de entorno, como pasandole opciones
306 a <program>configure</program>. Para más información, consulte el manual de
307 <program>configure</program>. O use <program>configure</program> con la
308 opción <code>--help</code>.</p>
310 <p>Para que se haga una idea sobre las posibilidades que tiene,
311 aquí tiene un ejemplo típico que configura Apache para
312 la ruta <code>/sw/pkg/apache</code> con un compilador y unos flags
313 determinados, y además, con dos módulos adicionales
314 <module>mod_ldap</module> y <module>mod_ldap</module> para
315 cargarlos después a través del mecanismo DSO:</p>
318 $ CC="pgcc" CFLAGS="-O2" \<br />
319 ./configure --prefix=/sw/pkg/apache \<br />
320 --enable-ldap=shared \<br />
324 <p>Cuando se ejecuta <program>configure</program> se comprueban que
325 características o funcionalidades están disponibles en
326 su sistema y se crean los Makefiles que serán usados a continuación
327 para compilar el servidor. Esto tardará algunos minutos.</p>
329 <p>Los detalles de todas las opciones de <program>configure</program> están disponibles
330 en el manual de <program>configure</program> .</p>
332 <section id="compile"><title>Build</title>
334 <p>Ahora puede compilar las diferentes partes que forman Apache
335 simplemente ejecutando el siguiente comando:</p>
337 <example>$ make</example>
339 <p>Por favor sea paciente llegado a este punto, ya que una configuración básica lleva unos minutos
340 para su compilación, y el tiempo puede variar mucho dependiendo de su hardware
341 y del número de módulos que haya habilitado para la compilación.(Se recomienda añadir al make el
342 parámetro -j3 como mínimo para que vaya más rápido)</p>
345 <section id="install"><title>Instalar</title>
347 <p>Ahora es el momento de instalar el paquete en el diretorio
348 elegido en <em>PREFIX</em> (consulte más arriba la opción
349 <code>--prefix</code>) ejecutando:</p>
351 <example>$ make install</example>
353 <p>Este paso requiere de forma típica privilegios de root, ya que
354 el directorio de <em>PREFIX</em> es normalmente un directorio con
355 restricciones de permisos escritura.</p>
357 <p>Si lo que esta es sólo actualizando, la instalación no sobreescribirá los
358 archivos de configuración.</p>
361 <section id="customize"><title>Personalizar APACHE</title>
363 <p>Tras la instalación puede personalizarla, editando los
364 <a href="configuring.html">archivos de configuracion </a> en el directorio de
365 <code><em>PREFIX</em>/conf/</code>.</p>
367 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
369 <p>Échele un vistazo al Manual de Apache que está en
370 <code><em>PREFIX</em>/docs/manual/</code> o consulta <a
371 href="http://httpd.apache.org/docs/&httpd.docs;/"
372 >http://httpd.apache.org/docs/&httpd.docs;/</a> para la versión más
373 reciente de este manual y su completa
374 referencia de las <a href="mod/directives.html">directivas de configuracion</a> disponibles.</p>
377 <section id="test"><title>Comprobar que la instalación
380 <p>Ahora puedes <a href="invoking.html">ejecutar</a> tu Apache
381 HTTP server ejecutando directamente:</p>
383 <example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
385 <p>Ahora debe poder acceder a su primer documento
386 bajo la URL <code>http://localhost/</code>. La página o documento que ve se encuentra en
387 <directive module="core">DocumentRoot</directive>,
388 que por norma general casi siempre será <code><em>PREFIX</em>/htdocs/</code>.
389 Si quiere <a href="stopping.html">parar</a> el servidor, puede hacerlo ejecutando:</p>
391 <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
393 <section id="upgrading"><title>Actualizar una instalación previa</title>
395 <p>El primer paso para actualizar una instalación anterior es
396 leer las especificaciones de la versión y el fichero
397 <code>CHANGES</code> en la distribución de código fuente
398 que ha descargado para encontrar los cambios que puedan afectar a
399 su instalación actual. Cuando el cambio sea entre versiones
400 mayores(por ejemplo, de la 2.0 a 2.2 o de la 2.2 a la 2.4),
401 entonces es más probable que haya diferencias importantes en
402 la compilación y en la ejecución que necesitarán
403 ajustes manuales. Todos los módulos necesitarán
404 también ser actualizados para adaptarse a los cambios en el
405 interfaz de programación (API) de módulos.</p>
407 <p>Actualizando de una versión menor a la siguiente
408 (por ejemplo, de la 2.2.55 a la 2.2.57) es mas fácil. El prodeso de realizar el <code>make install</code>
409 no sobreescribirá ninguno de tus documentos existentes,archivos
410 log, o archivos de configuración. De hecho, los desarrolladores están haciendo los esfuerzos
411 necerarios para evitar cambios que generen incompatibilidades en las opciones de
412 <program>configure</program>, la configuración al ser ejecutado, o el módulo de la API
413 entre versiones menores. En la mayor parte de los casos debe poder usar un
414 comando <program>configure</program> idéntico, un fichero de
415 configuración idéntico, y todos sus módulos deben
416 seguir funcionando.</p>
418 <p>Para actualizar entre versiones menores, empecemos encontrando el archivo de configuración
419 <code>config.nice</code> el directorio <code>de instalación</code> del servidor
420 o en el directorio raiz del código fuente de tu antigua instalación. Este archivo contendrá
421 los parámetros exactos para pasarle al
422 <program>configure</program> que usaste anteriormente para configurar tus directorios.
423 Entonces, para actualizar su instalación de una versión a la
424 siguinete, solo tiene que copiar el archivo
425 <code>config.nice</code> a la estructura de directorios del
426 código fuente de la nueva versión, editarlo, hacer
427 cualquier cambio que desee, y ejecutarlo :</p>
430 $ ./config.nice<br />
433 $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
434 $ <em>PREFIX</em>/bin/apachectl -k start<br />
437 <note type="warning">Tenga en cuenta que antes de poner una nueva
438 versión de Apache en producción, debe siempre probarla
439 antes en un entorno de pruebas. Por ejemplo, puede instalar y ejecutar la
440 nueva versión junto con la antigua usando un
441 <code>--prefix</code> diferente y un puerto diferente (modificando
442 la directiva <directive module="mpm_common">Listen</directive>)
443 para comprobar que no existe ninguna incompatibilidad antes de
444 hacer la actualización definitiva.</note>
446 <p>Puede pasarle argumentos adicionales a <code>config.nice</code>,
447 que se agregarán a susopciones originales de <program>configure</program>:</p>
450 $ ./config.nice --prefix=/home/test/apache --with-port=90
453 <section id="thirdp"><title>Paquetes de terceros</title>
455 <p>Un gran número de terceros proporcionan sus propias
456 distribuciones empaquetadas del Apache HTTP Server para su
457 instalación en plataformas específicas. Esto incluye las distintas
458 distribuciones de Linux, varios paquetes de Windows de terceros,
459 Mac OS X, Solaris, y muchos más.</p>
461 <p>Nuestra licencia de software no sólo permite, sino que anima,
462 este tipo de redistribución. Sin embargo, se da lugar a una situación
463 en la que el diseño y la configuración de los valores predeterminados
464 de la instalación del servidor pueden diferir de lo que se indica
465 en la documentación. Mientras lamentablemente, esta situación no es probable que cambie a corto plazo.</p>
468 href="http://wiki.apache.org/httpd/DistrosDefaultLayout">descripción
469 de estas distribuciones de terceros </a> está siendo actualizada en el servidor de la WIKI de HTTP
470 Server, y debería reflejar el actual estado de éstas distribuciones de terceros.
471 Sin embargo, tendrá que familiarizarse con los procedimientos de gestión
472 e instalación de paquetes de su plataforma (SO) en particular.</p>