Este documento cubre la compilación e instalación del servidor HTTP Apache en sistemas Unix y similares a Unix únicamente. Para compilar e instalar en Windows, consulte Uso del servidor HTTP Apache con Microsoft Windows y Compilación de Apache para Microsoft Windows. Para otras plataformas, consulte la documentación de la plataforma.
Usos de Apache httpd libtool
y autoconf
para crear un entorno de construcción que se parezca a muchos otros proyectos de código abierto.
Si está actualizando de una versión secundaria a la siguiente (por ejemplo, 2.4.9 a 2.4.10), pase a la sección de actualización.
Visión general para los impacientes
- Instalación en Fedora / CentOS / Red Hat Enterprise Linux
-
sudo yum install httpd sudo systemctl enable httpd sudo systemctl start httpd
Las versiones más recientes de estas distribuciones usan
dnf
en vez deyum
. Ver la documentación del proyecto Fedora para notas específicas de la plataforma. - Instalación en Ubuntu / Debian
-
sudo apt install apache2 sudo service apache2 start
Ver Documentación de Ubuntu para notas específicas de la plataforma.
- Instalando desde la fuente
-
Descargar Descargue la última versión de http://httpd.apache.org/download.cgi Extraer $ gzip -d httpd-NN.tar.gz $ tar xvf httpd-NN.tar $ cd httpd-NN
Configurar $ ./configure --prefix=PREFIX
Compilar $ make
Instalar en pc $ make install
Personalizar $ vi PREFIX/conf/httpd.conf
Prueba $ PREFIX/bin/apachectl -k start
NN debe reemplazarse con el número de versión actual, y PREFIJO debe reemplazarse con la ruta del sistema de archivos en la que se debe instalar el servidor. Si PREFIJO no se especifica, por defecto es
/usr/local/apache2
.Cada sección del proceso de compilación e instalación se describe con más detalle a continuación, comenzando con los requisitos para compilar e instalar Apache httpd.
¿No ve su plataforma favorita mencionada aquí? Ven y ayúdanos a mejorar este documento.
Requisitos
Existen los siguientes requisitos para construir Apache httpd:
- APR y APR-Util
- Asegúrese de tener APR y APR-Util ya instalados en su sistema. Si no lo hace, o prefiere no usar las versiones proporcionadas por el sistema, descargue las últimas versiones de APR y APR-Util de APR de Apache, descomprímalos en
/httpd_source_tree_root/srclib/apr
y/httpd_source_tree_root/srclib/apr-util
(asegúrese de que los nombres de directorio no tengan números de versión; por ejemplo, la distribución APR debe estar en / httpd_source_tree_root / srclib / apr /) y use./configure
‘s--with-included-apr
opción. En algunas plataformas, es posible que deba instalar el correspondiente-dev
paquetes para permitir que httpd se compile contra su copia instalada de APR y APR-Util. - Biblioteca de expresiones regulares compatible con Perl (PCRE)
- Esta biblioteca es necesaria pero ya no está incluida con httpd. Descarga el código fuente de http://www.pcre.orgo instale un puerto o paquete. Si su sistema de compilación no puede encontrar el script pcre-config instalado por la compilación de PCRE, apúntelo usando el
--with-pcre
parámetro. En algunas plataformas, es posible que deba instalar el correspondiente-dev
paquete para permitir que httpd se compile contra su copia instalada de PCRE. - Espacio del disco
- Asegúrese de tener al menos 50 MB de espacio libre temporal en disco disponible. Después de la instalación, el servidor ocupa aproximadamente 10 MB de espacio en disco. Los requisitos reales de espacio en disco variarán considerablemente según las opciones de configuración elegidas, los módulos de terceros y, por supuesto, el tamaño del sitio web o los sitios que tiene en el servidor.
- Compilador ANSI-C y sistema de compilación
- Asegúrese de tener instalado un compilador ANSI-C. los Compilador GNU C (GCC) desde el Fundación de Software Libre (FSF) es recomendado. Si no tiene GCC, al menos asegúrese de que el compilador de su proveedor sea compatible con ANSI. Además, tu
PATH
debe contener herramientas de construcción básicas comomake
. - Mantenimiento preciso del tiempo
- Los elementos del protocolo HTTP se expresan como la hora del día. Entonces, es hora de investigar la configuración de alguna función de sincronización de tiempo en su sistema. Por lo general, el
ntpdate
oxntpd
Para ello se utilizan programas que se basan en el Protocolo de tiempo de red (NTP). Ver el Página de inicio de NTP para obtener más detalles sobre el software NTP y los servidores horarios públicos. - Perl 5 [OPTIONAL]
- Para algunos de los scripts de soporte como
apxs
odbmmanage
(que están escritos en Perl) se requiere el intérprete de Perl 5 (las versiones 5.003 o posteriores son suficientes). Si el intérprete de Perl 5 no es encontrado por elconfigure
script, no podrá utilizar los scripts de soporte afectados. Por supuesto, aún podrá compilar y usar Apache httpd.
Descargar
El servidor HTTP Apache se puede descargar desde el Sitio de descarga del servidor HTTP Apache, que enumera varios espejos. La mayoría de los usuarios de Apache en sistemas similares a Unix estarán mejor descargando y compilando una versión fuente. El proceso de construcción (que se describe a continuación) es sencillo y le permite personalizar su servidor para que se adapte a sus necesidades. Además, las versiones binarias a menudo no están actualizadas con las últimas versiones fuente. Si descarga un binario, siga las instrucciones del INSTALL.bindist
archivo dentro de la distribución.
Después de la descarga, es importante verificar que tiene una versión completa y sin modificar del servidor HTTP Apache. Esto se puede lograr probando el tarball descargado con la firma PGP. Los detalles sobre cómo hacer esto están disponibles en el página de descarga y un ejemplo extendido está disponible que describe el uso de PGP.
Extraer
Extraer la fuente del tarball del servidor HTTP Apache es una simple cuestión de descomprimir y luego deshacer:
$ gzip -d httpd-NN.tar.gz $ tar xvf httpd-NN.tar
Esto creará un nuevo directorio bajo el directorio actual que contiene el código fuente para la distribución. Debería cd
en ese directorio antes de proceder con la compilación del servidor.
Configurar el árbol de fuentes
El siguiente paso es configurar el árbol de fuentes de Apache para su plataforma particular y requisitos personales. Esto se hace usando el script. configure
incluido en el directorio raíz de la distribución. (Los desarrolladores que descarguen una versión inédita del árbol de fuentes de Apache deberán tener autoconf
y libtool
instalado y necesitará ejecutar buildconf
antes de continuar con los siguientes pasos. Esto no es necesario para los lanzamientos oficiales).
Para configurar el árbol de origen usando todas las opciones predeterminadas, simplemente escriba ./configure
. Para cambiar las opciones predeterminadas, configure
acepta una variedad de variables y opciones de línea de comando.
La opción más importante es la ubicación. --prefix
donde Apache se instalará más tarde, porque Apache debe configurarse para que esta ubicación funcione correctamente. Es posible un control más preciso de la ubicación de los archivos con opciones de configuración adicionales.
También en este punto, puede especificar qué características desea incluir en Apache habilitando y deshabilitando módulos. Apache viene con una amplia gama de módulos incluidos por defecto. Se compilarán como objetos compartidos (DSO) que se pueden cargar o descargar en tiempo de ejecución. También puede optar por compilar módulos estáticamente utilizando la opción --enable-module=static
.
Los módulos adicionales se habilitan usando el --enable-module
opción, donde módulo es el nombre del módulo con la mod_
cadena eliminada y con cualquier guión bajo convertido en un guión. Del mismo modo, puede deshabilitar módulos con el --disable-module
opción. Tenga cuidado al utilizar estas opciones, ya que configure
no puede advertirle si el módulo que especifica no existe; simplemente ignorará la opción.
Además, a veces es necesario proporcionar la configure
script con información adicional sobre la ubicación de su compilador, bibliotecas o archivos de encabezado. Esto se hace pasando variables de entorno o opciones de línea de comando a configure
. Para obtener más información, consulte el configure
página de manual. O invocar configure
utilizando el --help
opción.
Para una breve impresión de las posibilidades que tiene, aquí hay un ejemplo típico que compila Apache para el árbol de instalación /sw/pkg/apache
con un compilador particular y banderas más los dos módulos adicionales mod_ldap
y mod_lua
:
$ CC="pgcc" CFLAGS="-O2" ./configure --prefix=/sw/pkg/apache --enable-ldap=shared --enable-lua=shared
Cuando configure
Una vez ejecutado, tomará varios minutos probar la disponibilidad de funciones en su sistema y construir Makefiles que luego se usarán para compilar el servidor.
Detalles sobre todos los diferentes configure
las opciones están disponibles en el configure
página de manual.
Construir
Ahora puede construir las distintas partes que forman el paquete Apache simplemente ejecutando el comando:
$ make
Tenga paciencia aquí, ya que una configuración básica tarda varios minutos en compilarse y el tiempo variará ampliamente según su hardware y la cantidad de módulos que haya habilitado.
Instalar en pc
Ahora es el momento de instalar el paquete en la instalación configurada PREFIJO (ver --prefix
opción anterior) ejecutando:
$ make install
Este paso normalmente requerirá privilegios de root, ya que PREFIJO suele ser un directorio con permisos de escritura restringidos.
Si está actualizando, la instalación no sobrescribirá sus archivos o documentos de configuración.
Personalizar
A continuación, puede personalizar su servidor HTTP Apache editando los archivos de configuración en PREFIX/conf/
.
$ vi PREFIX/conf/httpd.conf
Eche un vistazo al manual de Apache en PREFIX/docs/manual/
o consultar http://httpd.apache.org/docs/2.4/ para obtener la versión más reciente de este manual y una referencia completa de los directivas de configuración.
Prueba
Ahora puede iniciar su servidor HTTP Apache ejecutando inmediatamente:
$ PREFIX/bin/apachectl -k start
A continuación, debería poder solicitar su primer documento a través de la URL http://localhost/
. La página web que ve se encuentra debajo de la DocumentRoot
, que normalmente será PREFIX/htdocs/
. Luego, detenga el servidor nuevamente ejecutando:
$ PREFIX/bin/apachectl -k stop
Actualización
El primer paso para actualizar es leer el anuncio de lanzamiento y el archivo CHANGES
en la distribución de la fuente para encontrar cualquier cambio que pueda afectar a su sitio. Al cambiar entre versiones principales (por ejemplo, de 2.0 a 2.2 o de 2.2 a 2.4), es probable que haya grandes diferencias en la configuración de tiempo de compilación y tiempo de ejecución que requerirán ajustes manuales. Todos los módulos también deberán ser actualizado para adaptarse a los cambios en la API del módulo.
La actualización de una versión secundaria a la siguiente (por ejemplo, de 2.2.55 a 2.2.57) es más fácil. los make install
El proceso no sobrescribirá ninguno de sus documentos, archivos de registro o archivos de configuración existentes. Además, los desarrolladores hacen todo lo posible para evitar cambios incompatibles en el configure
opciones, configuración en tiempo de ejecución o la API del módulo entre versiones menores. En la mayoría de los casos, debería poder utilizar un configure
línea de comandos, un archivo de configuración idéntico, y todos sus módulos deberían seguir funcionando.
Para actualizar en versiones menores, comience por buscar el archivo config.nice
en el build
directorio de su servidor instalado o en la raíz del árbol de origen de su instalación anterior. Esto contendrá la exacta configure
línea de comando que usó para configurar el árbol de origen. Luego, para actualizar de una versión a la siguiente, solo necesita copiar el config.nice
en el árbol de origen de la nueva versión, edítelo para realizar los cambios deseados y luego ejecute:
$ ./config.nice $ make $ make install $ PREFIX/bin/apachectl -k graceful-stop $ PREFIX/bin/apachectl -k start
Siempre debe probar cualquier versión nueva en su entorno antes de ponerla en producción. Por ejemplo, puede instalar y ejecutar la nueva versión junto con la anterior utilizando una --prefix
y un puerto diferente (ajustando el Listen
directiva) para probar las incompatibilidades antes de realizar la actualización final.
Puede pasar argumentos adicionales a config.nice
, que se adjuntará a su original configure
opciones:
$ ./config.nice --prefix=/home/test/apache --with-port=90
Paquetes de terceros
Un gran número de terceros proporcionan sus propias distribuciones empaquetadas del servidor HTTP Apache para su instalación en plataformas particulares. Esto incluye las diversas distribuciones de Linux, varios paquetes de Windows de terceros, Mac OS X, Solaris y muchos más.
Nuestra licencia de software no solo permite, sino que fomenta, este tipo de redistribución. Sin embargo, da lugar a una situación en la que el diseño de configuración y los valores predeterminados de su instalación del servidor pueden diferir de lo que se indica en la documentación. Si bien es lamentable, no es probable que esta situación cambie pronto.
A descripción de estas distribuciones de terceros se mantiene en la wiki del servidor HTTP y debería reflejar el estado actual de estas distribuciones de terceros. Sin embargo, deberá familiarizarse con los procedimientos de instalación y administración de paquetes de su plataforma en particular.
Al final de todo puedes encontrar los comentarios de otros usuarios, tú además tienes la opción de mostrar el tuyo si te gusta.