HCRM博客

CentOS 7 Apache服务器安装与配置指南

apache for centos7

一、背景介绍

CentOS 7 Apache服务器安装与配置指南-图1
(图片来源网络,侵权删除)

1.1 什么是Apache HTTP服务器?

Apache HTTP服务器(简称Apache)是由Apache软件基金会开发和维护的开源Web服务器,它具有跨平台、安全性高、速度快和稳定性强等特点,是世界上最流行的Web服务器软件之一,通过简单的API扩展,Apache能够将Perl/Python等解释器编译到服务器中。

1.2 Apache在CentOS中的角色与重要性

Centos操作系统中,Apache作为默认的Web服务器扮演着至关重要的角色,其广泛的应用于托管网站和Web应用程序,提供静态内容和媒体服务,并支持负载均衡和反向代理等功能,Apache在CentOS中的安装和管理相对简单,使其成为许多开发者和企业的首选。

二、安装步骤

1 准备工作

在进行Apache安装之前,确保你的系统是最新的,并且已经安装了必要的依赖包,你可以通过以下命令更新系统:

CentOS 7 Apache服务器安装与配置指南-图2
(图片来源网络,侵权删除)
  • sudo yum update y

2 安装Apache

使用yum命令来安装Apache:

  • sudo yum install httpd y

此命令会同时安装httpd软件包及其相关的依赖项。

3 启动与停止Apache服务

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

  • sudo systemctl enable httpd
  • sudo systemctl start httpd

如果你需要停止或重启Apache服务,可以使用以下命令:

  • sudo systemctl stop httpd # 停止服务
  • sudo systemctl restart httpd # 重启服务

4 防火墙配置

如果你正在运行防火墙,还需要打开HTTP和HTTPS端口80和443:

  • sudo firewallcmd permanent addservice=http
  • sudo firewallcmd permanent addservice=https
  • sudo firewallcmd reload

三、配置Apache

CentOS 7 Apache服务器安装与配置指南-图3
(图片来源网络,侵权删除)

1 主配置文件路径

Apache的主配置文件位于/etc/httpd/conf/httpd.conf,你可以使用任何文本编辑器打开和编辑这个文件,

  • sudo vi /etc/httpd/conf/httpd.conf

i键进入插入模式,进行修改后按Esc键退出插入模式,然后输入:wq保存并退出。

2 修改监听端口

默认情况下,Apache监听80端口,如果需要修改为其他端口,可以在配置文件中找到以下行并进行修改:

  • Listen 80

将其改为所需的端口号,例如8080:

  • Listen 8080

保存后重启Apache服务以使更改生效:

  • sudo systemctl restart httpd

3 配置虚拟主机

虚拟主机允许你在一台服务器上运行多个网站,虚拟主机的配置文件通常位于/etc/httpd/conf.d/目录下,每个域名一个独立的配置文件,创建一个名为example.com.conf的文件:

  • <VirtualHost *:80>
  • ServerName example.com
  • DocumentRoot /var/www/html/example
  • ErrorLog logs/example.comerror_log
  • CustomLog logs/example.comaccess_log common
  • </VirtualHost>

创建目录并设置适当的权限:

  • sudo mkdir p /var/www/html/example
  • sudo chown R apache:apache /var/www/html/example

重启Apache服务以应用配置更改:

  • sudo systemctl restart httpd

3.4 配置.htaccess文件(可选)

.htaccess文件用于对特定目录进行配置,确保Apache启用了mod_rewrite模块:

  • sudo grep q "LoadModule rewrite_module" /etc/httpd/conf.modules.d/00base.conf || echo "LoadModule rewrite_module modules/mod_rewrite.so" | sudo tee a /etc/httpd/conf.modules.d/00base.conf
  • sudo systemctl restart httpd

在需要配置的目录中创建.htaccess文件,

  • <IfModule mod_rewrite.c>
  • RewriteEngine On
  • RewriteRule ^index\.php$ [L]
  • RewriteCond %{REQUEST_FILENAME} !f
  • RewriteCond %{REQUEST_FILENAME} !d
  • RewriteRule . /index.php [L]
  • </IfModule>

这将启用URL重写规则,使得所有请求都指向index.php

四、安全配置

1 隐藏版本信息

为了提高安全性,可以配置Apache不泄露版本信息,编辑主配置文件httpd.conf,添加或修改以下行:

  • ServerSignature Off
  • ServerTokens Prod

保存后重启Apache服务:

  • sudo systemctl restart httpd

再次访问服务器时,你会发现版本信息已被隐藏。

2 禁用不必要的模块和服务

为了减少潜在的攻击面,建议禁用不必要的Apache模块和服务,编辑配置文件/etc/httpd/conf.modules.d/00base.conf,注释掉不需要的模块:

  • LoadModule some_module_module modules/mod_some_module.so

保存后重启Apache服务:

  • sudo systemctl restart httpd

3 使用SSL/TLS加密通信

启用SSL/TLS加密通信可以提高数据传输的安全性,安装mod_ssl模块:

  • sudo yum install mod_ssl y

生成自签名证书:

  • sudo openssl req x509 nodes days 365 newkey rsa:2048 keyout /etc/pki/tls/private/selfsigned.crt out /etc/pki/tls/certs/selfsigned.crt

修改主配置文件httpd.conf,添加以下内容:

  • <VirtualHost *:443>
  • ServerName yourdomain.com
  • DocumentRoot /var/www/html
  • SSLEngine on
  • SSLCertificateFile /etc/pki/tls/certs/selfsigned.crt
  • SSLCertificateKeyFile /etc/pki/tls/private/selfsigned.crt
  • <Directory "/var/www/html">
  • AllowOverride All
  • Require all granted
  • </Directory>
  • </VirtualHost>

重启Apache服务:

  • sudo systemctl restart httpd

你的网站将通过HTTPS访问。

五、管理与维护

1 查看Apache状态与日志

你可以使用以下命令查看Apache的状态:

  • sudo systemctl status httpd

日志文件通常位于/var/log/httpd/目录下,包括访问日志和错误日志,你可以使用grep命令查找特定的日志记录:

  • sudo grep "search_term" /var/log/httpd/error_log

2 备份与恢复配置

定期备份Apache配置文件是一个好习惯,你可以使用cp命令备份整个配置文件目录:

  • sudo cp r /etc/httpd /backup/httpdbackup

恢复时,只需将备份的文件复制回原位置:

  • sudo cp r /backup/httpdbackup /etc/httpd

然后重启Apache服务:

  • sudo systemctl restart httpd

3 更新与升级Apache

为了保持安全性和性能,建议定期更新Apache,使用以下命令检查可用更新:

  • sudo yum checkupdate httpd

如果有更新可用,使用以下命令进行更新:

  • sudo yum update httpd y

更新后重启Apache服务:

  • sudo systemctl restart httpd

注意,在更新之前,请备份现有的配置文件和数据。

六、常见问题解答(FAQs)

6.1 Q1: 如何更改Apache的默认根目录?

A1: 你可以通过修改主配置文件httpd.conf中的DocumentRoot参数来更改默认根目录,将根目录更改为/var/www/new_root

  • DocumentRoot "/var/www/new_root"
  • <Directory "/var/www/new_root">
  • AllowOverride All
  • Require all granted
  • </Directory>

保存后重启Apache服务:

  • sudo systemctl restart httpd

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/13584.html

分享:
扫描分享到社交APP
上一篇
下一篇