Installer Apache HTTP est toujours amusant. Il y a quelques jours, j'étais installation d'Apache 2.4 sur CentOS VM et rencontré erreurs multiples.
J'ai pensé qu'il serait utile de rassembler pour référence.
APR not found
[root@chandan httpd-2.4.25]# ./configure --enable-ssl vérifiant la mise en page choisie... Apache vérifiant le fonctionnement de mkdir -p... yes vérifiant grep qui gère les longues lignes et -e... /usr/bin/grep vérifie egrep... /usr/bin/grep -E vérifie le type de système de construction... x86_64-unknown-linux-gnu vérifie le type de système hôte... x86_64-unknown-linux-gnu vérifie la cible type de système... x86_64-unknown-linux-gnu configure : configure : Configuration de la bibliothèque Apache Portable Runtime... configure : vérifier APR ... non configurer: erreur: APR introuvable. Veuillez lire la documentation. [root@chandan httpd-2.4.25]#
APR signifie «Apache Portable Runtime» et doit être compilé à partir de la source. Si vous êtes dans la même situation que moi, vous suivrez sauver vous.
Prénom, vous devez installer APR.
- Téléchargez la dernière version d'APR en utilisant wget
wget https://www-eu.apache.org/dist/apr/apr-1.6.3.tar.gz.
- Extraire le fichier téléchargé
gunzip -c apr-1.6.3.tar.gz | goudron xvf -
- il créera un nouveau dossier "avr-1.6.3 »
- Allez à l'intérieur et compilez avec la commande configure
. / Configure
Cela prendra quelques secondes et une fois cela fait, vous recevrez une invite (assurez-vous qu'aucune erreur).
- La dernière étape serait d'installer en utilisant la commande make
faire installer
Une fois cela fait, j'ai essayé d'installer Apache et j'ai eu une autre erreur.
APR-util not found
[root@chandan httpd-2.4.25]# ./configure --enable-ssl --enable-so vérification de la mise en page choisie... Apache vérifie le fonctionnement de mkdir -p... yes vérifie si grep gère les longues lignes et -e... /usr/bin/grep vérifie egrep... /usr/bin/grep -E vérifie le type de système de construction... x86_64-unknown-linux-gnu vérifie le type de système hôte... x86_64-unknown- linux-gnu vérification du type de système cible... x86_64-unknown-linux-gnu configure : configure : configuration de la bibliothèque d'exécution portable Apache... configure : recherche d'APR... yes paramètre CC sur "gcc" paramètre CPP sur "gcc - E" en définissant CFLAGS sur " -g -O2 -pthread" en définissant CPPFLAGS sur " -DLINUX -D_REENTRANT -D_GNU_SOURCE" en définissant LDFLAGS sur " " configure : configure : Configuration de la bibliothèque Apache Portable Runtime Utility... configure : recherche APR-util ... non configure: erreur: APR-util introuvable. Veuillez lire la documentation. [root@chandan httpd-2.4.25]#
Si vous avez également l'erreur «APR-util not found», vous devez installer ce qui suit.
- Téléchargez la dernière source APR-util
wget https://www-eu.apache.org/dist/apr/apr-util-1.6.1.tar.gz.
- Extraire le fichier gz téléchargé
gunzip -c apr-util-1.6.1.tar.gz | goudron xvf -
- Allez dans le dossier nouvellement créé «apr-util-1.6.1» et installez en utilisant les commandes suivantes
./configure --with-apr = / usr / local / apr / bin / apr-1-config make make install
J'ai essayé à nouveau d'installer Apache et j'ai obtenu une autre erreur.
pcre-config for libpcre not found
C'est ce que j'ai.
vérifier si le compilateur C fonctionne ... oui vérifier le nom du fichier de sortie par défaut du compilateur C ... a.out vérifier le suffixe des exécutables ... vérifier si nous faisons une compilation croisée ... pas de vérification du suffixe des fichiers objets .. . o vérifier si nous utilisons le compilateur GNU C ... oui vérifier si gcc accepte -g ... oui vérifier l'option gcc pour accepter ISO C89 ... aucun besoin de vérifier comment exécuter le préprocesseur C ... gcc - E vérification de l'option gcc pour accepter ISO C99 ... -std = gnu99 vérification de pcre-config ... false
configure: erreur: pcre-config pour libpcre introuvable. PCRE est requis et disponible sur http://pcre.org/
PCRE signifie Expressions régulières compatibles Perl, et cette erreur a un solution simple. Il vous suffit d'installer le package pcre-devel.
yum installer pcre-devel
Pas encore fini, j'en ai une autre lors de la prochaine tentative liée à OpenSSL.
OpenSSL version is too old
vérifier s'il faut activer mod_slotmem_plain ... pas vérifier s'il faut activer mod_ssl ... vérifier les dépendances vérifier OpenSSL ... vérifier le répertoire de base OpenSSL fourni par l'utilisateur ... ./configure: ligne 25426: cd: / usr / bin / openssl: Pas un répertoire /root/httpd-2.4.25 ajoutant "-I / root / httpd-2.4.25 / include" à CPPFLAGS en définissant MOD_CFLAGS sur "-I / root / httpd-2.4.25 / include" en définissant ab_CFLAGS en "-I / root / httpd-2.4.25 / include" ajout de "-L / root / httpd-2.4.25 / lib" à LDFLAGS en définissant MOD_LDFLAGS sur "-L / root / httpd-2.4.25 / lib" vérification de la version d'OpenSSL> = 0.9.8a ... ECHEC configure: AVERTISSEMENT: la version d'OpenSSL est trop ancienne ne vérifie pas s'il faut activer mod_ssl... configure : erreur : mod_ssl a été demandé mais ne peut pas être construit en raison d'échecs prérequis [root@chandan httpd-2.4.25]#
La première chose que vous devez vous assurer que vous disposez de la dernière version d'OpenSSL, ce qui était dans mon cas, j'ai donc dû installer le package de développement, et tout allait bien.
yum installer openssl-devel
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
Lors de la compilation APR, j'ai eu cette erreur.
[root@instance-1 apr-util-1.6.1]# make make [1]: Saisie du répertoire `/opt/temp/apr-util-1.6.1 ' / bin / sh / usr / local / apr / build-1 / libtool --silent --mode = compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -I / opt / temp / apr-util-1.6.1 / include -I / opt / temp / apr-util-1.6.1 / include / private -I / usr / local / apr / include / apr-1 -o xml / apr_xml.lo -c xml / apr_xml.c && touch xml / apr_xml.lo xml / apr_xml.c: 35: 19: erreur fatale: expat.h: aucun fichier ou répertoire de ce type #comprendre ^ compilation terminée. make [1]: *** [xml / apr_xml.lo] Erreur 1
Si vous obtenez cette erreur, cela peut être résolu en installant expat-devel
paquet.
yum installer expat-devel
configure: error: no acceptable C compiler found in $PATH
Le compilateur C introuvable est typique pour toute version de logiciel, et vous pouvez résoudre ce problème en installant le compilateur.
yum install gcc
nghttp2 version is too old
Ceci est spécifique lorsque vous essayez de installer Apache avec HTTP / 2. Vous obtiendrez l'erreur suivante.
checking whether to enable mod_http2... checking dependencies
checking for OpenSSL... (cached) yes
setting MOD_LDFLAGS to " -lssl -lcrypto -lrt -lcrypt -lpthread"
setting MOD_CFLAGS to " "
setting MOD_CPPFLAGS to "-DH2_OPENSSL"
checking for nghttp2... checking for user-provided nghttp2 base directory... none
checking for pkg-config along ... checking for nghttp2 version >= 1.2.1... FAILED
configure: WARNING: nghttp2 version is too old
no
checking whether to enable mod_http2... configure: error: mod_http2 has been requested but can not be built due to prerequisite failures
Et, si tel est le cas, vous pouvez corriger en installant nghttp2 comme ci-dessous.
- Téléchargez la dernière version de nghttp2 sur ici
wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz
- Extraire le fichier téléchargé
tar -xvf nghttp2-1.37.0.tar.gz
- Il créera un nouveau dossier, ira à l'intérieur et exécutera ce qui suit
./configure
make
make install
Une fois cela fait sans erreur, exécutez à nouveau la version source Apache avec HTTP2. Ça devrait être bien.
Enfin, j'ai pu installer Apache avec succès. Si vous souhaitez en savoir plus sur l'administration du serveur HTTP Apache, consultez ceci Cours en ligne.