如何使用Apache Web服务器来安装和配置网站?

如何使用Apache Web服务器来安装和配置网站?

这次介绍的是Apache Web服务器,这款软件存在已有数十年,可以轻松地为大小网站提供服务,运行顺畅。Apache可与MySQL、PHP及另外大量软件包无缝协作,以便您架设简单的静态或动态网站。

如何安装和配置服务器?您将文件放置在哪里?

不妨介绍这方面,每次一个步骤。我将在Ubuntu Server 20.04上进行演示。

不过先介绍一点基础知识。

基于Ubuntu的发行版和基于Red Hat的发行版之间的区别

之所以要指定我使用哪个Linux发行版,是因为对于Apache而言,基于Ubuntu的发行版和基于Red Hat的发行版从安装到配置都不一样。比如说,在基于Red Hat的发行版上,Apache​​通过httpd软件包安装,而在基于Ubuntu的发行版上,apache2软件包就能完成这项任务。另一个区别是在何处以及如何配置Apache。在基于Red Hat的发行版中,许多Apache配置将在/etc/httpd/conf/httpd.conf中进行。而在基于Ubuntu的发行版中,配置位于/etc/apache2/apache2.conf和/etc/apache2/sites-available/中。还有更多的差异,不过您应大致明白了。

如何在Ubuntu服务器上安装Apache?

可以通过多种方式在Ubuntu上安装Apache。如果您只需要基本的服务器软件,可以打开终端、执行以下命令:

sudo apt-get install apache2 -y 

然而,如果您想要一套成熟的Linux Apache MySQL PHP(LAMP)堆栈,可以执行以下命令:

sudo apt-get install lamp-server^ 

一旦运行上述任何一个命令,可启动并运行Apache。您还需要确保启用Apache,以便服务器重启(或引导)后开始运行。为此,执行以下命令:

sudo systemctl enable apache2 

可以通过打开Web浏览器并将其指向http://SERVER_IP(其中SERVER_IP是托管Apache的服务器的IP地址),验证安装。您会看到Apache欢迎页面(图A)。

如何使用Apache Web服务器来安装和配置网站?

图A. 在Ubuntu服务器上运行的官方Apache欢迎页面

Apache提供的是什么页面?如果您查看/var/www/html,会找到index.html文件,对其进行更改。

返回终端窗口,使用以下命令重命名该index.html文件:

sudo mv /var/www/html/index.html /var/www/html/index.html.bak 

现在,不妨创建一个新的欢迎文件。执行以下命令:

sudo nano /var/www/html/index.html 

在该文件中,粘贴以下内容:

<!DOCTYPE html> 
<html> 
<body> 
<h1>Hello, TechRepublic!</h1> 
<p>How are you doing?</p> 
</body> 
</html> 

保存并关闭文件。在浏览器中重新加载该网页,您应该会看到变化(图B)。

如何使用Apache Web服务器来安装和配置网站?

图B. 我们新的index.html页面由Apache提供

如何为Apache创建网站?

我们现在要做的是创建一个虚拟主机供Apache服务。虚拟主机是Apache所服务的网站的俗称。可以在单单一台Apache服务器上提供众多虚拟主机。实际上,您只受限于托管服务器的功能和网络的带宽。

因此,不妨创建一个名为test的虚拟主机。

我们要做的第一件事是使用以下命令创建一个容纳测试的目录:

sudo mkdir -p /var/www/html/test 

接下来,我们将使用以下命令为新目录赋予适当的所有权:

sudo chown -R $USER:$USER /var/www/html/test 

最后,我们将使用以下命令授予适当的权限:

sudo chmod -R 755 /var/www/html/test 

使用以下命令将新的index.html文件拷贝到测试目录中:

sudo cp /var/www/html/index.html /var/www/html/test/ 

现在我们要创建虚拟主机配置,以便Apache知道测试在哪里。测试将位于/etc/apache/sites-available中。为此,我们将使用以下命令创建test.conf文件:

sudo nano /etc/apache2/sites-available/test.conf 

在该文件中粘贴以下内容:

<VirtualHost *:80> 
    ServerAdmin admin@example.com 
    ServerName example.com 
    ServerAlias www.example.com 
    DocumentRoot /var/www/html/test 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

上面最重要的一行以DocumentRoot开头,这指示Apache在何处可以找到虚拟主机的文件。保存并关闭该文件。

至此,我们已创建了容纳文件的目录,赋予了适当的所有权和权限,并为虚拟主机创建了配置。然而,Apache仍然不知道新网站。为什么?因为配置文件位于sites-available中。我们要做的是从该配置创建一个链接到/etc/apache2/sites-enabled目录。仅在sites-available中找到的那些配置才在Apache服务器上处于活动状态。

在非Ubuntu服务器上,您要使用ln(代表link)命令来执行此操作。然而,Ubuntu上有一个方便的实用程序,它将为您创建该网站。这个实用程序就是a2ensite。如果我们运行命令:

sudo a2ensite test.conf 

我们的测试虚拟主机随后将被启用。

该命令成功执行后,您要使用以下命令重新加载Apache(它将仅重新加载配置文件,而不重新启动Web服务器):

sudo systemctl reload apache2 

现在,如果您将浏览器指向http://SERVER_IP/test(其中SERVER_IP是服务器的IP地址),应该会看到与使用基本的index.html文件相同的Hello,TechRepublic欢迎信息,只是它是从新创建的虚拟主机提供的。

相关推荐