折腾记: WriteFreely 搭建

前言
买了空间之后,已经先后使用过wordpress和Halo,这次又耐不住寂寞,使用#WriteFreely 建立这个博客,主要参考 Salt《去中心化博客 WriteFreely 搭建指南
不同之处,建立的是单用户版本,数据库使用SQLite。


环境

CentOS 7
磁盘空间20G
内存1G
writefreely_0.12.0_linux_amd64.tar.gz

安装WriteFreely

下载到主机

wget https://github.com/writeas/writefreely/releases/download/v0.12.0/writefreely_0.12.0_linux_amd64.tar.gz

解压到/home目录下,解压的位置如果修改,后面配置过程中需要一并调整

tar xvzf writefreely_0.12.0_linux_amd64.tar.gz -C /home

安装Ngnix

添加 Nginx 源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 Nginx
sudo yum install -y nginx
启动 Nginx
sudo systemctl start nginx.service
设置开机自启 Nginx
sudo systemctl enable nginx.service

配置WriteFreely

在解压后文件在/home/writefreely下,进入该目录,执行命令进行配置
./writefreely --config

Server setup

选择Production, behind reverse proxy模式,后面需要安装Nginx;
Local port: 8080 这个端口后面配置Nginx需要用到;

Database setup

数据库选择SQLite
Filename: xxx.db 数据库名字建议改一下

App setup

选择 Single user blog 即单用户版本
Admin usename: 用户名
Admin password: 密码
Blog name: 博客名词
Public URL: http://canglang.me 你的域名写在这里
federation 是否通过ActivityPub接入联邦宇宙,接入的话选择Enabled
stats 是否通过NodeInfo公开展示用户情况,不公开选择Private
meta 没弄明白,选择了Public

初始化

./writefreely --init-db
./writefreely --gen-keys

配置服务

sudo nano /etc/systemd/system/writefreely.service

写入内容

[Unit]
Description=Write Freely Instance
After=syslog.target network.target

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=/home/writefreely
ExecStart=/home/writefreely/writefreely
Restart=always

[Install]
WantedBy=multi-user.target

其中,WorkingDirectory和ExecStart需要根据实际解压的位置进行修改

设置开机启动

systemctl daemon-reload #执行需要root授权
sudo systemctl start writefreely
sudo systemctl enable writefreely

配置Nginx

sudo nano /etc/nginx/conf.d/writefreely.conf

写入内容

server {
    listen 80;
    listen [::]:80;

    server_name canglang.me;

    gzip on;
    gzip_types
      application/javascript
      application/x-javascript
      application/json
      application/rss+xml
      application/xml
      image/svg+xml
      image/x-icon
      application/vnd.ms-fontobject
      application/font-sfnt
      text/css
      text/plain;
    gzip_min_length 256;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_vary on;

    location ~ ^/.well-known/(webfinger|nodeinfo|host-meta) {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
    }

    location ~ ^/(css|img|js|fonts)/ {
        root /home/writefreely/static;
        # Optionally cache these files in the browser:
        # expires 12M;
    }

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
    }
}

其中 server_name和root /home/writefreely/static需要根据实际进行修改。

然后,配置 SSL 证书,就不写了,攻略很多,自行搜索吧。

检查配置是否有误
sudo nginx -t

重载 Nginx 配置
sudo nginx -s reload


至此配置完成,如果一切顺利,打开域名就能见到主页了。
现在又改回wordpress(捂脸

1

折腾记: WriteFreely 搭建》上有4个想法

  1. 尝试了几个小时,也没有成功。对“其中 server_name和root /home/writefreely/static需要根据实际进行修改”这句话很不理解。

  2. server_name 后面是你的服务器的域名,比如我写的canglang.me
    root /home/writefreely/static 这个地址跟你在服务器上放置writefreely文件夹的位置有关

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注