当前位置: 首页>>技术教程>>正文


如何在Ubuntu上安装和配置Apache Web Server

,

什么是Apache Web服务器?

Apache或Apache HTTP服务器是由Apache Software Foundation开发和维护的免费开放源Web服务器。可以通过以下事实来判断其受欢迎程度:全球大约46%的网站由Apache提供支持。 Apache允许网站开发人员通过Web服务其内容。当用户在浏览器的地址栏中输入域名时,它可以通过传递用户请求的文件来充当传递人。

本教程是关于在Ubuntu系统上安装和配置Apache2。本文提到的命令和过程已在Ubuntu 18.04 LTS系统上运行。由于本文使用的是Ubuntu命令行,即Terminal。您可以通过系统Dash或Ctrl + Alt + T捷径。

在Ubuntu Linux上安装Apache 2

请按照以下步骤操作,以通过Ubuntu官方存储库安装Apache2软件。

步骤1:更新系统存储库

您可以通过首先更新Ubuntu存储库的本地软件包索引来下载软件的最新版本。打开终端并且输入以下命令为了这样做:

$ sudo apt update

Update Ubuntu repositories

步骤2:使用apt命令安装Apache 2

接下来,输入以下命令作为sudo来安装Apache2及其必需的依赖项:

$ sudo apt install apache2

Install Apache web server with apt

可能会提示您使用y /n选项继续安装。请输入Y,然后将开始安装过程。

步骤3:验证Apache安装

安装完成后,可以输入以下命令来检查版本号,从而验证系统上确实安装了Apache2:

$ apache2 -version

Check installed Apache version

配置防火墙设置

为了配置Apache,我们首先需要允许外部访问我们系统的某些Web端口,并允许UFW防火墙上使用Apache。

步骤1:列出UFW应用程序配置文件

为了配置防火墙,让我们首先列出启用访问Apache所需的应用程序配置文件。使用以下命令列出此类可用的应用程序:

$ sudo ufw app list

List App presets in UFW Firewall

广告

在上面的输出中,您可以看到三个提供不同级别安全性的Apache配置文件。 Apache是​​最大开放端口80的限制。

步骤2:允许UFW上的Apache并验证其状态

允许UFW上的Apache将打开端口80进行网络通信,同时为服务器提供最大的安全性。请通过以下命令配置UFW以允许Apache:

$ sudo ufw allow 'Apache'

Open Apache ports in UFW

UFW的状态现在将显示在防火墙上启用的Apache。

$ sudo ufw状态

配置Apache Web服务器设置

步骤1:验证Apache服务正在运行

第一步是通过以下命令验证Apache2服务已启动并正在系统上运行:

$ sudo systemctl status apache2

Check Apache status

状态“活动(运行)”验证apache2服务正在运行。

步骤2:验证Apache是​​否正常运行并监听您的IP地址

您还可以通过从Apache服务器请求页面来验证Apache是​​否正在运行。为此,您可以使用服务器的IP来访问Apache登陆页面。

使用以下命令了解您服务器的IP:

$ hostname -I

Get server IP addresses

然后在您的Web浏览器中尝试从输出中逐一尝试IP,如下所示:

就我而言,是http://192.168.100.4和http://192.168.100.5。这样做将显示以下适用于Ubuntu的Apache网页,验证Apache服务器是否正常运行。

Apache default page

在Apache中设置虚拟主机

虚拟主机类似于Nginx中的服务器块。它用于管理来自一台服务器的多个域的配置。我们将提供一个示例,说明如何通过Apache服务器设置虚拟主机。我们将使用默认情况下在Apache中为Ubuntu 18启用的服务器块来建立一个名为sampledomain.com的网站。

步骤1:设定网域名称

默认情况下启用的服务器块能够从/var /www /html提供文档。但是,我们将在/var /www /创建目录,而保留默认目录不变。

通过以下命令创建此目录,用您各自的域名替换sampledomain.com。

sudo mkdir -p /var/www/sampledomain.com/html

Create the directory for virtual host

然后通过以下命令分配目录的所有权:

sudo chown -R $USER:$USER /var/www/sampledomain.com/html
sudo chmod -R 755 /var/www/sampledomain.com

Change directory ownership

现在让我们创建一个索引页面,以后可以访问它以测试Apache是​​否正在运行我们的域名。通过Nano编辑器或任何您喜欢的文本编辑器创建HTML文件。

$ nano /var/www/sampledomain.com/html/index.html

为索引页面输入以下HTML:

<html>
<head>
<title>Welcome to the page sampledomain.com!</title>
</head>
<body>
<h1>You got Lucky! Your sampledomain.com server block is up!</h1>
</body>
</html>

Sample index page

我们正在使用nano编辑器来创建HTML文件。

您可以使用Ctrl + X将文件保存在nano中,然后输入Y并按Enter。

Apache需要一个虚拟主机文件来提供服务器内容。为此目的的默认配置文件已经创建,但是我们将为自定义配置创建一个新的配置文件。

$ sudo nano /etc/apache2/sites-available/sampledomain.com.conf

为我们的域名输入以下定制的配置详细信息:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName sampledomain.com
ServerAlias www.sampledomain.com
DocumentRoot /var/www/sampledomain.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Apache vhost file

我们正在使用nano编辑器来创建此.conf文件。

您可以通过使用将文件保存在nano中Ctrl + X然后输入Y,然后按Enter。

步骤2:启用域配置文件

让我们启用使用a2ensite工具创建的配置文件:

$ sudo a2ensite sampledomain.com.conf

Enable config file in apache

输出将建议激活新配置,但是我们可以在运行以下禁用原始配置文件的命令后共同完成所有操作:

$ sudo a2dissite 000-default.conf

Disable default website

现在重新启动Apache服务:

$ sudo systemctl restart apache2

步骤3:测试错误

最后,让我们通过以下命令测试是否存在任何配置错误:

$ sudo apache2ctl configtest

如果没有任何错误,您将获得以下输出:

Test configuration

但是,以下错误在Ubuntu 18.04中很常见

解决错误:

输入以下命令以解决上述错误:

$ echo "ServerName sampledomain.com | sudo tee /etc/apache2/conf-available/servername.conf

Resolve servername error

然后:

$ sudo a2enconf servername

Enable servername config

现在,当您再次检查错误时,将通过以下输出解决此错误:

步骤4:测试Apache是​​否正在提供您的域名

现在已将Apache服务器配置为提供您的域名。可以通过在系统上运行的任何Web浏览器中输入服务器名称来验证这一点:

索引页面应显示如下,表明Apache现在可以为您的服务器块提供服务了!

Access your website by domain name

一些常见的Apache管理命令

设置Web服务器后,您可能必须在Apache上执行一些基本管理操作。您可以在终端应用程序中输入以下命令来执行这些操作。

sudo systemctl start apache2

使用此命令作为sudo来启动Apache服务器。

sudo systemctl stop apache2

使用此命令作为sudo可以在启动模式下停止Apache服务器。

sudo systemctl restart apache2

使用此命令作为sudo可以停止然后再次启动Apache服务。

sudo systemctl reload apache2

使用此命令作为sudo可以应用配置更改,而无需重新启动连接。

sudo systemctl enable apache2

使用此命令作为sudo可以使每次启动系统时都可以启动Apache。

sudo systemctl disable apache2

使用此命令作为sudo可以禁用是否设置了每次引导系统时都可以启动的Apache。

结论

通过本文,您学习了如何在Ubuntu系统上安装和配置Apache Web服务器。这包括对UFW防火墙进行一些更改,然后为您的IP地址配置Web服务器。我们还建议您通过Apache设置虚拟主机。这将为您提供有关如何使用Apache在Internet上托管文件的基础。基本的Apache管理命令还将帮助您作为Web管理员以最佳方式管理Web服务器。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11134.html,未经允许,请勿转载。