首页 > 代码库 > Linux apache源码编译安装

Linux apache源码编译安装

下载、解压Apache源码

[root@aminglinux ~]# mkdir /usr/local/apache

[root@aminglinux ~]# cd /usr/local/apache/

[root@aminglinux apache]# wget http://mirrors.sohu.com/apache/httpd-2.4.25.tar.gz

[root@aminglinux apache]# tar -zxvf httpd-2.4.25.tar.gz

设置安装环境

[root@aminglinux apache]# ls
httpd-2.4.25  httpd-2.4.25.tar.gz

[root@aminglinux apache]# cd httpd-2.4.25/

[root@aminglinux httpd-2.4.25]# ./configure --prefix=/opt/httpd-2.4.25 --enable-so --enable-mods-shared=most --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-p
roxy-ajp --enable-rewrite
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... no
configure: error: APR not found.
  Please read the documentation.
[root@aminglinux httpd-2.4.25]#
[root@aminglinux httpd-2.4.25]# cd /usr/local/src/

[root@aminglinux src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz

[root@aminglinux src]# tar zxvf apr-1.5.2.tar.gz
[root@aminglinux src]# cd apr-1.5.2/

[root@aminglinux apr-1.5.2]# ./configure --prefix=/usr/local/apr

[root@aminglinux apr-1.5.2]# make

[root@aminglinux apr-1.5.2]# make install

[root@aminglinux httpd-2.4.25]# ./configure --prefix=/opt/httpd-2.4.25 --enable-so --enable-mods-shared=most --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-ajp --enable-rewrite
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
  setting LDFLAGS to " "
configure:
configure: Configuring Apache Portable Runtime Utility library...
configure:
checking for APR-util... no
configure: error: APR-util not found. 
Please read the documentation.


[root@aminglinux httpd-2.4.25]#

[root@aminglinux src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz

[root@aminglinux src]# tar zxvf apr-util-1.5.4.tar.gz

[root@aminglinux apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@aminglinux apr-util-1.5.4]# make

[root@aminglinux apr-util-1.5.4]# make install

[root@aminglinux httpd-2.4.25]# ./configure --prefix=/opt/httpd-2.4.25 --enable-so --enable-mods-shared=most --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-ajp --enable-rewrite --with-apr-util=/usr/local/apr-util/


[root@aminglinux httpd-2.4.25]# ./configure --prefix=/opt/httpd-2.4.25 --enable-so --enable-mods-shared=most --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-ajp --enable-rewrite --with-apr-util=/usr/local/apr-util/
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
  setting LDFLAGS to " "
configure:
configure: Configuring Apache Portable Runtime Utility library...
configure:
checking for APR-util... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for gcc option to accept ISO C99... -std=gnu99
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/


最好下载pcre 不要下载pcre2.版本

[root@aminglinux src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

[root@aminglinux src]#

[root@aminglinux src]#

[root@aminglinux src]# tar zxfv pcre-8.39.tar.gz
[root@aminglinux src]# cd pcre-8.39/

[root@aminglinux pcre-8.39]# ./configure --prefix=/usr/local/pcre

[root@aminglinux pcre-8.39]# make && make install

[root@aminglinux pcre-8.39]# cd ../httpd-2.4.25/
[root@aminglinux httpd-2.4.25]# ./configure --prefix=/opt/httpd-2.4.25 --enable-so --enable-mods-shared=most --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-ajp --enable-rewrite --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre

--enable-so  表示让Apache可以支持DSO模式

--enable-mods-shared=most  表示动态编译大部分常用的模块。当然也可以有选择地加载一些模块

,most的意思是只包含通常常用的模块,并且以动态加载模式加载。

--enable-proxy-balancer=shared

--enable-proxy-http=shared

--enable-proxy-ajp

--enable-rewrite


3.编译、安装软件

[root@aminglinux httpd-2.4.25]# make

[root@aminglinux httpd-2.4.25]# make install



Linux apache源码编译安装