网站改造
前言
果然高产是不可能高产的hhh,一不小心就又过了两个月
最近工作有点忙,完全没空做自己的游戏,闲着没事的时候把个人服务器再折腾折腾。不过毕竟这个不是本业,这几天搞过之后估计过不了多久就会没什么印象了2333,所以还是记录在这里,方便之后回顾。
嗯,这次的工程量还算是不小,大概分为下面几个步骤:
- 建立HTTPS站点
- 个人Git服务器
- 博客迁移
- 处理HTTP和HTTPS的共存关系
东西挺多的,慢慢搞,这一篇先写前两步(其实2019年春节前就已经差不多可以用了)
建立HTTPS站点
SSL证书申请
我一开始是打算用自签名的证书来用的,然而浏览器会报警,所以还是弄一个正儿八经的证书好了。
申请免费的SSL证书很容易,在搜索引擎里搜免费SSL证书
就能找到很多提供者。我这里用的是在腾讯云申请的。
- 登录腾讯云并访问控制台的SSL证书管理页面
选择亚洲诚信(TrustAsia)的DV SSL证书,点击确定
填写域名和邮箱,然后选择”手动DNS”验证。根据帮助文档的说明,给你的域名加一条解析记录。
然后耐心等上一段时间,就可以在SSL证书管理页面看到你申请好的证书啦~
点击下载,把证书下载到本地,然后因为我用的是Apache的服务器嘛,就把里面的Apache文件夹下的三个文件传到云服务器上,并放在一个你觉得合适的位置:
- 1_root_bundle.crt
- 2_inspoy.cc.crt
- 3_inspoy.cc.key
Apache配置
ssh登录云服务器,键入sudo vim /etc/httpd/conf.d/ssl.conf
编辑SSL的配置文件,找到DocumentRoot
字段,按照下面配置。
1 | DocumentRoot "/var/https_root" # 这里是网站根目录,根据实际情况修改 |
然后往下翻,找到Server Certificate
,取消对应注释并配置下面三个字段:
1 | # Server Certificate: |
这里的三个路径就是我们上一步传到服务器上的三个证书文件了。
然后在上面配置的网站根目录里新建一个index.html
,在里面随便写点东西,比如:
1 | <html> |
之后重启Apache服务器:
1 | $ sudo service httpd restart |
在浏览器里输入你的网址,记得以https开头,应该就能看到刚才写的那个测试网页了。
个人Git服务器
我之前是用的BitBucket来托管我的游戏工程,然而BitBucket实在是太太太慢了= =,然后就在考虑其他的托管平台,比如Coding,码云等,但是这些平台基本上都有1G的容量限制,对于一般纯代码的项目当然是完全足够,但是对于游戏项目来说,美术资源占用的空间才是大头(其实用久了就会发现对于游戏项目管理的话还是SVN更合适= =),1G的容量有可能会不够用。当时GitHub还没宣布私有仓库免费,我就想着干脆不要在第三方平台托管了,反正我有个云服务器,干脆用物尽其用,自己来托管Git仓库就好了,容量限制就是你云磁盘的容量,扩容成本很低。
一开始我打算在云服务器上搭建一个Gitlab,但我很快就发现我错了,Gitlab的配置要求有点高(推荐双核8G),我的单核1G的配置完全撑不住(甚至连WordPress用的MySQL都会时不时宕掉)。
准备工作
首先新建git仓库的根目录,我这里用的是类似https://inspoy.cc/git/foobar.git
这样的形式,也就是说要在网站根目录下创建git目录,并对git目录做权限控制,只允许授权用户访问。
当然这个目录要允许Apache来修改,所以把所有者改成apache,并把目录权限设置为755:
1 | $ sudo chown apache:apache git |
然后准备授权用户的配置,在终端输入
1 | htpasswd -c /etc/httpd/conf.d/git-user.htpasswd USER_NAME |
把USER_NAME
换成你的名字,再输入密码,就搞定了(当然这个用户配置文件可以放在任何你想放的位置)。
配置ssl.conf
拿出在前一个章节里编辑的Apache配置文件ssl.conf
,在DocumentRoot
里面追加对应的配置项:
1 | DocumentRoot "/var/https_root" |
创建Git仓库
进入第一步创建的Git根目录,新建一个文件夹叫TestRepo.git
,把名字换成项目名字,以.git
结尾是一个约定俗成的规范,表示这是一个裸仓库(Bare Repo)。
进入刚创建的目录,输入git init --bare
,目录里会出现几个目录。
这样其实服务端就已经完全搞定了。
试着在自己的电脑上打开Git命令行输入git clone https://yoursite.domain/git/TestRepo.git
,再输入之前配置的用户名和密码,应该就可以跟在GitHub上一样用了。
这下子就不用担心容量不够用的情况啦~