1. 下载httpd:放在目录:/usr/local/src
    http://httpd.apache.org/download.cgi#apache24


2. 下载apr:放在目录:/usr/local/src
http://apr.apache.org/download.cgi

  1. 下载apr-util, 放在目录:/usr/local/src
    http://apr.apache.org/download.cgi

  2. mkdir /usr/local/zwk_apache

  3. 解压下载好的源码包:
    tar -zxvf /usr/local/src/httpd-2.4.41.tar.gz
    tar -zxvf /usr/local/src/apr-1.7.0.tar.gz
    tar -zxvf /usr/local/apr-util-1.6.1.tar.gz

  4. mv /usr/local/src/httpd-2.4.41 /usr/local/zwk_apache
    mv /usr/local/src/apr-1.7.0 /usr/local/zwk_apache
    mv /usr/local/src/apr-util-1.6.1 /usr/local/zwk_apache

  5. 安装apr(进入apr目录):
    mkdir /usr/local/zwk_apache/apr
    cd /usr/local/zwk_apache/apr
    …/apr-1.7.0/configure --prefix=/usr/local/zwk_apache/apr-1.7.0

make && make install

  1. 安装apr-util(进入apr-util目录):
    mkdir /usr/local/zwk_apache/apr-util
    cd /usr/local/zwk_apache/apr-util
    …/apr-util-16.1/configure --prefix=/usr/local/zwk_apache/apr-util-16.1 --with-apr=/usr/local/zwk_apache/apr-1.7.0

make && make install

如果上面在安装时出现错误,可以试着去安装expat-devel,因为apr-util需要expat-devel依赖。
yum install expat-devel

  1. 继续安装httpd(进入httpd目录):
    mkdir /usr/local/zwk_apache/httpd
    cd /usr/local/zwk_apache/ httpd
    …/httpd-2.4.41/configure
    –prefix=/usr/local/zwk_apache/httpd-2.4.41
    –with-apr=/usr/local/zwk_apache/apr
    –with-apr-util=/usr/local/zwk_apache/apr-util
    –enable-so
    –enable-mods-shared=most

上面,
\ 表示转义字符,加上它可以将一行命令写成多行,更加直观
–prefix 指定安装目录
–enable-so 表示启用DSO,表示支持扩展模块,动态扩展模块,apache和php都支持以一个模块的形式存在
–enable-mods-shared=most 表示指定需要哪些动态扩展的模块,需要加载哪些呢?most就是绝大多数

为了避免在make的时候出错,我们可以提前安装pcre和pcre-devel:
yum install -y pcre pcre-devel

最后编译和安装:
make
make install

此要分开执行,不要使用 make & make install, 这安装失败。

安装完之后,我们可以查看httpd的目录结构及modules目录下面的模块文件:

ls /usr/local/zwk_apache/httpd-2.4.41

bin build cgi-bin conf error htdocs icons include logs man manual modules

bin 命令放置的目录
conf 主要存放了配置文件httpd.conf,这个是最重要的配置文件,Apache的所有主要权限和功能都在这个文件中进行了详细的设置htdocs
logs 日志相关的目录
modules 模块放置的目录

  1. 查看apache加载了哪些模块,使用命令(两条命令一样):
    /usr/local/zwk_apache/httpd-2.4.41/bin/httpd -M
    /usr/local/zwk_apache/httpd-2.4.41/bin/apachectl -M

AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)

前面以AH0058开头的行,并不是错误,仅仅是一个警告。带有 shared 字样的,表示该模块为动态共享模块;带有 static 字样的,它表示以静态形式存在。

两者区别在于,静态模块直接和主程序/usr/local/zwk_apache/httpd-2.4.41/bin/httpd绑定在一起,动态模块则是一个个独立存在的文件。

启动apache:

/usr/local/zwk_apache/httpd-2.4.41/bin/apachectl start

AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message

暂且不管提示的这段信息,我们查看httpd服务是否启动:

ps aux |grep httpd

root 25761 0.0 0.1 70932 2240 ? Ss 20:45 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 25762 0.3 0.2 359896 4260 ? Sl 20:45 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 25763 0.3 0.2 359896 4248 ? Sl 20:45 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 25768 0.3 0.2 359896 4248 ? Sl 20:45 0:00 /usr/local/apache2.4/bin/httpd -k start
root 25849 0.0 0.0 112720 980 pts/0 S+ 20:45 0:00 grep --color=auto httpd

netstat -lntp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 910/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1292/master
tcp6 0 0 :::3306 ::? LISTEN 1218/mysqld
tcp6 0 0 :::80 ::? LISTEN 25761/httpd
tcp6 0 0 :::22 ::? LISTEN 910/sshd
tcp6 0 0 ::1:25 ::? LISTEN 1292/master

上面我们可以看到,httpd服务已经成功启动,正在监听80端口。

建网站框架LAMP之:APACHE的安装相关推荐

  1. 建网站框架LAMP之:PHP的安装

    下载并解压php7源码包: https://www.php.net/downloads.php 2. 文件php-7.3.8.tar.gz放在/usr/local/src 3. tar -zxvf / ...

  2. LAMP(apache/httpd+mysql+php)环境/架构 一键安装脚本

    该脚本只在centos 上测试过,测试OK,其他发行版自行测试 #!/bin/bash #Purpose        :一键安装lamp(apache + mysql + php) #Writer ...

  3. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    转自:http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.html 一.简介 什么是LAMP     LAMP是一种Web网络应用和开发环 ...

  4. CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)

    2019独角兽企业重金招聘Python工程师标准>>> 准备篇: 1.配置防火墙,开启80端口.3306端口    vi /etc/sysconfig/iptables    -A ...

  5. 末学者笔记--apache编译安装及LAMP架构上线

    apache介绍 一.Apache的三种工作模式 Apache一共有3种稳定的MPM模式(多进程处理模块),它们分别是prefork.worker.event.http-2.2版本的httpd默认的m ...

  6. redhat7 mysql lamp_RHEL7 yum安装配置LAMP服务器(Apache+PHP+MySql)

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  7. LAMP源码编译安装之Apache

    LAMP源码编译安装之Apache 一.LAMP的基本架构概述 1.LAMP架构 2.各组件的主要作用如下 二.编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/ ...

  8. 我的LAMP源码编译安装linux+Apache+mysql+php

    httpd-2.2.17.tar.gz mysql-5.1.51.tar.gz php-5.2.17.tar.gz mysql的安装 #安装需要的库 yum -y install ncurses nc ...

  9. Apache Maven 安装与配置-修改源

    Maven配置,强大的Java包管理器 Maven介绍 Apache Maven 下载 Apache Maven 安装 要求 启动 解压到适当的文件夹 添加环境变量 修改配置 启动测试 Maven介绍 ...

最新文章

  1. 第九章、文件与文件系统的压缩与打包 3. 打包命令: tar
  2. Android性能优化常见问题,终局之战
  3. 从程序架构提升安全性
  4. clover 主题_Clover主题更换
  5. C语言实战:(1) 整数的二进制表示
  6. python xml转换键值对_Python 提取dict转换为xml/json/table并输出
  7. mysql中having的例子_有关mysql中having子句对组记录进行筛选的例子
  8. sublime3中文乱码解决包ConvertToUTF8.zip
  9. 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)
  10. 如何将Win7、Win10笔记本,台式机系统C盘软件搬家? 只需3个步骤!!!
  11. bat脚本使用winRAR命令行压缩文件
  12. CUDA: Occupancy(占用率)详解
  13. [附源码]java毕业设计归元种子销售管理系统
  14. 英文版-Hillsong现场演唱-神羔羊配得-《Worthy Is the Lamb》
  15. 微服务架构之限流熔断
  16. vb 复制 剪贴板 html,用vb实现将脚本的输出复制到剪贴板
  17. solr 关于 carrot2聚类参数配置测试
  18. 什么是三层网络架构,接入交换机、汇聚交换机和核心交换机分别又是什么
  19. matlab中如何让保存的图片不含白边
  20. C# Winform下一个热插拔的MIS/MRP/ERP框架(简介)

热门文章

  1. 《经济机器如何运转》笔记
  2. [附源码]计算机毕业设计JAVA毕业生离校管理系统
  3. python~计算公式的值
  4. Unity使用材质球使图片发光
  5. 现金流游戏的一点感悟
  6. Android性能优化笔记(一)——启动优化
  7. 关于thinkpad t/w/x 5/4/230的指纹安装的一点提示
  8. 金山注入浏览器默认开启上网导航 www.uu114.cn
  9. springboot+vue+java婚纱摄影预约管理系统ssm
  10. Windows Server 2012 R2 或Windows Server 2019 镜像SXS下载,解决,net3.5无法安装问题