如何在 CentOS 9 上安装和配置 Apache 网站服务器


嘿,朋友!想在你的 CentOS 9 服务器上搭建一个网站吗?那 Apache 可谓是你的得力助手。作为世界上最流行的网页服务器之一,Apache 稳定、功能强大且社区支持广泛。 这篇教程将手把手带你完成在 CentOS 9 上安装和配置 Apache 的全过程,保证你轻松上手!

咱们开始吧!

第一步:安装 Apache

首先,咱们得把 Apache “请”到服务器上。在 CentOS 9 中,这事儿非常简单,只需要一个命令就能搞定。打开你的终端,输入下面的命令:

sudo dnf install httpd -y

这个命令会使用 dnf 包管理器(yum 在新版 CentOS 中其实也是指向 dnf)来安装 Apache HTTP 服务器(在 CentOS 中它的软件包名叫 httpd)。 -y 参数的意思是,在安装过程中遇到任何提示都自动回答“yes”,省去我们手动确认的麻烦。

第二步:启动并设置开机自启

安装好了之后,Apache 服务并不会自动运行。我们需要手动启动它,并且最好将它设置为开机自启,这样以后服务器重启了,网站服务也能自动恢复,岂不美哉?

继续在终端里敲入以下命令:

# 启动 Apache 服务
sudo systemctl start httpd

# 设置 Apache 服务开机自启
sudo systemctl enable httpd

systemctl start httpd 负责启动服务,而 systemctl enable httpd 则创建了一个符号链接,让系统在下次启动时自动运行 Apache。

想知道 Apache 是不是真的成功运行起来了?可以用这个命令来检查一下它的状态:

sudo systemctl status httpd

如果你看到绿色的 “active (running)” 字样,那就说明一切正常!

第三.步:配置防火墙

CentOS 9 默认开启了防火墙,这是一个很好的安全习惯。但这也意味着,防火墙会把外部访问我们网站的请求(默认是 80 端口)给拦下来。所以,我们需要给防火墙开个“口子”。

执行下面的命令,允许 HTTP 和 HTTPS 的流量通过:

# 永久允许 HTTP 服务
sudo firewall-cmd --permanent --add-service=http

# 永久允许 HTTPS 服务(为以后开启 HTTPS 做准备)
sudo firewall-cmd --permanent --add-service=https

# 重新加载防火墙规则,让设置生效
sudo firewall-cmd --reload

这样,你的网站就能被外界访问到了。

第四步:验证安装

万事俱备,只欠东风!现在是时候验证我们的劳动成果了。打开你的浏览器,在地址栏输入你服务器的 IP 地址。

如果你不知道服务器的 IP 地址,可以在终端里输入 ip a 来查看。

如果一切顺利,你应该能看到一个 Apache 的默认欢迎页面。 这说明你的 Apache 网站服务器已经成功安装并运行了!

案例:配置一个简单的虚拟主机

现在,你已经有了一个可以工作的网站服务器。但如果你想在一台服务器上托管多个网站怎么办呢?这就需要用到“虚拟主机”(Virtual Host)了。 咱们来实践一下,假设你要为 your-domain.com 这个域名配置一个网站。

1. 创建网站目录

首先,我们为新网站创建一个独立的目录来存放网页文件:

sudo mkdir -p /var/www/your-domain.com/html

2. 创建一个示例页面

然后,在这个新目录里创建一个简单的 HTML 文件作为网站首页:

echo "Hello, welcome to your-domain.com!" | sudo tee /var/www/your-domain.com/html/index.html

3. 设置正确的权限

为了让 Apache 能够读取这些文件,我们需要把目录的所有权交给 Apache 的运行用户(默认是 apache):

sudo chown -R apache:apache /var/www/your-domain.com

4. 创建虚拟主机配置文件

接下来,在 /etc/httpd/conf.d/ 目录下创建一个新的配置文件。这个目录下的 .conf 文件都会被 Apache 自动加载。

sudo nano /etc/httpd/conf.d/your-domain.com.conf

然后,把下面的内容复制粘贴进去:

<VirtualHost *:80>
    ServerName your-domain.com
    ServerAlias www.your-domain.com
    DocumentRoot /var/www/your-domain.com/html
    ErrorLog /var/log/httpd/your-domain.com-error.log
    CustomLog /var/log/httpd/your-domain.com-access.log combined
</VirtualHost>

代码解析:

  • <VirtualHost *:80>: 定义了一个监听所有 IP 地址 80 端口的虚拟主机。
  • ServerName: 你的主域名。
  • ServerAlias: 你的别名域名,比如带 www 的版本。
  • DocumentRoot: 你网站文件的根目录,也就是我们之前创建的那个。
  • ErrorLogCustomLog: 指定这个站点的错误日志和访问日志存放位置,方便排查问题。

5. 重启 Apache

最后,为了让新的配置生效,我们需要重启 Apache 服务:

sudo systemctl restart httpd

现在,如果你将 your-domain.com 这个域名解析到你的服务器 IP,再通过浏览器访问,你就会看到我们刚刚创建的 “Hello, welcome to your-domain.com!” 这个页面了,而不是默认的欢迎页。

恭喜你!你已经成功在 CentOS 9 上安装并配置了 Apache 网站服务器,并且还学会了如何设置虚拟主机来托管多个网站。接下来,你就可以上传你的网站代码,开始你的建站之旅啦!


  目录