Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

一、安装apache2

1
2
sudo apt-get update
sudo apt-get install apache2

然后在地址栏输入公网IP看是否能访问到如下页面

image

此时网站的页面在/var/www/html/目录下,修改即可

二、配置多网站

如果想要一个服务器配置多个网站比如 jeanhua.cn 和 blog.jeanhua.cn(通过主机头来区分)

在Apache的配置目录中(通常是/etc/apache2/sites-available),为每个网站创建一个新的配置文件。

对于blog.jeanhua.cn:

1
sudo nano /etc/apache2/sites-available/blog.jeanhua.cn.conf

添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
ServerAdmin **@qq.com # 这里是你的邮箱
ServerName blog.jeanhua.cn # 域名
ServerAlias www.blog.jeanhua.cn # 别名
DocumentRoot /var/www/blog # 网页根目录

<Directory /var/www/blog>
Options Indexes FollowSymLinks #这里建议把 Indexes 去掉,避免网页目录结构暴露
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

对于jeanhua.cn:

1
sudo nano /etc/apache2/sites-available/jeanhua.cn.conf

添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
ServerAdmin # 这里填邮箱
ServerName jeanhua.cn # 域名
ServerAlias www.jeanhua.cn # 别名
DocumentRoot /var/www/html # 网页根目录

<Directory /var/www/html>
Options Indexes FollowSymLinks #这里建议把 Indexes 去掉,避免网页目录结构暴露
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

接下来启用配置

1
2
sudo a2ensite blog.jeanhua.cn.conf
sudo a2ensite jeanhua.cn.conf

注意:如果你的服务器上已经有一个默认的虚拟主机配置(通常名为000-default.conf),并且你不想使用它,你可以通过运行下面的命令来禁用它

1
sudo a2dissite 000-default.conf

最后,重载Apache配置以应用更改:

1
sudo systemctl reload apache2

三、配置https

正常情况下到上面已经结束了,但是我们访问时浏览器经常提示页面不安全,于是我们要配置https,同时提升网站安全性。

1.安装 Certbot

Certbot 是一个自动化的证书颁发和管理工具,可以用来获取 Let’s Encrypt 的证书。

1
2
sudo apt-get update
sudo apt-get install certbot python3-certbot-apache

2.获取 SSL 证书

使用 Certbot 获取 SSL 证书,同时自动修改 Apache 配置文件以启用 HTTPS。

对于 blog.jeanhua.cn:

1
sudo certbot --apache -d blog.jeanhua.cn -d www.blog.jeanhua.cn

对于 jeanhua.cn:

1
sudo certbot --apache -d jeanhua.cn -d www.jeanhua.cn

在过程中,Certbot 可能会询问你一些问题,比如你的电子邮件地址和是否需要自动重定向 HTTP 流量到 HTTPS,请输入你的邮箱并稍后前往邮箱点击链接验证

3.检查 Apache 配置

Certbot 应该已经自动修改了 Apache 的配置文件,为每个域名添加了 HTTPS 虚拟主机配置。你可以通过以下命令来检查配置文件:

1
2
sudo nano /etc/apache2/sites-available/blog.jeanhua.cn-le-ssl.conf
sudo nano /etc/apache2/sites-available/jeanhua.cn-le-ssl.conf

4.启用 SSL 虚拟主机

如果 Certbot 没有自动启用新的 SSL 虚拟主机配置文件,你可以手动启用它们:

1
2
sudo a2ensite blog.jeanhua.cn-le-ssl.conf
sudo a2ensite jeanhua.cn-le-ssl.conf

5.重启 Apache

1
sudo systemctl restart apache2

大功告成,现在访问你的页面应该可以看到是https安全的了

评论