|
|
|
|
公众号矩阵

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

如果您从未使用过Apache Web服务器部署网站,本文将教您如何部署。

作者:布加迪编译来源:51CTO|2020-10-22 08:00

【51CTO.com快译】我时常发现,冷静下来捊一捊基础知识是好事。这不仅有助于使我成为一名技术撰稿人,还可以帮助在摸索学习我所介绍的任何技术的许多读者。

这次介绍的是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。如果您只需要基本的服务器软件,可以打开终端、执行以下命令:

  1. sudo apt-get install apache2 -y 

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

  1. sudo apt-get install lamp-server^ 

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

  1. sudo systemctl enable apache2 

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

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

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

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

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

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

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

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

  1. <!DOCTYPE html> 
  2. <html> 
  3. <body> 
  4. <h1>Hello, TechRepublic!</h1> 
  5. <p>How are you doing?</p> 
  6. </body> 
  7. </html> 

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

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

如何为Apache创建网站?

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. <VirtualHost *:80> 
  2.     ServerAdmin admin@example.com 
  3.     ServerName example.com 
  4.     ServerAlias www.example.com 
  5.     DocumentRoot /var/www/html/test 
  6.     ErrorLog ${APACHE_LOG_DIR}/error.log 
  7.     CustomLog ${APACHE_LOG_DIR}/access.log combined 
  8. </VirtualHost> 

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

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

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

  1. sudo a2ensite test.conf 

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

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

  1. sudo systemctl reload apache2 

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

您刚安装了Apache Web服务器,编辑了index.html文件,然后创建了自己的虚拟主机。您可以进而创建启用所需的Apache服务的所有网站。

原文标题:How to use the Apache web server to install and configure a website,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. DNS与服务器搭建-Linux每日一练
  2. 假如 Web 当初不支持动态化
  3. 你真的深知JWT(JSON Web Token)了吗?
  4. 仅需 5 分钟,快速优化 Web 性能的10 个手段
  5. 微软Edge WebView2控件正式发布
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

26人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

189人订阅学习

搭建数据中心实验Lab

搭建数据中心实验Lab

实验平台Datacenter
共5章 | ITGO(老曾)

118人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微