世界上有上十亿个网站,这些网站共同组成了庞大的互联网。在这些网站中,个人网站占 $25\%$ 左右,而个人网站中,占比最多的大概就是个人博客和个人主页了,也有很多人希望拥有自己的博客/主页但受制于自己的能力水平和财力。
但是不为人知的是,其实有很多网站的架构是没有花钱的,所以我才要写这篇文章,造福各大站长。
第一步:获取主机
对于大部分(只具有一点互联网知识的)人来说,网站背后就是服务器,只能是服务器,于是他们就到处去搜免费服务器,然后得到的永远是有时限的那些。
实际上,网站后端也可以是另外一种架构:虚拟主机。这种技术使得搭建网站的成本变得更低廉,不过在大规模的网站上,服务器还是占有性能优势。
相比于云服务器,免费的虚拟主机可以说遍地都是。然而,能提供永久免费的主机的厂商却不多,但是所幸还是有的,利用 mofh1 的分销商我们可以做到这一点。
提示:mofh 是英国主机商,欧洲访问较快,大陆访问相对较慢甚至超时,注重访问速度的可以不用往下看了,Hexo + Netlify 才是最适合你的方案。
我之前也闲着,就拿了个域名去申请了分销商,也申请下来了,在这里:http://algoplst.eu.org/,注意似乎不支持 https。
找到 Sign up
按钮应该也不难,点击进入注册界面,例如我的是 http://algoplst.eu.org/signup.php
(样式炸了,不知道为什么)。
PS:实在不行,可以在网址后面加上 signup.php
碰碰运气,默认是这个,说不定就撞上了呢。
接下来按照下面这张图片来填入信息就可以(别的分销商应该也差不多,也可以用浏览器翻译一下)。
提交之后会发给你一封邮件,里面写着激活账号的链接。如果没有收到,可以在 10 分钟后点注册页面跳转到的页面那个绿色按钮重发。
打开邮件里的链接,就会显示正在创建账号了。
稍等片刻,页面显示你的账号信息时,就可以转到控制面板登录了。这时也会给你发一封邮件,里面包含账号密码和一些其它的信息。
打开给你的控制面板网址(Control panel URL),输入用户名和密码,语言(Language)可以选简体中文(Chinese_simplified),点击登录,进入控制面板管理页面。
如果跳出页面问你是否允许发邮件通知,随便点就好了。
第二步:博客系统安装
从这里开始是安装 WordPress 的教程。 | 安装 Typecho | 安装完成
在控制面板往下翻,找到 Softaculous,点进去。
进来第一个就是 WordPress,点安装(Install),填写一些相关信息:
最后翻到下面,点击安装即可。
这样安装的 WordPress,似乎要到面板里来更新,程序自己更新会出错,导致整个站废掉(别问我怎么知道的)。
从这里开始是安装 Typecho 的教程。 | 安装 WordPress | 安装完成
首先到 Typecho 官网 2 下载 Typecho。
由于是从 GitHub 下载,速度可能会较慢,可以挂梯子/使用一些公共 CDN 服务来加快下载速度。
下载完成后解压,用 FTP 连接到主机并进入 htdocs
目录,将解压出来的文件全部上传。
关于 FTP 软件:控制面板中有推荐,在 文件 > 下载FTP软件
。我用的是 WinSCP。
接下来到 MySQL 数据库页面,创建一个数据库,名称随意。
前缀 + 输入的名称
就是最终的数据库名。
打开 <主机商分配的域名>/install.php
进行安装。
数据库配置参考下面图片:
按照安装程序的指引安装即可!
关于域名
免费域名也不少,但是一个问题是,我们有的这一台主机绑定域名需要把 DNS 都绑定到它的服务器上,这在直接破碎了我们想套 CF 的美梦的同时,还把一部分免费域名拒之门外(其实不是主机拒绝,是域名提供商拒绝添加指向域名的 NS 记录)。
所幸,只要可以自定义 DNS 服务器(或者添加指向域名的 NS 记录),我们就可以绑定这个域名。
如果你想在根域上部署博客,你恐怕不得不把整个域名的 DNS 转向主机商。所以,更好的方法应该是部署一个重定向规则,将博客部署在子域下。
我有一个 4920.eu.org
域名,将我的博客部署在 blog.4920.eu.org
下,各位在绑定域名的时候要根据自己的情况更改哦。
第三步:申请 SSL 证书
如果你认为你的博客不需要 https 访问(不加密连接,大部分浏览器显示不安全),你也可以跳过这一步,但是本人还是强烈建议申请 SSL 证书,即使只是为了去掉浏览器的「不安全」标识。
打开 Let's Encrypt 证书申请网站 3(因为 Let's Encrypt 不提供直接注册渠道,只能通过第三方分发商注册),注册账号。这个网站 ban 了某些临时邮箱(反正我用的被 ban 了),最好用真实邮箱注册。
注册好之后进入申请证书页面(在侧栏可以找到),输入域名。建议勾选「泛域名」,如果勾选了「泛域名」,则还需勾选「包含根域」。点击下一步。
定义 CSR 环节,如果没有特殊要求(我们这里是没有的),直接默认即可,下一步。
最后,可以视情况更改整数提供商,提交申请。
等待请求创建完成,创建完成之后需要进行 2 次验证,因为目前还没有 http 空间,所以只能用 DNS 验证,按照指引添加 TXT 记录即可。
注意啦,TXT 记录可以同时添加多条,想当年我还以为只能一条然后傻乎乎地验证两次……(捂脸)
由于使用的是共享通道,所以提交请求/提交验证的速度稍慢,想砸电脑的时候得稍安勿躁。/xyx
验证成功之后,把证书下载下来备用。
广告:看在我写这么长教程的份上,能不能在注册 7 天内使用我的推荐码 VDXZ5LQ6
,使用可以获得 5 积分,球球了!
第四步:绑定域名
回到主机控制面板,进入 域名 > 别名(停放域名)
,会提示添加 DNS 服务器,将这些 DNS 服务器一个一个添加到 NS 记录中后,点击添加(Add Parked Domain)提交。
要注意的是,由于 DNS 缓存刷新需要时间,可能需要等待半小时到一小时来让 DNS 同步(仅在 Cloudflare DNS 上测试)。
如果出现提示说域名没有注册,不用理它,就是发癫 DNS 没有同步。
第五步:安装 SSL 证书
打开控制面板中的 安全 > SSL / TLS
,找到你刚刚添加的域名,点击该行中的设置(Configure)按钮。
把第三步下载的证书解压,按照下面的图片填入并保存。
然后 SSL 证书就安装好了!
第六步:配置博客
进入你的博客控制台(一定要使用主机商分配的域名!),将网站的网址改为你添加的网址即可。
因为我们安装了 SSL 证书,所以我们可以在网址中使用 https 协议,如我的网址:https://blog.4920.eu.org
。(当然不能访问,只是一个演示)