请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需要一步,快速开始

搜索
开启左侧

Centos7 安装Apache

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
前言

在安装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欢迎页面,如下所示:
Centos7 安装Apache-1.jpg

使用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版本号于已经没有了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

广告招商