使用源码包的方式安装httpd
(建议先阅读全文,再开始操作,按照正确的顺序会省事很多!!)
- 获取httpd包
wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2
- 解压
tar -xvf httpd-2.4.43.tar.bz2
- 预编译
cd httpd-2.4.43
./configure (这里可以自己指定路径)
!!报错:找不到APR 也就是依赖,要先安装apr
(安装apr步骤见后文)
安装好apr相关的包后,继续回到 cd httpd-2.4.43
./configure --with-apr=/usr/local/apr/apr-1.7.0 --with-apr-util=/usr/local/apr/util/apr-util-1.6.1
!!报错:找不到 pcre-config for libpcre not found 还是有依赖,要继续先安装PCRE
(这个应该是环境的问题,如果不报这个错,可以忽略这一步。)
(安装步骤见后文)
安装好PCRE后 ,继续回到 cd httpd-2.4.43
./configure --with-apr=/usr/local/apr/apr-1.7.0 --with-apr-util=/usr/local/apr/util/apr-util-1.6.1 --with-pcre=/usr/local/pcre
make && make install
即可安装成功
- 查看是否安装成功
rpm -qa | grep http
(因为是源码包安装,用这个命令有可能找不到,可以直接启动服务,看看是否有服务,要注意的是,源码安装的软件不是使用systemctl命令启动的,而是使用绝对路径,所以刚刚在安装时最好自己指定路径,方便后面启动。)
由于刚刚没有手动指定路径,用find查找一下httpd的路径
find / -name httpd
一般是/usr/local/apache/bin/httpd,视你的结果而定。
后文
-
安装apr
注意:安装apr 需要安装两个包 一个是apr包,另一个是apr-util,而且要先安装apr再到apr-uitl#获取apr wget https://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz #解压 tar -xvf apr-1.7.0.tar.gz #创建安装目录 mkdir /usr/local/apr #预编译 ./configure --prefix=/usr/local/apr/apr-1.7.0 #安装 make && make install 安装成功!
-
安装apr-util
#获取apr-util wget https://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz #解压 tar -xvf apr-util-1.6.1.tar.gz #创建安装路径 mkdir /usr/local/apr/util #预编译 cd apr-util-1.6.1 ./configure --prefix=/usr/local/apr/util/apr-util-1.6.1 --with-apr=/usr/local/apr/apr-1.7.0 #安装 make && make install 安装成功
-
安装PCRE
#获取包 wget https://ftp.pcre.org/pub/pcre/pcre-8.10.tar.gz #解压 tar pcre-8.10.tar.gz #预编译 ./configure --prefix=/usr/local/pcre #安装 make && make install
./configure --prefix=/的作用是:编译的时候用来指定程序存放路径 。
不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,
配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。
with:指定依赖
–with-依赖包名称=依赖包目录
下面是把顺序整理成脚本,执行这个脚本的前提是你要先把包下载好,当然你也可以直接把获取包的命令放到脚本里面,一键执行。
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
yum install expat-devel -y
tar xf httpd-v2.4.41.tar.gz
tar xf apr-1.6.5.tar.gz
tar xf apr-util-1.6.1.tar.gz
cd /root/apr-1.6.5/
./configure --prefix=/usr/local/apr
make
make install
cd /root/apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cd /root/httpd-2.4.41/
./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make
make install
echo "ServerName localhost:80" >> /usr/local/httpd/conf/httpd.conf
/usr/local/httpd/bin/apachectl
echo "一键安装成功!"