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