一、我们使用源码安装

官网: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. centos 下Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  2. jQuery MiniUI 开发指南+API组件参考手册

    jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

  3. Android 常见问题收集 (持续更新)

    gridview中设置item的高度. 一.BaseAdapter中的getView中设置 AbsListView.LayoutParams param = new AbsListView.Layou ...

  4. 20. Candy && Gas Station

    Candy There are N children standing in a line. Each child is assigned a rating value. You are giving ...

  5. Mono addin 学习笔记 5 TypeExtensionPoint

    1. Attribute声明方式 定义扩展点: [TypeExtensionPoint]public interface ICommand{        void Run();} 定义扩展: [Ex ...

  6. vbs脚本总结

    1.  msgbox语法:msgbox "对话框","对话框标题" 例:const hw="Hello World!" msgbox(hw) ...

  7. 关于HTML(JSP)页面的缓存设置 -- cache-control

    我在项目中遇到这么一个问题,当用户登录了系统后,进入并copy下系统某个页面的link,然后关闭浏览器,重新打开浏览器,把刚才复制好的link paste到浏览器的地址栏去,直接enter,发现浏览器 ...

  8. PIC32MZ tutorial -- Timer Interrupt

    An interrupt is an internal or external event that requires quick attention from the controller. The ...

  9. 如何进行服务器的批量管理以及python 的paramiko的模块

    最近对公司的通道机账号进行改造管理,全面的更加深入的理解了公司账号管理的架构.(注:基本上所有的机器上的ssh不能使用,只有部分机器能够使用.为了安全的角度考虑,安装的不是公版的ssh,而都是定制版的 ...

  10. fastreport 如何 设置 richview 的 行高

    richview中的行高改变有点特别.必须在AfterData 事件执行的时候才能修改: 也就是说,如果简单的放一个按钮,去发送消息给richView->RichEdit ,然后调用frxRep ...