Ubuntu 服务器利用Apache 2搭建一个简单的网站

♀尐吖头ヾ 提交于 2020-08-06 14:19:58

如题,直接进入正文吧




Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl,Python解释器编译到服务器中。来自于百度百科

之前弄了个域名,由于一直忘了备案,前几天腾讯发通知,要求45天内备案,于是今天下午备案了。这样,域名不能解析了,而服务器也很久没用了,里面没什么重要东西(本地都有备份的),为了安全起见,重新装了系统。

虽然域名还在审核,但是想做个简单的网站还是不难的(现在搭建网站好像都要实名制并且备案了),我们使用Apache就可以做到了。

环境:Ubuntu Server 18.04.1 LTS 64位,Xshell

Apache 2的安装

首先更新存储库:

sudo apt-get update

之后安装Apache2:

sudo apt install apache2

安装过程出现 (y/n) 时,输入y或者回车进行安装即可。

这里是我之前已经安装好了的。

接下来,确认是否安装Apache2,并检验其版本:

apache2 -version

表明已经成功安装Apache2了


Apache 2的配置

现在配置Apache,我们需要允许外部访问服务器的某些Web端口,并在服务器的UFW防火墙上允许Apache。

首先列出我们启用Apache访问所需的应用程序配置文件。

sudo ufw app list

三个Apache配置文件都提供不同级别的安全性; Apache是一个提供最大限制但端口80仍处于打开状态的Apache。

之后,在UFW上允许Apache并验证其状态

sudo ufw allow 'Apache'

现在将在防火墙上显示启用Apache。

sudo ufw status

接下来,验证Apache服务是否正在运行。

sudo systemctl status apache2

状态:active(running)表示其正在运行。

验证Apache是否正常运行并侦听您的IP地址。

hostname -I

这里给出的ip是我服务器的内网ip,在浏览器中是无法打开的,而此时公网ip是可以解析的。

将你服务器的公网ip复制到浏览器的地址栏,打开:

显示Apache默认网页。

在Apache中设置虚拟主机

虚拟主机类似于Nginx中的服务器块。 它用于管理来自一个服务器的多个域的配置。 我们将提供一个如何通过Apache服务器设置虚拟主机的示例。 我们将使用Apache for Ubuntu 18中默认启用的服务器块来建立一个名为 ourtest.com(名字随意) 的网站。

我们先看看这个默认的apache网页。

cd /var/www/html
ls
cat index.html

index.html 文件部分内容如下:

仔细观察,发现它显示的内容和默认的apache网页是一样的,接下来,我们来搭建个自己的网页。

默认情况下启用的服务器块能够提供来自 /var/www/html的文档。 但是,我们将在/var/www/ 创建一个目录,同时保留默认目录。

通过以下命令创建此目录,将ourtest.com替换为你自己的域名。

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

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

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

现在让我们创建一个索引页面,就可以访问它。 通过 vi 编辑器或其他文本编辑器创建HTML文件。

vi /var/www/ourtest.com/html/index.html

为索引页输入一些内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>2019/2/13</title>
</head>
<body>
    <h1>武汉加油,中国加油!</h1>
</body>
</html>

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

sudo vi /etc/apache2/sites-available/ourtest.com.conf

输入域名的以下自定义配置详细信息:

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

更换的内容为你自己的域名。

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

sudo a2ensite ourtest.com.conf

输出将建议激活新配置,但我们可以在运行以下禁用原始配置文件的命令后集体执行此操作:

sudo a2dissite 000-default.conf

现在重启Apache服务:

sudo systemctl restart apache2

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

sudo apache2ctl configtest

一切正常!

Apache服务器现在配置为你之前设置的域名。在Web浏览器中输入你的服务器名称来验证:

http://www.ourtest.com

呃......

有点尴尬...

我们来试试用公网ip吧。

这便是我们之前设定的页面了,该文是我边写边操作的,我也没想到这个域名被注册了,理解万岁,理解万岁...

现在注册域名都需要备案了,所以通过这种方式可能无法域名访问,但是通过服务器公网ip是可以的。

本文参考了Linux 公社的一篇文章,如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器

原文还有解决网页中文乱码的问题,若出现相关问题,可以查看并解决。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!