一、我们使用源码安装

官网:https://httpd.apache.org/
文档:https://httpd.apache.org/docs/2.4/

下载源码包 httpd-2.4.20.tar.gz
http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.20.tar.gz
下载依赖包 apr apr-util pcre
https://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
https://archive.apache.org/dist/apr/apr-util-1.3.12.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.zip

分别解压源码包,然后安装,先安装被依赖的,最后安装apache,按照下面顺序安装。
注意要指定安装路径,方便后面安装apache使用。
下面执行 make install的时候需要root权限。

安装 apr
./configure --prefix=/opt/apr
make && make install

安装 apr-util
./configure --prefix=/opt/apr-util --with-apr=/opt/apr/bin/apt-1-config
make && make install

安装 pcre
./configure --prefix=/opt/pcre
make && make install

安装最主要的 apache
./configure --prefix=/opt/apache --with-apr=/opt/apt --with-apr=/opt/apt-util --with-pcre=/opt/pcre
make && makeinstall

修改配置文件 /opt/apache/conf/httpd.conf

启动与关闭

启动  apachectl -k start
立刻停止  apachectl -k stop
立刻重启  apachectl -k restart
安全停止  apachectl -k graceful-stop
安全重启  apachectl -k graceful

说明:
    cpache的进程名为 httpd
    vi修改后提权保存文件的方法:
        :w !sudo tee %
    用源码安装的整个软件全部在指定目录下。
        
需要修改http.conf中的:
    ListenPort
    ServerName 这两个地方端口写成一样的
系统权限问题:
    普通用户不能在apache主目录下写日志,会启动失败。
    普通用户不允许使用80端口,会启动失败。
    所以我们要用root来启动 httpd 服务。
    (如果非要普通用户启动,可以把日志写在别处或者给日志目录赋予权限,并且使用其他端口)
    
        
二、从软件仓库安装,直接一句话搞定:
sudo apt-get install apache2   
可以使用service开启动关闭,不过apachectl更好。
安装位置一般在 /usr/share下。
查看软件包安装了哪些文件(查看安装位置的方法):
dpkg -L apache2
安装的文件位置不集中,而是按照系统约定分散在各处。

Linux部署apache的更多相关文章

  1. Linux部署Apache ActiveMQ 5.14.1

    简单记一下,下载地址 http://activemq.apache.org/download.html 一.安装JDK7以上,官方说明:http://activemq.apache.org/versi ...

  2. Linux部署Apache Solr5.5.2+Apache Zookeeper3.4.6

    一.官网下载所需包. solr-5.5.2.tgz 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/5.5.2/ zookee ...

  3. AWS EC2中部署Apache服务器(LAMP)

    关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...

  4. Linux下Apache服务部署静态网站------网站服务程序

    文章链接(我的CSDN博客): Linux下Apache服务部署静态网站------网站服务程序

  5. Linux下部署Apache+PHP

    Linux下部署Apache+PHP 编辑于2021-02-19 本文中Apache配置文件目录为/etc/httpd/conf/httpd.conf,PHP安装目录为/usr/local/php 一 ...

  6. linux部署MantisBT(一)部署apache

    一.部署apache 1.下载apache安装包及依赖包 http://httpd.apache.org/download.cgi#apache24(apache2)http://apr.apache ...

  7. Linux下apache+phppgadmin+postgresql安装配置

    Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...

  8. Linux部署与基本指令

    把以前写的linux发布一下下吧,写的真的好差劲... Linux部署   chmod:改变一个文件的权限 改变abc的权限为777 常用的权限: 777-644-755 ************** ...

  9. CentOS 7.4搭建LAMP,LAMP:Linux、Apache、MySQL、PHP

    CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录: 第一部分 准备工作 第二部分 安装Apache服务 第三部分 安装MySQL服务 第四部分 搭建PH ...

随机推荐

  1. XE6移动开发环境搭建之IOS篇(2):安装VM9虚拟机(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.安装VM9英文原 ...

  2. dijkstra

    寻找从源结点到其他点之间的最短距离. 把给出的结点分成两组,一组a刚开始为空,另一组b为全部节点,dis[i]记录从源点到i结点的距离,同样当所有操作结束后dis[i]就是到达源点的最短距离啦,每次更 ...

  3. MFC之动态创建按钮

    打开VS 创建MFC基于对话框的工程,在对话框初始化方法中动态创建一个按钮实例: 1> CButton *pMyButton = new CButton();CEdit *pMyEdit = n ...

  4. U盘分区之后如何恢复

    操作步骤: 1.插入U盘. 2.按windows键,右键点击“运行”,再左键点击以管理员身份运行. 3.输入diskpart,按enter. 4.输入list disk,按enter. 5.之后会看到 ...

  5. Spark Streaming源码解读之Receiver生成全生命周期彻底研究和思考

    本期内容 : Receiver启动的方式设想 Receiver启动源码彻底分析 多个输入源输入启动,Receiver启动失败,只要我们的集群存在就希望Receiver启动成功,运行过程中基于每个Tea ...

  6. Servlet Cookie处理

    Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...

  7. MFC的自定义消息的定义与使用

    自定义消息的响应和资源消息的响应有很多类似之处:资源消息的响应是以资源的ID号作为标识的:自定义的消息要自己声明消息ID. 一.           定义: 第一步要声明消息: #define WM_ ...

  8. VC++ MFC中如何将应用程序的配置信息保存到注册表中(二)

    在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息 ...

  9. 关于isScroll如何使用

    isScroll是用原生javascript写的实现局部滚动的一个库,它不依赖任何第三方库.设计的初衷是为了解决移动webkit系浏览器的区域滚动问题,兼容safari.chrome.firefox5 ...

  10. [原创]Matlab获取当前时间信息

    本文主要介绍下Matlab中如何获取当前时间的一些方法. 基本变量date.now.clock date 按照日期字符串返回当前系统时间 now 按照连续的日期数值返回当前系统时间 clock按照日期 ...