如何搭建静态博客

下载客户端

https://github.com/getgridea/gridea
根据操作系统下载客户端

连接服务器

在配置中选择sftp,输入相关信息即可
port是22,路径是/var/www/html(为了和apache配合)
域名在配置https之前选择http,没有域名就输入ip

服务器部署

腾讯云购买服务器,购买域名,购买证书,备案等基本操作
(操作系统选择为centos7)
下载购买后的证书,配置https中会用到

安装Apache

yum install httpd
systemctl start httpd
yum install mod_ssl openssl

上传证书文件

为了配置https
本地操作

sftp root@ip
put /xxx/domain/Apache/1_root_bundle.crt /root
put /xxx/domain/Apache/2_domain.crt /root
put /xxx/domain/Apache/3_domain.key /root

服务器操作

cd /root
cp 1_root_bundle.crt /etc/pki/tls/certs/root.crt
cp 2_domain.crt /etc/pki/tls/certs/server.crt
cp 3_domain.key /etc/pki/tls/private/server.key

用sftp其实是不太好的,用scp替代是更好的方案

配置Apache支持HTTPS

vim /etc/httpd/conf.d/ssl.conf 
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
SSLCertificateChainFile /etc/pki/tls/certs/root.crt

配置HTTP转HTTPS

vim /etc/httpd/conf/httpd.conf 

在开头处添加

LoadModule rewrite_module modules/mod_rewrite.so

修改Direcroty附近

<Directory />
#    AllowOverride none
    AllowOverride All
    Require all denied
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}
</Directory>

重启服务

systemctl restart httpdapachectl restart

错误解决

  • 页面样式问题:gridea的域名配置有误,注意https/http,域名/ip
  • 证书没问题但通过ip访问https报错:证书绑定域名而不是ip
  • 同步问题:没有很好的办法,可以用github或者百度网盘同步

关于同步

如果我们需要换电脑,或者同时在多个电脑上写笔记
gridea本身没有提供内容同步的功能,需要借助一些工具

百度网盘

不妥的办法,但是适合新手,每次把本地文档打包上传到百度网盘再下载

github

最有效的解决方案
电脑a编写完博客后:

cd path/to/gridea
git init .
git add .
git commit -m "xxx"
git push(也许还要一些其他参数,自行摸索)

电脑b需要同步:
git clone https://github.com/xxx

任何一台电脑在编写博客之前:
git pull(也许还要一些其他参数,自行摸索)
更新完后add,commit,push等操作

保证多台设备的数据同步

onedrive

参考github的原理,有不少平台可以操作,但是最靠谱的还是github