1.编译安装httpd

本文详细介绍了如何在Linux系统中编译安装httpd,包括下载安装包、安装依赖、配置文件、启动服务,以及设置开机自启。同时,讨论了三种虚拟主机类型:IP、不同端口和不同域名,并提到了HTTPS配置中的证书生成。在安装过程中遇到的错误,如ld返回1退出状态,是因为缺少依赖库,解决方案是执行'sudo make install'。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值