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

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

196次阅读
没有评论

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