免费建设自主管理的独立站点

我将介绍如何在互联网中搭建自己的站点,并且全程不花一分钱。
要复现下文的操作,你至少需要自备:

  • 科学上网
  • 电子邮件账户
  • 有效身份证
  • 一定的英语能力或使用翻译工具的能力

关于搭建网站的教程屡见不鲜,许多dalao都讲过自己博客的部署过程。稍微总结一下我们知道,要在2020年建设由自己管理的独立站点,你需要:

  1. 一台连接公网的服务器
  2. 像样的域名和域名解析服务
  3. SSL证书
  4. 程序源码

本文内容的特点是白嫖,下面我们一个一个piao。
提示:本文不面向纯小白,且下文均不介绍各种账号的注册,需自行操作,使用富强上网可能会带来便利。
更新:演示域名已失效,请勿访问。


1.服务器

一针见血地说,搭建个人网站用不上VPS,更用不上服务器,一台虚拟主机足矣。再不济我们还可以用稳定的Github/CODING的Pages服务(免费,本文不讲)。
因为是白嫖,所以我们就不对比复杂的性能参数了。以下的网站都提供免费的虚拟主机:

我们以第四个为例,注册并登陆后在网站列表(My Websites)找到新建网站(Create New Site)按钮,按提示输入网站的域名和密码。这两项都可以自动生成,但是建议自己填。
提示:网站密码、账户密码,以及后面的数据库密码分别独立。
image.png
注意选择免费版套餐,等待片刻,完成后我们会得到这样一个选项卡,鼠标放在上面会显示管理站点(Manage Website)按钮。
image.png
点击上面按钮可进入控制台(Dashboard),此处将展示网站的状态和提供可用的操作选项。
大多数PHP程序都会用到MySQL数据库,如果需要,可按下面的步骤获得免费的数据库。
在控制台页面,找到数据库(Databases)一栏,点击第一项
image.png
进入后点击新建数据库(New Database),例如我填写的数据库名(Database name)和数据库用户名(Database username)都是“typ”,则得到以下信息:
image.png
至此我们得到了一台免费的自带数据库的虚拟主机,使用我们一开始填写的域名(如https://4ourxyz.000webhostapp.com/)可以临时访问。
新增问题:

5.000webhost将会内嵌广告
6.国内访问奇慢


2.域名解析

随虚拟主机赠送的二级域名太长了,所以我们换掉它。
以下的网站提供免费的可修改NS地址的域名:

第一个提供.tk .ml .cf .ga .gq后缀的顶级域名,第二个提供.eu.org后缀的域名。我们以后者为例。
而免费的域名解析服务太多了,这里我就直接内定以Cloudflare为例了。(自带HTTPS,将提供便利)
首先进入EU.org官网或点此注册账户,注册后登录可进入域名列表界面,此处将展示你拥有哪些域名以及提供可用的设置项。其UI设计非常简洁明了。
image.png
点击新建域名(New Domain),第一个空需要填写包含后缀的完整域名,例如:sgfox.eu.org。其他信息酌情填写,均无真实性验证。
更新:新政策下申请eu.org域名可能面临数月的审核期。
image.png
最后的Name severs一栏需如图选择和填写,验证(Check for correctness)时不需要获得回应(replies)。
image.png
然后到Cloudflare注册并登录后台(Home),点击新建站点(Add a site)添加刚刚注册的域名(如sgfox.eu.org),通过验证后新域名将出现在后台主页。
image.png
单击该域名并选择“DNS”设置,添加CNAME解析到主机商提供的默认域名。
提示:本文想要优先www访问,故名(Name)填写“www”;此时需确保使用加密服务(Proxied)。
image.png
等待片刻后,来到000WebHost的控制面板(Dashboard)中域名(Domains)一栏,选择第一项停放域名(Parked Domains)。
image.png
然后点击新建(Add domain)并选择指向域名(Point domain),填写你在DNS服务商的记录然后保存(Save)。
image.png
至此我们得到了一个免费的看起来还不错的域名,使用该域名(如https://www.sgfox.eu.org/)也可以访问。


3.HTTPS

国内无法直接用HTTP访问eu.org后缀的域名,但是使用HTTPS协议可以。
因为我们在Cloudflare设置解析的时候开启了它自带的加密(Proxied),所以我们的的网站可以从国内直接用HTTPS访问。
但是非常慢。
于是我们需要免费的SSL证书,最好是可自主迁移的证书。
以下的服务商提供免费的SSL证书:

  • Cloudflare
  • TrustAsia
  • Let’s Encrypt
  • 阿里云

我们不从官网进入,我们使用FreeSSL提供的工具来申请证书。
以TrustAsia为例,输入完整域名(sgfox.eu.org),按要求操作。
提示:推荐的CSR生成模式为浏览器生成,不需要安装额外的软件。
image.png
此处需要用Cloudflare的解析服务来验证,请按要求操作。
完成验证后建议下载zip格式的证书文件包并妥善保存。FreeSSL也将为你保存证书,证书有效期为1年。
image.png
至此我们得到了一个免费的可迁移的SSL证书。


4.博客程序安装

免费的博客程序数不胜数,本文我们以Z-BlogPHP为例。
Z-Blog的优势在于其简单易用,你也可以选择其他PHP程序。(经测试,Typecho安装时无法连接数据库)
首先在Z-BlogPHP官网下载最新正式版的程序备用。
来到000WebHost的控制台,在文件(File)一栏,我们使用其自带的文件管理器(File Manager)。
提示:网站名(Website Name)是完整域名:如4ourxyz.000webhostapp.com
image.png
先删除public_html下所有文件,然后将程序包解压到网站根目录(public_html)即可。
完成时你的public_html目录应含有以下内容:
image.png
如果上面方法不好用,你还可以使用FTP:(推介在线FTP工具:net2ftp/景安)
image.png
完成后访问我们的域名,将自动跳转到安装界面,安装时需提供上文的数据库信息。
提示:安装时请使用加密的最终域名(如https://www.sgfox.eu.org/)访问,否则后面操作会遇到麻烦。
至此我们得到了一个完整的独立站点。


5.清除内嵌广告

如下广告由000WebHost提供,关闭需要付费升级(Upgrade)。
image.png
但是我们不付费。
先访问ZBlog后台,地址如https://www.sgfox.eu.org/zb_system/login.php
登录后台后在右上角选择“网站设置”,在“版权说明”的末尾加上:
<!--
然后保存。
image.png
至此我们的网站前台将不再显示000WebHost的广告。


6.CDN加速

Cloudflare的速度在国内确实不行,此处我们考虑使用阿里云的全站加速服务。(开通全站加速之前须实名认证并先开通CDN)
image.png
可是阿里云怎么白嫖呢?
是的,阿里云按流量计费的全站加速服务是后付费的,并且海外节点价格较低。我们的站点访问流量不太大的情况下,月度消费往往不超过一毛钱。这种情况下阿里会自动帮我们抹掉零头,也就是免费了。
例如,我只在阿里云充值过6元人民币,至今没扣过余额。
image.png
在全站加速控制台按提示添加域名:
image.png
等待片刻,域名通过审核后在你的DNS服务商更改解析
提示:使用阿里云CDN时需取消Cloudflare自带的加密服务(DNS only),并在阿里云控制台另外开启HTTPS。
image.png
在阿里云开启HTTPS,此处不建议选右边的免费证书,我们选择中间的自定义证书即可。
提示:前面的SSL证书如果选择从阿里云申请,则此处可直接选“云盾”便捷导入。
image.png
证书内容即为full_chain.pem的第一段内容,私钥即为private.key内容。
image.png
至此我们配置了阿里云的HTTPS全站加速。


总结

我们依次获得了下列服务,除SSL证书为一年有效期(可免费续期),其余均理论永久有效。总支出:0

  1. 一台连接公网的服务器:000WebHost
  2. 像样的域名和域名解析服务:EU.org Cloudflare
  3. SSL证书:TrustAsia
  4. 程序源码:Z-BlogPHP
  5. 000webhost将会内嵌广告:HTML注释
  6. 国内访问奇慢:阿里云加速

感谢以上服务,我们拥有了一个自主管理的独立站点,且在国内可以较好地访问。