Configuración e instalación de Apache httpd

82

Esta es la primera vez que intento instalar el servidor HTTP Apache localmente en mi caja como usuario normal (no root).

He descargado la versión Apache 2.4.1 del servidor HTTP Apache [http://httpd.apache.org/download.cgi]. Sin embargo, cuando intento compilar e instalar localmente en mi caja, aparece el siguiente error:

httpd/httpd-2.4.1 1059> ./configure
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu

Configuring Apache Portable Runtime library ...

checking for APR... no
configure: error: APR not found.  Please read the documentation.

No estoy seguro de qué dependencia está buscando, quiero decir, ¿el paquete de descarga no lo contiene? ¿Qué debo hacer para construir / implementar el servidor HTTP Apache?

Gracias por adelantado.

Programador
fuente
1
@JimGarrison, ¿entonces por qué no está cerrado / movido?
Pacerier

Respuestas:

131

Cuando te dice Please read documentation, significa que debes leer la documentación de Apache ( http://httpd.apache.org/docs/2.4/install.html ) que te dice que

descargue las últimas versiones de APR y APR-Util de Apache APR , descomprímalas en ./srclib/apr y ./srclib/apr-util (asegúrese de que los nombres de dominio no tengan números de versión; por ejemplo, la distribución de APR debe estar bajo ./srclib/apr/)

entonces hazlo

./configure --with-included-apr
Oleg Mikheev
fuente
`httpd / httpd-2.4.1 1062> ./configure --with-included-apr comprobando el diseño elegido ... Apache comprobando si funciona mkdir -p ... sí comprobando grep que maneja líneas largas y -e .. . / bin / grep unknown-linux-gnu comprobando el tipo de sistema de destino ... x86_64-unknown-linux-gnu Configurando la biblioteca Apache Portable Runtime ... configure: error: APR incluido solicitado pero no encontrado en ./srclib/. Descargue y descomprima los paquetes apr y apr-util correspondientes en ./srclib/. `¿Cuál es el sitio correcto para descargar y dónde debo instalar
Programador
3
Dulce éxito ... necesito cambiar las líneas en Makefile: #PROGRAM_LDADD = buildmark.o $ (HTTPD_LDFLAGS) $ (PROGRAM_DEPENDENCIES) $ (PCRE_LIBS) $ (EXTRA_LIBS) $ (AP_LIBS) $ (LIBS) ----> PROGRAM_LDADD = buildmark. o $ (HTTPD_LDFLAGS) $ (PROGRAM_DEPENDENCIES) $ HOME / lib / usr / local / lib / libpcre.a $ (EXTRA_LIBS) $ (AP_LIBS) $ (LIBS)
Programador
8
Tenga en cuenta que ./srclibsignifica el srclibdirectorio dentro de su httpd-xxxdirectorio
HaoQi Li
20
¿Por qué no te lo incluyen? Esto parece una pérdida de tiempo
David Williams
1
¿Hay algún beneficio de instalar apr y apr-util por separado como paquetes independientes de antemano en lugar de simplemente incluir su fuente en apache?
Zeeshan
38

Para Ubuntu 11.10, esta opción parece funcionar bien:

 # APR

wget http://mirrors.axint.net/apache//apr/apr-1.4.6.tar.gz

tar -xvzf apr-1.4.6.tar.gz

cd apr-1.4.6/

./configure

make

make install

cd ..

# APR Utils

wget http://mirrors.axint.net/apache//apr/apr-util-1.4.1.tar.gz

tar -xvzf apr-util-1.4.1.tar.gz

cd apr-util-1.4.1

./configure --with-apr=/usr/local/apr

make

make install

cd ..

# Apache

wget http://apache.petsads.us//httpd/httpd-2.4.1.tar.gz

tar -xvzf httpd-2.4.1.tar.gz

cd httpd-2.4.1

./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-ssl --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr=/usr/local/apr/

make

make install

cd ..

Puedes encontrar más sobre esto a continuación.

Fuente: VaporCreations.com

Creaciones de vapor
fuente
a menos que sea el usuario root, deberá agregar el prefijo "sudo" en las llamadas "make install"
Paul Gregoire
Gracias. Me faltaban algunos parámetros para ./configure
Sean the Bean
Después, make install¿cómo iniciar el servicio httpd en Red Hat Enterprise Linux Server versión 7.4 (Maipo)?
Chaminda Bandara
26

Si tiene Debian / Ubuntu, puede simplemente:

apt-get install libapr1-dev libaprutil1-dev

Entonces ./configure

Hecho

vagón de camarones
fuente
esto me ayuda para los usuarios de ubuntu
haidarvm
20

Estos son los pasos de cómo instalé apache-httpd en usuarios no root:

  1. Descargue y extraiga apache-httpd-2.4.2 (pero antes de ./configurarlo, crearlo e instalarlo, siga los pasos a continuación :)
  2. Descargue y extraiga APR & APR-UTIL en las carpetas "./srclib/apr" & "./srclib/apr-util". Esto requiere ./configure --with-apr =. / Apache / httpd-2.4.2 / srclib / apr (y) --with-included-apr (opciones).
  3. Descargue, extraiga, ./configure (con) --prefix = localURL, cree y haga instalar PCRE en la carpeta "./pcre". Esto requiere ./configure --with-pcre = / home / username / apache / pcre (opción).
  4. Configure apache-httpd ingresando el siguiente comando (me gusta habilitar ciertas opciones como está escrito en el comando a continuación): ./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem -cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr = /home/username/apache/httpd-2.4.2/srclib/apr --prefix = / home / username / apache / httpd-2.4.2 / --with-included-apr --with-pcre = / home / username / apache / pcre Nota: Al configurar apache-httpd, use la opción "--enable-ssl" SÓLO si OpenSSL está instalado; de lo contrario, NO la habilite.
  5. Ahora en la línea de comandos, ingrese el comando 'make' y 'make install'.
  6. Abra y configure el archivo 'httpd.conf', por ejemplo: "vi /home/eddie_kumar/apache/httpd-2.4.2/conf/httpd.conf"

IMPORTANTE : no olvide cambiar el puerto predeterminado de 80 a otro, por ejemplo, 8080, esto es especialmente importante para los usuarios no root. (¿Cómo? Abrir httpd.conf -> buscar "Escuchar 80" -> cambiarlo a "Escuchar 8080".

Y eso es todo, ahora abre tu navegador y escribe "localhost: 8080 ", debería mostrar "¡Funciona!".

Eddie
fuente
Si es un usuario de Debian, simplemente haga "apt-get install libpcre3-dev"
Reza S
Después, make install¿cómo iniciar el servicio httpd en Red Hat Enterprise Linux Server versión 7.4 (Maipo)?
Chaminda Bandara
3

Si está usando fedora, puede usar yum para instalar APR, APR-Util y PCRE . También necesitará descargar apr-devel, apr-util-devel y pcre-devel.

Dicho esto, puede ejecutar el siguiente comando en su terminal y no más " configure: error: APR no encontrado .. ..APR-Util y PCRE " errores.

yum -y install arp apr-devel apr-util apr-util-devel pcre pcre-devel 

Estoy usando fedora 17 y planeo usar un script de shell para configurar apache 2.4.3. Entonces, yum funciona bastante bien en lugar de descargar manualmente apr, apr-util y pcre.

sajinshrestha
fuente
¡Fantástico! No está claro si necesita las versiones -devel. Esta es la mejor respuesta si es fedora o redhat, o una instancia de Amazon ec2 AWS que es redhat.
srock el
1

1, necesita APR (tiempo de ejecución portátil apache), que es el componente principal del servidor web apache

2, si desea realizar la instalación, es posible que necesite una cuenta de root

3, incluso si no, apache no puede comenzar a escuchar en un puerto sin privilegios (inferior a 1024) sin cuenta de root

4, obtenga root o pídale a alguien con root que instale apache desde el repositorio oficial (no sé qué distribución ejecuta) como usar yum, apt-get, etc.

rkosegi
fuente
0

Los errores relacionados con apr o pcre requieren que se descargue la fuente y el proceso de "configuración" de Apache HTTPD debe conocer estas ubicaciones de fuente en su sistema de archivos. Por ejemplo: si descargó la fuente para APR en ./srclib (relativo a apache httpd), entonces usaría
--with-included-apr
como la opción de configuración.

Por otro lado, si no desea compilar sino instalar APR / APR-UTIL, entonces necesita lo siguiente en CentOS / RedHat:
yum install apr-util-devel apr-devel
Sin embargo, podría suceder que la versión APR proporcionada por yum no coincide con lo esperado por esta versión de Apache httpd. En ese caso, puede descargar APR y APR-UTIL y usar la opción --with-included-apr.

También puede construir PCRE utilizando el mismo proceso de "configurar, hacer, hacer instalar" y luego continuar donde lo dejó construyendo Apache httpd.
O puede instalar pcre: yum install pcre-devel

Si mientras compila PCRE: ve "compilar: opción no reconocida", entonces quizás necesite otras dependencias también: Consulte los detalles en:
http://khanna111.com/wordPressBlog/2012/09/11/94087-2/
It también cubre "mod_deflate" y "zlib".

Khanna111
fuente
0

Pasos básicos

tar -xvf httpd-2.4.1-customized.tar -C ../
#Balancer folder will be created
tar -xvzf openssl-1.0.1.tar.gz  -C /balancer/
cd ->/balancer/openssl-1.0.1
./config --prefix=/usr/local/ssl/ shared zlib-dynamic enable-camellia
make depend
make
make install
tar -xvzf pcre-8.30.tar.gz -C ../balancer/

/balancer/pcre-8.30
./configure  --prefix=/usr/local/pcre/
make
make install

eliminar pcre y openssl

Harsimranjit Singh Kler
fuente
0

Instalación y compilación del servidor Apache en una máquina Ubuntu

paso 1: Instale Java JDK

sudo apt install openjdk-11-jdk

sudo gedit /etc/environment

JAVA_HOME="/usr/lib/jvm/openjdk-11"

source /etc/environment

echo $JAVA_HOME

verificar la versión de java

javac --version

**** instalar otros paquetes necesarios: **

  sudo apt-get install apache2-dev -y 

sudo apt-get install libpcre3 libpcre3-dev

Paso 2: para instalar el servidor HTTP Apache

# 1 Para ubuntu, instale herramientas de desarrollo, incluido el compilador C:

sudo apt-get install build-essential checkinstall

# 2 Descargue y extraiga los archivos necesarios

asumiendo que todos los archivos se han descargado en el directorio ~ / Descargas

Descargue el servidor HTTP Apache httpd-2.4.41.tar.gz desde la página de descarga de Apache ( https://httpd.apache.org/download.cgi )

y las siguientes bibliotecas necesarias para compilar el servidor HTTP apache:

**** Lea la sección de requisitos ( http://httpd.apache.org/docs/2.4/install.html ) ***

# 3 Extrae los archivos tar

  • tar -xvf httpd-2.4.41.tar.gz
  • tar -xvf apr-1.7.0.tar.gz
  • tar -xvf apr-util-1.6.1.tar.gz
  • tar -xvf pcre2-10.34.tar.gz

después de la extracción, debería ver la siguiente lista de directorios en ~ / Descargas

  • httpd-2.4.41
  • abr-1.7.0
  • apr-util-1.6.1
  • pcre2-10,34

# 4 Cree un directorio para el servidor HTTP apache

* asegúrese de otorgar todos los derechos a este directorio para que mientras se compilan los archivos se puedan leer / escribir

 sudo mkdir /home{your username here}/apache

Para otorgar todos los permisos a un directorio de apache:

sudo chmod -R 777 /home{your username here}/apache

# 5 copie el directorio arp y arp-util en ~ / Downloads / httpd-2.4.41 / srclib /

cd ~/Downloads

mv  apr-util-1.6.1  ~/Downloads/httpd-2.4.41/srclib/apr-util

 mv  apr-1.7.0  ~/Downloads/httpd-2.4.41/srclib/apr

# 6 Configure las fuentes para la compilación. La opción --prefix se puede utilizar para instalar el servidor web en una ubicación donde pueda escribir archivos.

cd ~/Downloads/httpd-2.4.41/


./configure  --prefix=/home/{username here}/apache --with-pcre=~/Downloads/pcre2-10.34

NOTA: Si tiene algunos problemas al ejecutar el comando anterior, también puede intentar

insalling pcre en / usr / local / pcre, usando

./configure --prefix = / usr / local / pcre make sudo make install

comandos y luego ejecutando los siguientes comandos:

   cd ~/Downloads/httpd-2.4.41/

./configure --prefix = / home / {nombre de usuario aquí} / apache --with-pcre = / usr / local / pcre

hacer

  sudo make install

Si aún tiene algunos problemas, asegúrese de que ~ / apache y su directorio anidado tengan permisos de lectura / escritura. si no, ejecute el **sudo chmod -R 777 /home{your username here}/apache**comando nuevamente.

# 7 Compile el servidor HTTP Apache.

cd ~/Downloads/httpd-2.2.25

sudo make

# 8 Instale el servidor HTTP Apache.

cd ~/Downloads/httpd-2.2.25

sudo make install

Opcional # 9 para preparar su archivo de hosts

sudo gedit /etc/hosts

27.0.0.1 localhost www.example.com

sudo gedit /home/{your username here}/apache/conf/httpd.conf

y copia:

Listen 8000

ServerName www.example.com:8000

# 10 Pruebe la instalación para asegurarse de que el servidor HTTP Apache esté funcionando.

/home/{your username here}//apache/bin/apachectl -k start
rafiquenazir
fuente