正式安装Apache2.4 操作系统:Centos7.4,(需要关闭Selinux)
1.在每安装一个服务都要养成查看是否安装,如果安装则需要卸载:

#[root@yankerp ~]# rpm -qa | grep httpd

以下是如果之前系统已经安装httpd卸载方法:

2.安装apache2.4.23 (是编译安装那么就会需要用到源码包)在安装apache2.4.23需要的源码包如下:
httpd-2.4.23.tar.gz      apr-1.5.2.tar.gz      apr-util-1.5.4.tar.gz      zlib-1.2.8.tar.gz      pcre-8.39.tar.gz
以上包中apr是可移植的运行库,它是一个对操作系统调用的抽象库,用来实现apache内部组件对系统的使用,提高系统的可移植性,pcre zlib想必大家都很了解,这里不在概述。

1)下载安装apr和apr-util 在安装之前这些包我已经下载好了,同时大家可以使用以下链接来进行下载
apr官网地址http://apr.apache.org/download.cgi

#[root@yankerp ~]# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz

安装:

  1.  
    # tar zxf apr-1.5.2.tar.gz
  2.  
    [root@yankerp ~]# cd apr-1.5.2/
  3.  
    [root@yankerp apr-1.5.2]# ./configure --prefix=/usr/local/apr && make && make install


如果出现了以上情况,需要安装gcc编译器。。。

# yum install gcc gcc-c++ -y

再次安装:

安装结束后使用echo $?来判断以上操作是否又报错,非0则不成功,若没有继续安装下一个包

2)安装apr-util(安装的方法和上边安装apr都是一样的) 最后make && make install

# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz



2.安装zlib
zlib官网:http://www.zlib.net/

  1.  
    # wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
  2.  
    tar zxf zlib-1.2.8.tar.gz
  3.  
    [root@yankerp ~]# cd zlib-1.2.8/
  4.  
    [root@yankerp zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install



3.安装pcre
pcre官网:https://ftp.pcre.org/

# wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz

4.安装openssl(在安装apache2.4中它会提示openssl版本过于低,所以需要安装openssl)
openssl官网:https://www.openssl.org/

#wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz

make && make install

安装完的调整

  1.  
    #mv /usr/bin/openssl /usr/bin/openssl.1.0.1e
  2.  
    [root@yankerp openssl-1.0.1u]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

5.以上操作都是为apache2.4准备的,接下来正式安装apache2.4

  1.  
    #tar zxf httpd-2.4.23.tar.gz
  2.  
    cd httpd-2.4.23/

make && make install
参数解释:
./configure --prefix=/usr/local/http-2.4.23      //指定apache的安装路径
--enable-so  //这个是支持动态共享模块
--enable-rewrite  //支持URL重写
--enable-ssl   //支持ssl
--with-ssl=/usr/local/openssl  //这个是指定openssl的安装位置
--enable-cgi   //启用cgi
--enable-modules=most 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all  启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event   指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/usr/local/pcre 支持 pcre
--with-z=/usr/local/zlib  使用 zlib 压缩库
--with-apr=/usr/local/apr   指定 apr 的安装路径
--with-apr-util=/usr/local/apr-util 指定 apr-util 的安装路径
--enable-expires:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓
存的设置。这个是 apache 调优的一个重要选项之一。
--enable-deflate:提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优的一个重要选项之一
到这里必须要知道Apache的三种工作模式:event,worker,prefork !!!

在make && make install完成之后我们一定要echo $?来确保安装没过程中没有错误

此时我们的apache2.4已经正式的安装成功!!!

6.优化http程序执行路径

# ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/

修改配置文件设置ServerName
我们在安装apache的时候安装路径指定到了/usr/local/http2.4下面,我们进去http的安装位置查看有什么目录。

我们看到了一个conf目录,也就是说这个目录下面存放的就是我们apache的主配置文件,httpd.conf(修改servername)

7.开启apache服务

设置apache为开机自启动

  1.  
    #cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd
  2.  
    sed -i '1a # chkconfig: 35 85 21' /etc/init.d/httpd
  3.  
    sed -i '2a # description: apache 2.4.23' /etc/init.d/httpd

添加为系统服务并自启动

修改网页根目录,client访问测试

以下是apache网页根目录(我们可以在里面更改想要的内容)

注意:如果做到这里httpd已经启动但是无法访问可能造成原因有以下几种:
1.清除浏览器缓存后再次访问。
2.没有关闭selinux会出现访问不到的情况
3.没有关闭防火墙,则需要添加80端口,或者可以选择关闭防火墙

安装Apache2.4 操作系统:Centos7.4的更多相关文章

  1. Linux环境下源码安装Apache2.2.25

    操作环境:RedHat Enterprise Linux 5.6 一.安装准备 安装Apache一般依赖3个组件:apr.apr-util.pcre. 确保这三个组件已经安装. [root@bigsr ...

  2. CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3

    CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...

  3. windows 用VMware创建linux虚拟机,安装操作系统CentOS7.2

    1.按照向导创建虚拟机 以下是安装虚拟机的步骤,没有写的直接下一步 [1]主页-创建新虚拟机 [2]选择 自定义(高级) [3]选择稍后安装操作系统 [4]给虚拟机命名并指定所在位置 [5]给处理器配 ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  6. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  7. CentOS7 下源代码安装apache2.4

    Apache httpd 2.4 源代码安装   https://httpd.apache.org/docs/2.4/install.html   这里选用Apache2.4版本. wget http ...

  8. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  9. 一行命令安装docker和docker-compose(CentOS7)

    想快速装好docker和docker-compose ?那就随本文用一次复制粘贴来完成安装: 环境信息 操作系统:CentOS Linux release 7.7.1908 (Core, 操作账号:r ...

随机推荐

  1. 第四十一章、PyQt显示部件:TextBrowser、CalendarWidget、LCDNumber、ProgressBar、Label、HorizontalLine和VerticalLine简介

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer中,显示部件有Labe ...

  2. SUCTF pythonigx

    0x00知识点 nginx配置 配置文件存放目录:/etc/nginx主配置文件:/etc/nginx/conf/nginx.conf管理脚本:/usr/lib64/systemd/system/ng ...

  3. CSP-S 2020 题解

    赛后我重拳出击,赛场上我却爆零.哎. 题解本人口胡.有错请各位大佬们指出. A. 儒略日 这题是大型模拟题. 介绍两种写法:一种代码量致死(赛 场 自 闭),一种是非常好写的. 写法 1 我在赛场的思 ...

  4. basic english

    color/visual see look color dark light beautiful shade black blue brown clear gray green orange red ...

  5. Spark3.0中Dates和Timestamps

    Spark3.0使用的是预公历,而之前都是儒略历和公历的混合(即1582年之前的日期使用儒略历,1582年之后使用公历,java.sql.Date这个API用的就是这种,而Java8里使用java.t ...

  6. 深入理解Java虚拟机(六)——JVM调优分析与实战

    大内存硬件上的程序部署策略 单个虚拟机管理大内存 出现问题 如果JVM中的堆内存太小,就会频繁地出发GC,而每次GC会将用户线程暂停,所以,频繁地GC会导致长时间的停顿.如果扩大计算的内存的大小,就能 ...

  7. 安装ELK的一些问题

    1.使用的是centos6,其linux内核版本为2.6.而Elasticsearch的插件要求至少3.5以上版本 ,禁用这个插件即可.修改elasticsearch.yml文件,在最下面添加如下配置 ...

  8. STL——容器(Map & multimap)的查找

    map.find(key);   //查找键key是否存在,若存在,返回该键的元素的迭代器:若不存在,返回map.end(); map.count(key);   //返回容器中键值为key的对组个数 ...

  9. AWVS批量导入网站(刷漏洞入门)

    今天整了一天这个AWVS批量扫描脚本,主要是下了好几个版本的AWVS,都不稳定,一次次删除又一次次安装. 做这件事儿目的就是为了批量刷漏洞,不过弄好之后又不打算刷漏洞了,不太喜欢无脑刷漏洞,没什么意义 ...

  10. css做keylogger

    下载keylogger:https://github.com/maxchehab/css-keylogging 参考讲解:https://blog.csdn.net/weixin_34138139/a ...