1.编译安装httpd
1.1 下载安装包
[root@yyx1 ~]# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz //下载apr
[root@yyx1 ~]# wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz //下载apr-util
[root@yyx1 ~]# wget https://downloads.apache.org/httpd/httpd-2.4.53.tar.gz //下载httpd
注: linux系统自带.gz格式解压工具,如果是其他格式需要自行安装相应工具
1.2 安装依赖包
[root@yyx1 ~]# yum groups mark install "Development Tools" //安装开发环境
[root@yyx1 ~]# groupadd -r apache //创建组
[root@yyx1 ~]# useradd -r -g apache apache //创建用户到组
[root@yyx1 ~]# yum -y install openssl-devel pcre-devel make expat-devel gcc gcc-c++ libtool-ltdl-devel //安装各种依赖包
[root@yyx1 ~]# ls
anaconda-ks.cfg apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.53.tar.gz
[root@yyx1 ~]# tar xf apr-1.7.0.tar.gz //解压apr
[root@yyx1 ~]# tar xf apr-util-1.6.1.tar.gz //解压apr-util
[root@yyx1 ~]# tar xf httpd-2.4.53.tar.gz //解压httpd
[root@yyx1 ~]# ls
anaconda-ks.cfg apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.53.tar.gz
apr-1.7.0 apr-util-1.6.1 httpd-2.4.53
1.3 安装httpd
[root@yyx1 ~]# cd apr-1.7.0
[root@yyx1 apr-1.7.0]# ls
apr-config.in build configure.in libapr.dep memory random threadproc
apr.dep build.conf docs libapr.dsp misc README time
apr.dsp buildconf dso libapr.mak mmap README.cmake tools
apr.dsw build-outputs.mk emacs-mode libapr.rc network_io shmem user
apr.mak CHANGES encoding LICENSE NOTICE strings
apr.pc.in CMakeLists.txt file_io locks NWGNUmakefile support
apr.spec config.layout helpers Makefile.in passwd tables
atomic configure include Makefile.win poll test
[root@yyx1 apr-1.7.0]# vim configure
cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
# $RM "$cfgfile" //找到这一行并且注释掉或者删除
[root@yyx1 apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@yyx1 apr-1.7.0]# make
[root@yyx1 ~]# cd apr-util-1.6.1 //进去apr-util目录
[root@yyx1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr //安装
[root@yyx1 apr-1.7.0]# make install
[root@yyx1 apr-util-1.6.1]# make
[root@yyx1 apr-util-1.6.1]# make install
[root@yyx1 httpd-2.4.53]# ./configure --prefix=/usr/local/apache \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
[root@yyx1 httpd-2.4.53]# make
[root@yyx1 httpd-2.4.53]# make install
//完成安装apache
1.4 配置文件
[root@yyx1 ~]# ls /usr/local/
apache apr apr-util bin etc games include lib lib64 libexec sbin share src
[root@yyx1 ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' >/etc/profile.d/apache.sh
[root@yyx1 ~]# source /etc/profile.d/apache.sh
[root@yyx1 ~]# which httpd
/usr/local/apache/bin/httpd
[root@yyx1 ~]# which apachectl
/usr/local/apache/bin/apachectl
[root@yyx1 ~]# ln -s /usr/local/apache/include /usr/include/apache //设置头文件
[root@yyx1 ~]# vim /etc/man_db.conf //更改设置
MANDATORY_MANPATH /usr/man
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /usr/local/share/man
MANDATORY_MANPATH /usr/local/apache/man //添加这一行
1.5关闭防火墙
[root@yyx1 ~]# systemctl disable --now firewalld //关闭防火墙
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@yyx1 ~]# systemctl status firewalld //查看状态
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Apr 17 22:45:13 yyx1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 17 22:45:14 yyx1 systemd[1]: S