阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

5分钟学会在CentOS 8上安装Apache

529次阅读
没有评论

共计 5300 个字符,预计需要花费 14 分钟才能阅读完成。

Apache HTTP 服务器是世界上使用最广泛的 Web 服务器。它是一个免费的,开源的,跨平台的 HTTP 服务器,具有强大的功能,并且可以通过多种模块进行扩展。

在所有可用的 Web 服务器中,Apache Web Server 可能是最受欢迎的服务器之一。由 Apache 基金会开发的 Apache 非常流行,它可以在线运行所有 Web 服务器的 70%。

这是每个系统管理员都应该知道的可靠,安全的 Web 服务器。Apache 是 LAMP 堆栈的一部分,代表 Linux,Apache,MariaDB 和 PHP,并且在许多公司中通常用于托管内部和外部网站。

在本文中,我们将说明如何在 CentOS 8 上安装和管理 Apache 网络服务器,轻松配置虚拟主机。

5 分钟学会在 CentOS 8 上安装 Apache 

必要条件

确保您的防火墙在 CentOS 8 实例上正确运行。请以 root 或具有 sudo 特权的用户身份运行命令。

[linuxidc@localhost www.linuxidc.com]$ sudo systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
  Active: active (running) since 一 2019-11-18 00:08:12 EST; 6min ago
    Docs: man:firewalld(1)
 Main PID: 960 (firewalld)
  CGroup: /system.slice/firewalld.service
          └─960 /usr/bin/Python -Es /usr/sbin/firewalld –nofork –nopid

11 月 18 00:08:11 localhost.localdomain systemd[1]: Starting firewalld – dyna…
11 月 18 00:08:12 localhost.localdomain systemd[1]: Started firewalld – dynam…
Hint: Some lines were ellipsized, use -l to show in full.

5 分钟学会在 CentOS 8 上安装 Apache 

在 CentOS 8 上安装 Apache

Apache 在默认的 CentOS 存储库中可用,并且安装非常简单。为了安装 Apache Web Server,首先通过运行以下命令更新本地软件包

在基于 RHEL 的发行版中,Apache 软件包和服务称为 httpd。要安装 Apache,运行以下命令:

[linuxidc@localhost www.linuxidc.com]$ sudo yum update

更新完成后,就可以安装 Apache 了。

[root@localhost www.linuxidc.com]# yum install httpd

5 分钟学会在 CentOS 8 上安装 Apache

启动 Apache Web 服务器

为了启动您的 Apache Web 服务器,请运行以下命令

[root@localhost www.linuxidc.com]# systemctl start httpd

确保启用您的 httpd 服务,以使其在系统启动时启动。

[root@localhost www.linuxidc.com]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

5 分钟学会在 CentOS 8 上安装 Apache

最后,通过运行一个简单的 status 命令,确保您的 Apache Web 服务器正常运行。

[root@localhost www.linuxidc.com]# systemctl status httpd

5 分钟学会在 CentOS 8 上安装 Apache

您还可以检查 Web 服务器的版本,以确保已正确安装。

[root@localhost www.linuxidc.com]# httpd -v
Server version: Apache/2.4.37 (centos)
Server built:  Oct  7 2019 21:42:02

5 分钟学会在 CentOS 8 上安装 Apache

测试您的 Apache Web 服务器

为了测试 Apache Web 服务器是否正常运行,您首先需要找到您的当前 IP 地址。

要获取您的 IP 地址,请运行以下命令

[root@localhost www.linuxidc.com]# hostname -I | awk ‘{print $1}’
192.168.229.165

5 分钟学会在 CentOS 8 上安装 Apache

默认情况下,Apache 将在服务器上的端口 80 上运行。

为了检查 Apache 是否正常运行,可以运行简单的 curl 命令,也可以使用 Web 浏览器进行检查。

$ curl <ip_address>:80

如果您浏览到前面讨论过的正确 URL,则这是默认页面。

这只是一个标准的演示页面,上面有一些基本说明。如果您不熟悉 Web 服务器管理,则可以阅读此页面上提供的段落。

为 Apache 配置你的 CentOS 8 防火墙

为了使外部主机可以使用 Web 服务器,您将需要在防火墙上打开特定的端口。

默认情况下,CentOS 使用 firewalld,它是在主机上作为守护程序运行的防火墙,并为其提供基本安全性。

为了接受 HTTP 和 HTTPS 连接,您将打开服务器上的端口 80 和 443。

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

通过运行以下命令,确保服务已正确授权

$ sudo firewall-cmd –list-all | grep services

services : cockpit dhcpv6-client http https ssh

恭喜你!

您已在 CentOS 8 上成功安装了 Apache。

您的服务器现在正在接受对 Web 服务器的传入 HTTP 请求。

在 CentOS 8 上管理 Apache Web 服务器

为了管理您的 Apache Web 服务器,您有多种选择。

为了在 CentOS 8 上重新启动 Apache,请输入以下命令

sudo systemctl restart httpd

为了停止 Web 服务器,请运行以下命令

$ sudo systemctl stop httpd

如果要重新启动,可以运行

$ sudo systemctl start httpd

如果对 Apache 配置进行了一些修改,则可以重新加载服务器,而不必完全重新启动服务器。

如果您修改了一个网站,它将重新启动其他未修改的网站,这显然是我们要避免的事情。

$ sudo systemctl reload httpd

如果您希望您的 Web 服务器在启动时启动(如果您更新服务器而忘记重新启动 Web 服务器,建议您这样做),则必须运行

$ sudo systemctl enable httpd

另一方面,如果要阻止 Web 服务器在系统启动时启动,请运行

$ sudo systemctl disable httpd

为 Apache Web 服务器创建虚拟主机

在 Apache 上创建虚拟主机非常有用。

您可以使用一组不同的自定义规则定义多个网站,而不是在 Web 服务器上存储一个网站。每个网站可以有自己的一套策略规则,自己的 SSL 密钥和自己的重定向。

它使网站管理更加容易,并使网站彼此分离。

为了在 CentOS 8 上为 Apache 创建虚拟主机,我们将以一个名为“linuxmi.com”的网站为例。

创建域文件夹

默认情况下,文件存储在主机上的“/var/www/html”中。

/var/www
├── cgi-bin
├── html

此路径也称为“DocumentRoot”(文档根目录),它用作服务器上网站的默认入口点。

为了存储多个网站,您需要在“/var/www/”中创建多个文件夹,并修改 httpd 配置文件以指向这些目录。

在本例中,让我们创建以下目录结构。

[root@localhost html]# tree -Ld 2 /var/www

/var/www
├── cgi-bin
├── html
└── linuxmi.com
    ├── html
    └── log

为您的新网站创建专用文件夹。

[root@localhost html]# mkdir -p /var/www/linuxmi.com/html

确保创建文件以存储网站的日志文件。

[root@localhost html]# mkdir -p /var/www/linuxmi.com/log

5 分钟学会在 CentOS 8 上安装 Apache

创建您的第一个 HTML 页面

现在您的文件夹已准备就绪,您可以创建要显示给用户的第一个 HTML 页面。

创建一个名为“index.html”的新 HTML 文件,并将以下内容粘贴到其中。

$ cd /var/www/linuxmi.com/html
$ sudo vi index.html

<!doctype html>

<html lang=”zh-cn”>
<head>
  <meta charset=”utf-8″>

  <title>LinuxMi.com</title>
  <meta name=”description” content=”linuxmi.com Homepage”>
  <meta name=”author” content=”devconnected”>
</head>

<body>
  这是 LinuxMi.com 的索引页,欢迎您!
  这是 www.linuxidc.com 的索引页,欢迎您!
</body>
</html>

保存文件,然后退出编辑器。

现在您的网站已经准备就绪,我们可以通过创建虚拟主机文件来发布您的网站。

在 CentOS 8 上创建虚拟主机文件

如前所述,为了发布您的网站,我们将创建一个虚拟主机文件。

与 NGINX 类似,我们将创建两个目录:

  • sites-available:包含我们 Web 服务器上可用网站的完整列表。默认情况下,不一定要启用这些网站,这是第二个文件夹的目的。
  • sites-enabled:该容器包含用户可访问的网站列表。将在此目录中创建一个符号链接,以便根据需要激活和取消激活网站。

首先,在主机上创建这两个目录。

$ sudo mkdir -p /etc/httpd/sites-enabled /etc/httpd/sites-available

现在已经创建了文件夹,然后编辑默认的 Apache 配置并找到以下行。

$ sudo vi /etc/httpd/conf/httpd.conf

# Load config files in the “/etc/httpd/conf.d” directory if any
IncludeOptional conf.d/*.conf

用以下行替换此行。

IncludeOptional sites-enabled/*.conf

现在,您的 Apache Web 服务器配置已更新,为“linuxmi.com”网站创建一个虚拟主机文件。

$ sudo vi /etc/httpd/sites-available/linuxmi.com.conf

在其中粘贴以下配置。

<VirtualHost *:80>
    ServerName linuxmi.com
    ServerAlias www.linuxmi.com
    DocumentRoot /var/www/linuxmi.com/html
    ErrorLog /var/www/linuxmi.com/log/error.log
    CustomLog /var/www/linuxmi.com/log/requests.log combined
</VirtualHost>

保存文件,并通过运行以下命令确保配置正确。

$ sudo apachectl configtest
Syntax OK

现在,重新启动 Apache Web 服务器就无法直接访问您的网站,它必须位于 sites-enabled 的文件夹中。

要将其链接到启用站点的目录,请使用此命令创建符号链接。

$ sudo ln -s /etc/httpd/sites-available/linuxmi.com.conf /etc/httpd/sites-enabled/linuxmi.com.conf

更新您的 SELinux 防火墙规则

默认情况下,SELinux 被配置为与默认的 Apache 配置文件夹一起使用。

创建自定义项时,需要在 SELinux 中启用它们。

为了正确启动 Apache Web 服务器,您需要修改 Apache 策略以包括自定义日志目录。

要启用自定义目录,请运行以下命令

$ sudo setsebool -P httpd_unified 1

重新启动您的 Apache 服务器

现在,一切都已正确设置,是时候重新启动服务器以查看更改了。

$ sudo systemctl restart httpd

转到您在虚拟主机文件中指定的 URL,您应该可以看到您的网站正在运行。(见本文最上面截图)

总结

在本教程中,您学习了如何在 CentOS 8 上安装 Apache。

您还学习了如何设置虚拟主机,以便在单个 Apache Web 服务器上存储许多不同的网站。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5300字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992895
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...