Versión 2.4 del Servidor HTTP Apache

Éste documento hace referencia a la compilación y la instalación del Apache HTTP Server sólo para los sistemas Unix y tipo Unix. Para la compilación e instalación en Windows ir a Usando Apache HTTP Server con Microsoft Windows y Compilando Apache para Microsoft Windows. Para otras plataformas visite la documentación sobre plataformas.
Apache httpd usa libtool y autoconf
    para crear un entorno de compilación que se parece a muchos otros proyectos de código abierto
Si está actualizando desde una versión menor a la siguiente (por ejemplo, 2.4.8 a 2.4.9), pasa a la sección de actualización.

 Descripción general para los impacientes
 Descripción general para los impacientes Requisitos
 Requisitos Descargar
 Descargar Descomprimir
 Descomprimir Configuración de la estructura de
directorios
 Configuración de la estructura de
directorios Build
 Build Instalar
 Instalar Personalizar APACHE
 Personalizar APACHE Comprobar que la instalación
funciona
 Comprobar que la instalación
funciona Actualizar una instalación previa
 Actualizar una instalación previa Paquetes de terceros
 Paquetes de terceros| Descarga | Descarga la última versión desde http://httpd.apache.org/download.cgi | 
| Extraer | $ gzip -d httpd-NN.tar.gz | 
| Configura | $ ./configure --prefix=PREFIX | 
| Compila | $ make | 
| Instala | $ make install | 
| Personalizalo | $ vi PREFIX/conf/apache2.conf | 
| Prueba | $ PREFIX/bin/apache2ctl -k start | 
NN hay que reemplazarlo por el número de la versión menor, y PREFIX hay que reemplazarlo por la ruta en la que se va a instalar Apache. Si no especifica ningún valor en PREFIX, el valor por defecto que se toma es /usr/local/apache2.
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.
Estos son los requisitos necesarios para compilar Apache:
/httpd_source_tree_root/srclib/apr y /httpd_source_tree_root/srclib/apr-util
      (cerciórate de que no existen directorios con números de versiones; por ejemplo,
      la distribución de APR debe estar en /httpd_source_tree_root/srclib/apr/) y usa el comando
      ./configure --con-las-opciones-incluidas-en-apr.
      En algunas plataformas deberás instalar la parte correspondiente a los paquetes 
      -dev para permitir que httpd se genere contra la instalación de la copia de APR y APR-Util.--with-pcre.En algunas plataformas,
      deberás instalar la correspondiente versión -dev
      del paquete para permitir a httpd que se genere contra la instalación de la copia del PCRE que se ha instalado.PATH debe contener la
      ubicación donde de encuentran las herramientas básicas
      para compilar tales como make.ntpdate o
      xntpd, que están basados en el protocolo
      "Network Time Protocol" (NTP). Consulte elsitio web de NTP
       para obtener más información sobre NTP y los
      servidores públicos de tiempo.apxs o dbmmanage (que están
      escritos en Perl) es necesario el intérprete de Perl 5 (las
      versiones 5.003 o posteriores son suficientes). Si el escript
      configure no se encuentra, no podrá usar los
	  escripts correspondientes que lo necesiten. Pero por supuesto
	  podrás compilar y usar Apache httpd.Puede descargar Apache desde la sección de
    descargas del sitio web de Apache el cual tiene varios
    mirrors. Para la mayoría de los usuarios de Apache que tienen
    sistemas tipo Unix, se recomienda que se descarguen y compilen el
    código fuente. El proceso de compilación (descrito
    más abajo) es fácil, y permite adaptar el servidor
    Apache a sus necesidades. Además, las versiones de
    disponibles en archivos binarios no están siempre actualizadas
    con las últimas modificaciones en el código fuente. Si se
    descarga un binario, siga las instrucciones contenidas en el
    archivo INSTALL.bindist incluido en la
    distribución
Después de la descarga, es importante que verifique que el archivo descargado del servidor HTTP Apache está completo y sin modificaciones. Esto puede hacerlo comparando el archivo descargado (.tgz) con su firma PGP. Instrucciones detalladas de cómo hacer esto están disponibles en la sección de descargas junto con un ejemplo de cómo usar PGP.
Extraer el código fuente del archivo .tgz del Servidor Apache HTTP que acabada de descargar es muy fácil. Ejecute los siguientes comandos:
$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
Estos comandos crearán un nuevo directorio dentro del
    directorio en el que se encuentra y que contendrá el
    código fuente de distribución. Debe cambiarse a ese
    directorio con cd para proceder a compilar el
    servidor Apache.
El siguiente paso es configurar la estructura de directorios
    para su plataforma y sus necesidades personales. Esto se hace
    usando el script configure incluido en el directorio
    raíz de la distribución que acaba de descargar. (Los
    desarrolladores que se descarguen la versión del CVS de la
    estructura de directorios necesitarán tener instalados
    autoconf y libtool, y necesitarán
    ejecutar buildconf antes de continuar con los
    siguientes pasos. Esto no es preciso para las versiones
    oficiales.)
Para configurar la estructura de directorios a partir del
    código fuente usando las opciones por defecto, solo tiene que
    ejecutar ./configure.Para cambiar las opciones por
    defecto, configure acepta una serie de variables y
    opciones por la línea de comandos.
La opción más importante es --prefix
    que es el directorio en el que Apache va a ser instalado después,
    porque Apache tiene que ser configurado para el directorio que se
    especifique para que funcione correctamente.  Es posible lograr un
    mayor control del lugar donde se van a instalar los ficheros de
    Apache con otras opciones de
    configuración.
Llegados a este punto, puede especificar que características
    o funcionalidades quiere incluir en Apache activando o
    desactivando modules.Apache vine con una amplia
    selección de módulos incluidos por defecto. Que serán compilados como .
    Objetos Compartidos (DSOs) Que pueden ser activados
    o desactivados en tiempo de ejecución.
    También puede elegir por compilar módulos de forma estática usando las opciones
    --enable-module=static.
Se pueden activar otros módulos usando la opción 
    --enable-module, where
    module es el nombre del módulo sin el
    mod_ y convirtiendo los guiones bajos que tenga en
    guiones normales.  Del mismo modo, puede desactivar los módulos con la
    opción --disable-module. Tenga cuidado al utilizar esta opción, ya que
    configure no le avisará si el módulo que especifica no existe;
    simplemente ignorará esa opción.
Además, a veces es necesario pasarle al script
    configure información adicional sobre donde esta
    su compilador, librerías o ficheros de cabecera.  Esto se puede
    hacer, tanto pasando variables de entorno, como pasandole opciones
    a configure.  Para más información, consulte el manual de
    configure. O use configure con la 
    opción --help.
Para que se haga una idea sobre las posibilidades que tiene,
    aquí tiene un ejemplo típico que configura Apache para
    la ruta /sw/pkg/apache con un compilador y unos flags
    determinados, y además, con dos módulos adicionales
    mod_ldap y mod_ldap para
    cargarlos después a través del mecanismo DSO:
      $ CC="pgcc" CFLAGS="-O2" \
       ./configure --prefix=/sw/pkg/apache \
       --enable-ldap=shared \
       --enable-lua=shared
Cuando se ejecuta configure se comprueban que
    características o funcionalidades están disponibles en
    su sistema y se crean los Makefiles que serán usados a continuación
    para compilar el servidor. Esto tardará algunos minutos.
Los detalles de todas las opciones de configure están disponibles
    en el manual de configure .
Ahora puede compilar las diferentes partes que forman Apache simplemente ejecutando el siguiente comando:
$ make
Por favor sea paciente llegado a este punto, ya que una configuración básica lleva unos minutos para su compilación, y el tiempo puede variar mucho dependiendo de su hardware y del número de módulos que haya habilitado para la compilación.(Se recomienda añadir al make el parámetro -j3 como mínimo para que vaya más rápido)
Ahora es el momento de instalar el paquete en el diretorio
    elegido en PREFIX (consulte más arriba la opción
    --prefix) ejecutando:
$ make install
Este paso requiere de forma típica privilegios de root, ya que el directorio de PREFIX es normalmente un directorio con restricciones de permisos escritura.
Si lo que esta es sólo actualizando, la instalación no sobreescribirá los archivos de configuración.
Tras la instalación puede personalizarla, editando los 
    archivos de configuracion  en el directorio de
    PREFIX/conf/.
$ vi PREFIX/conf/apache2.conf
Échele un vistazo al Manual de Apache que está en
    PREFIX/docs/manual/ o consulta http://httpd.apache.org/docs/2.4/ para la versión más
    reciente de este manual y su completa
    referencia de las directivas de configuracion disponibles.
Ahora puedes ejecutar tu Apache HTTP server ejecutando directamente:
$ PREFIX/bin/apache2ctl -k start
Ahora debe poder acceder a su primer documento
    bajo la URL http://localhost/. La página o documento que ve se encuentra en
    DocumentRoot,
    que por norma general casi siempre será PREFIX/htdocs/.
    Si quiere  parar el servidor, puede hacerlo ejecutando:
$ PREFIX/bin/apache2ctl -k stop
El primer paso para actualizar una instalación anterior es
    leer las especificaciones de la versión y el fichero
    CHANGES en la distribución de código fuente
    que ha descargado para encontrar los cambios que puedan afectar a
    su instalación actual. Cuando el cambio sea entre versiones
    mayores(por ejemplo, de la 2.0 a 2.2 o de la 2.2 a la 2.4),
    entonces es más probable que haya diferencias importantes en
    la compilación y en la ejecución que necesitarán
    ajustes manuales. Todos los módulos necesitarán
    también ser actualizados para adaptarse a los cambios en el
    interfaz de programación (API) de módulos.
Actualizando de una versión menor a la siguiente
      (por ejemplo, de la 2.2.55 a la  2.2.57) es mas fácil. El prodeso de realizar el make install
    no sobreescribirá ninguno de tus documentos existentes,archivos
    log, o archivos de configuración. De hecho, los desarrolladores están haciendo los esfuerzos
    necerarios para evitar cambios que generen incompatibilidades en las opciones de
    configure, la configuración al ser ejecutado, o el módulo de la API
    entre versiones menores. En la mayor parte de los casos debe poder usar un
    comando configure idéntico, un fichero de
    configuración idéntico, y todos sus módulos deben
    seguir funcionando.
Para actualizar entre versiones menores, empecemos encontrando el archivo de configuración
    config.nice el directorio de instalación del servidor
    o en el directorio raiz del código fuente de tu antigua instalación. Este archivo contendrá
    los parámetros exactos para pasarle al 
    configure que usaste anteriormente para configurar tus directorios.
    Entonces, para actualizar su instalación de una versión a la
    siguinete, solo tiene que copiar el archivo
    config.nice a la estructura de directorios del
    código fuente de la nueva versión, editarlo, hacer
    cualquier cambio que desee, y ejecutarlo :
    $ ./config.nice
    $ make
    $ make install
    $ PREFIX/bin/apache2ctl -k graceful-stop
    $ PREFIX/bin/apache2ctl -k start
    
--prefix diferente y un puerto diferente (modificando
    la directiva Listen)
    para comprobar que no existe ninguna incompatibilidad antes de
    hacer la actualización definitiva.Puede pasarle argumentos adicionales a config.nice,
    que se agregarán a susopciones originales de configure:
    $ ./config.nice --prefix=/home/test/apache --with-port=90
    
Un gran número de terceros proporcionan sus propias distribuciones empaquetadas del Apache HTTP Server para su instalación en plataformas específicas. Esto incluye las distintas distribuciones de Linux, varios paquetes de Windows de terceros, Mac OS X, Solaris, y muchos más.
Nuestra licencia de software no sólo permite, sino que anima, este tipo de redistribución. Sin embargo, se da lugar a una situación en la que el diseño y la configuración de los valores predeterminados de la instalación del servidor pueden diferir de lo que se indica en la documentación. Mientras lamentablemente, esta situación no es probable que cambie a corto plazo.
Una descripción de estas distribuciones de terceros está siendo actualizada en el servidor de la WIKI de HTTP Server, y debería reflejar el actual estado de éstas distribuciones de terceros. Sin embargo, tendrá que familiarizarse con los procedimientos de gestión e instalación de paquetes de su plataforma (SO) en particular.