热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7安装Apache

Centos7安装Apache,Go语言社区,Golang程序员人脉社
前言

在安装Apache前,推荐先阅读Apache 文档,了解一下 Apache 2.x 服务器,以及详细的安装参数。

安装Apache

Apache可以使用Centos7的yum命令安装,Apache软件包和服务称为httpd。 要安装软件包,请运行以下命令:

yum -y install httpd

启动Apache服务

安装完成后,启用并启动Apache服务:

systemctl enable httpd
systemctl start httpd

如果您正在运行防火墙(firewalld),则还需要打开HTTP和HTTPS端口80和443:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

我们可以通过以下方式检查Apache服务的状态和版本:

systemctl status httpd

输出:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-03-10 14:14:53 CST; 4min 6s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1062 (httpd)
   Status: "Total requests: 15; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1062 /usr/sbin/httpd -DFOREGROUND
           ├─1170 /usr/sbin/httpd -DFOREGROUND
           ├─1171 /usr/sbin/httpd -DFOREGROUND
           ├─1172 /usr/sbin/httpd -DFOREGROUND
           ├─1173 /usr/sbin/httpd -DFOREGROUND
           ├─1174 /usr/sbin/httpd -DFOREGROUND
           ├─1221 /usr/sbin/httpd -DFOREGROUND
           ├─1222 /usr/sbin/httpd -DFOREGROUND
           └─1223 /usr/sbin/httpd -DFOREGROUND

再输入如下命令:

httpd -v

输出:

Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

验证安装

要验证安装,在您所选择的浏览器中打开您的服务器IP地址,您将看到默认的Apache欢迎页面,如下所示:
Apache欢迎页面

使用systemctl管理Apache服务

我们可以像任何其他系统单元一样管理Apache服务。

要停止Apache服务,请运行:

systemctl stop httpd

要再次启动,请键入:

systemctl start httpd

重新启动Apache服务:

systemctl restart httpd

在进行一些配置更改后重新加载Apache服务:

systemctl reload httpd

如果您想禁用Apache服务以在启动时启动:

systemctl disable httpd

并重新启用它:

systemctl enable httpd
配置Apache

Apache配置文件路径默认位于/etc/httpd

httpd.conf

httpd.conf配置文件位于:/etc/httpd/conf/httpd.conf

配置扩展名解析成 PHP

关于安装PHP,请查看《Centos7.4 编译安装PHP7.2(Apache篇)》
在httpd.conf尾部加入下面的配置,然后重启Apache服务,使其生效。

<FilesMatch .php$>
    SetHandler application/x-httpd-php
</FilesMatch>

支持.htaccess规则重写

先检查rewrite模块是否打开,模块配置文件位于:/etc/httpd/conf.modules.d/00-base.conf
使用vim命令打开文件:

vim /etc/httpd/conf.modules.d/00-base.conf

在文件里搜索rewrite_module modules/mod_rewrite.so,在所在行前面是否有#,如果有的话,将#删除,然后保存文件。
查看httpd.conf文件是否已打开允许重写功能

vim /etc/httpd/conf/httpd.conf

在文件里搜索.htaccess,我们找到 如下注释对应的AllowOverride None

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

然后将

AllowOverride None

改成

AllowOverride All

注意改动的位置 因为该文件 有多处 AllowOverride None,只有找到正确的位置才有效。

检查完前面两步,重启Apache服务

systemctl restart httpd

虚拟主机

Apache默认项目读取目录位于var/www/html,可通过httpd.conf配置文件里的DocumentRoot参数进行修改。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

关于虚拟主机项目配置文件,位于/etc/httpd/conf.d目录,建议一个域名一个配置文件
虚拟主机配置文件规范:[域名].conf

虚拟主机配置文件范例:

<VirtualHost *:80>
    ServerName [域名]
    ServerAlias [域名]
    DocumentRoot "/var/www/html/[项目目录]"
</VirtualHost>

安全配置

隐藏HTTP请求头web服务器信息

没作任何设置前,查看web服务器请求文件头:

Connection:Keep-Alive
Date:Sun, 10 Mar 2019 17:15:20 GMT
ETag:"18-583bffda946f5"
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.6 (CentOS)

几乎把web服务器详细信息都暴出来了,如果没个版本的apache和php爆出严重漏洞,会给攻击者提供最有攻击价值的安全信息,这是非常危险的。

将Apache的配置文件加上:

# 禁止在http请求头暴露服务器信息
ServerTokens ProductOnly
ServerSignature Off 

然后重启Apache服务,再次发出Apache头信息请求:

Connection:Keep-Alive
Date:Sun, 10 Mar 2019 17:18:52 GMT
ETag:"18-583bffda946f5"
Keep-Alive:timeout=5, max=100
Server:Apache

可以看到apache版本号于已经没有了。


推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
流域
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有