Linux学习之编译安装apache

时间:2023-01-18 10:03:54

疯狂吐槽腾某云..编译安装apache折腾了一下午..还是我不太熟练。

首先要先准备好安装apache的三个依赖包以及apache包。(一定要准备好!!折腾了一下午的小白握拳!!)

-rw-r--r--   root   root    Oct    apr-1.6..tar.gz
-rw-r--r-- root root Oct apr-util-1.6..tar.gz
-rw-r--r-- root root Jul : httpd-2.4..tar.gz
-rw-r--r-- root root Oct pcre-8.00.tar.gz

使用 tar -xf + **.tar.gz 命令展开归档

drwxr-xr-x  gentoo distro     Sep   : apr-1.6.
-rw-r--r-- root root Oct apr-1.6..tar.gz
drwxr-xr-x gentoo distro Sep : apr-util-1.6.
-rw-r--r-- root root Oct apr-util-1.6..tar.gz
drwxr-xr-x games Sep : httpd-2.4.
-rw-r--r-- root root Jul : httpd-2.4..tar.gz
drwxrwxrwx Sep : pcre-8.00
-rw-r--r-- root root Oct pcre-8.00.tar.gz
  • 进入apr-1.6.3目录下编译安装apr
./configure --prefix=/usr/local/apr
make
make install

但是在./configure 时报错

cannot remove `libtoolT’: No such file or directory ,

解决方案:

  1. yum install libtool,
  2. 编辑 configure文件(vim ./configure),查找 $RM "$cfgfile" 这个地方,用#注释掉
  • 进入apr-util-1.6.1目录下编译安装apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

这次./configure没有报错

但是make报错:

fatal error:expat.h no such file or directory

解决方案

  1. yum install expat-devel安装该库(但这里不理解是怎么知道缺少这个文件的。难道缺少xxx.h文件就要安装相应的xxx.devel文件??求告知)
  • 进入pcre-8.00目录下编译安装pcre
./configure --prefix=/usr/local/pcre
make
make install

这次终于没有报错..再报错我就要骂人了

  • 进入httpd-2.4.34目录编译安装apache..终于进入正题了
./configure --prefix=/usr/local/apache1 --with-apr=/usr/local/apr1 --with-apr-util=/usr/local/apr-util1
make clean
make
make install

注意!!!./configure 后面的选项一定要写全!!!不然会一直说缺少依赖!!

make clean是因为可能在make的时候出现error`xx.lo’ is not a valid libtool object (不清楚为什么)

总之,绕了一大圈安装了apache,起码对命令熟悉了一点。也算有所收获吧;p

                      ---by:孙好烦