Ubuntu 服务器利用Apache 2搭建一个简单的网站
如题,直接进入正文吧
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服务器
原文还有解决网页中文乱码的问题,若出现相关问题,可以查看并解决。