Apache 2.4.28的安装

Apache 2.4.28的安装

1.安装Apache

1.1下载Apache
网址:http://httpd.apache.org/

1 [root@localhost ~]# mkdir -p /root/soft/Apache/
2 [root@localhost ~]# cd soft/Apache/
3 [root@localhost Apache]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.28.tar.gz

1.2下载apr and apr-util
网址:http://apr.apache.org/

1 [root@localhost Apache]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.2.tar.gz
2 [root@localhost Apache]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.0.tar.gz

1.3下载openssl
网址:https://www.openssl.org/

1 [root@localhost Apache]# wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

1.4安装openssl

1 [root@localhost Apache]# tar xf openssl-1.0.2l.tar.gz 
2 [root@localhost Apache]# cd openssl-1.0.2l
3 [root@localhost openssl-1.0.2l]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl -fPIC no-gost no-shared no-zlib
4 [root@localhost openssl-1.0.2l]# make
5 [root@localhost openssl-1.0.2l]# make install

1.5安装pcre

1 [root@localhost openssl-1.0.2l]# clear 
2 [root@localhost openssl-1.0.2l]# cd ..
3 [root@localhost Apache]# tar xf apr-1.6.2.tar.gz 
4 [root@localhost Apache]# cd apr-1.6.2
5 [root@localhost apr-1.6.2]# ./configure --prefix=/usr/local/apr
6 [root@localhost apr-1.6.2]# make
7 [root@localhost apr-1.6.2]# make install

1.6 安装apr-util

1 [root@localhost apr-1.6.2]# clear 
2 [root@localhost apr-1.6.2]# cd ../
3 [root@localhost Apache]# tar xf apr-util-1.6.0.tar.gz 
4 [root@localhost Apache]# cd apr-util-1.6.0
5 [root@localhost apr-util-1.6.0]# 
6 [root@localhost apr-util-1.6.0]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
7 [root@localhost apr-util-1.6.0]# make
8 [root@localhost apr-util-1.6.0]# make install

1.7 安装Apache

1 [root@localhost apr-util-1.6.0]# clear 
2 [root@localhost apr-util-1.6.0]# cd ..
3 [root@localhost Apache]# tar xf httpd-2.4.28.tar.gz 
4 [root@localhost httpd-2.4.28]# useradd apache -s /sbin/nologin 
5 [root@localhost httpd-2.4.28]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-suexec-uidmin=apache --with-suexec-gidmin=apache --enable-so --enable-ssl --with-ssl=/usr/local/openssl --enable-modules=most
6 [root@localhost httpd-2.4.28]# make
7 [root@localhost httpd-2.4.28]# make install

报错与解决:
问题:

1 [root@localhost openssl-1.0.2l]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl -fPIC no-gost no-shared no-zlib
2 Operating system: x86_64-whatever-linux2
3 You need Perl 5.

解决:

1 [root@localhost openssl-1.0.2l]# yum install perl perl-devel

问题:

 1 [root@localhost openssl-1.0.2l]# make
 2 making all in crypto...
 3 make[1]: Entering directory `/root/soft/Apache/openssl-1.0.2l/crypto'
 4 /usr/bin/perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -fPIC -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM" "linux-x86_64" >buildinf.h
 5 gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -fPIC -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -c -o cryptlib.o cryptlib.c
 6 make[1]: gcc: Command not found
 7 make[1]: *** [cryptlib.o] Error 127
 8 make[1]: Leaving directory `/root/soft/Apache/openssl-1.0.2l/crypto'
 9 make: *** [build_crypto] Error 1
10 [root@localhost openssl-1.0.2l]# 

解决:

1 [root@localhost openssl-1.0.2l]# yum install gcc gcc-c++

问题:

1 config.status: executing libtool commands
2 rm: cannot remove 'libtoolT': No such file or directory
3 config.status: executing default commands

解决:

1 [root@localhost apr-1.6.2]# yum install libtool libtool-ltdl-devel

问题:

1 xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
2 #include <expat.h>
3 ^
4 compilation terminated.
5 make[1]: *** [xml/apr_xml.lo] Error 1
6 make[1]: Leaving directory `/root/soft/Apache/apr-util-1.6.0'
7 make: *** [all-recursive] Error 1
8 [root@localhost apr-util-1.6.0]# 

解决:

1 [root@localhost apr-util-1.6.0]# yum install expat-devel expat

问题:

1 checking for pcre-config... false
2 configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

解决:
下载pcre
网址: http://pcre.org/
下载:

1 [root@localhost httpd-2.4.28]# cd ..
2 [root@localhost Apache]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

安装pcre

1 [root@localhost Apache]# tar xf pcre-8.38.tar.gz 
2 [root@localhost Apache]# cd pcre-8.38
3 [root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre
4 [root@localhost pcre-8.38]# make
5 [root@localhost pcre-8.38]# make install

再次安装apache

1 [root@localhost pcre-8.38]# cd ../httpd-2.4.28
2 [root@localhost httpd-2.4.28]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-suexec-uidmin=apache --with-suexec-gidmin=apache --enable-so --enable-ssl --with-ssl=/usr/local/openssl --enable-modules=most

问题;

/usr/local/apr/build-1/libtool --silent --mode=link gcc -std=gnu99 -g -O2 -pthread -o htpasswd htpasswd.lo passwd_common.lo /usr/local/apr-util/lib/libaprutil-1.la -lexpat /usr/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
libtool: error: cannot find the library '/usr/local/pcre/lib/libapr-1.la' or unhandled argument '/usr/local/pcre/lib/libapr-1.la'
make[2]: *** [htpasswd] Error 1

解决:

1 [root@localhost lib]# find / -name libapr-1.la
2 /root/soft/Apache/apr-1.6.2/.libs/libapr-1.la
3 /root/soft/Apache/apr-1.6.2/libapr-1.la
4 /usr/local/apr/lib/libapr-1.la
5 [root@localhost httpd-2.4.28]# cp /root/soft/Apache/apr-1.6.2/.libs/libapr-1.la /usr/local/pcre/lib/libapr-1.la

再次编译后报错

1 r/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
2 libtool: warning: library '/usr/local/apr/lib/libapr-1.la' was moved.
3 libtool: warning: library '/usr/local/apr/lib/libapr-1.la' was moved.
4 gcc: error: /usr/local/pcre/lib/.libs/libapr-1.so: No such file or directory
5 make[2]: *** [htpasswd] Error 1

解决:

1 [root@localhost httpd-2.4.28]# find / -name libapr-1.so
2 /root/soft/Apache/apr-1.6.2/.libs/libapr-1.so
3 /usr/local/apr/lib/libapr-1.so
4 [root@localhost httpd-2.4.28]# mkdir -p /usr/local/pcre/lib/.libs
5 [root@localhost httpd-2.4.28]# cp /root/soft/Apache/apr-1.6.2/.libs/libapr-1.so /usr/local/pcre/lib/.libs/libapr-1.so
原文地址:https://www.cnblogs.com/NoneID/p/7707050.html