Misskey 与 Mastodon 类似,界面更 “Modern Design”,主题也更 “二次元”

下文将展示 Debian 10 下无域名的 Misskey 搭建方式(使用 IP 访问)

环境

  • Debian 10

参考

步骤

安装依赖

使用 root 用户进行以下步骤,其他用户酌情添加 sudo

Node.js

运行以下指令将安装 Node.js 14

curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs

Postgresql

运行以下指令将安装最新版 postgresql

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt update
apt -y install postgresql

Redis

redis 没有版本要求,所以直接用 apt 安装即可

apt install redis

Yarn

需要先安装 Node.js

npm install -g yarn

FFmpeg

apt install ffmpeg

其他

Debian 10 下默认安装了 python 和 build-essential,如果没有则执行指令

apt install python build-essential

设置数据库

Misskey 需要新建数据库和数据库管理账户

使用 root 用户进行以下步骤

  1. 切换到 postgre 用户
    su - postgres
    
  2. 配置数据库
    • 进入 postgresql
      psql
    • 新建数据库
      CREATE DATABASE misskey;
    • 新建管理账户
      CREATE USER [你的用户名] WITH PASSWORD '[你的密码]';
    • 新建账户获取管理权限
      GRANT ALL PRIVILEGES ON DATABASE misskey TO [你的用户名];

      Misskey - 又一个去中心化社交平台

Continue reading “Misskey – 又一个去中心化社交平台”

Sharry 的文件共享方式与奶牛快传类似,已注册的用户可以上传文件到 Sharry 并生成下载链接

除此之外 Sharry 还可以给已注册用户生成链接,让其他人上传文件给已注册用户(感觉可用于交作业)

下文将展示 Debian 10 下 Sharry 的搭建方式

环境

  • Debian 10

参考

步骤

官方提供了三种安装方式:deb 包、zip 压缩包和 docker

使用 deb 包和压缩包时需要安装依赖,使用 docker 则需要 docker-compose,三种方式都需要 Web 服务器做反代

安装依赖

Sharry 依赖于 Java 环境,并且需要 Web 服务器做反向代理(这里我使用了 Nginx),执行指令

apt install openjdk-11-jre nginx unzip

Nginx 反向代理

  1. 删除默认配置文件
    rm /etc/nginx/sites-enabled/default
  2. 更改 nginx 设置
    • 编辑 /etc/nginx/nginx.conf,在 http 块内添加
      http {
          # ...
          map $http_upgrade $connection_upgrade {
              default upgrade;
              '' close;
          }
          # ...
      }

      Sharry - 自托管文件共享服务

  3. 新建 Sharry 配置文件
    • 在 /etc/nginx/sites-available 下新建配置文件 sharry,写入以下内容(这里只使用 IP 地址和 http 协议访问)
      server {
              listen 0.0.0.0:80 ;
              listen [::]:80 ;
              server_name _;
              location /.well-known/acme-challenge {
                  root /var/data/nginx/ACME-PUBLIC;
                  auth_basic off;
              }
              location / {
              proxy_pass http://127.0.0.1:9090;
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection $connection_upgrade;
                  proxy_buffering off;
                  client_max_body_size 105M;
                  proxy_send_timeout   300s;
                  proxy_read_timeout   300s;
                  send_timeout         300s;
              }
      }
      
    • 如果使用域名 + ssl,则添加官方配置文件
      server {
              listen 0.0.0.0:80 ;
              listen [::]:80 ;
              server_name subdomain.otherdomain.tld ;
              location /.well-known/acme-challenge {
                  root /var/data/nginx/ACME-PUBLIC;
                  auth_basic off;
              }
              location / {
                  return 301 https://$host$request_uri;
              }
      }
      
      server {
              listen 0.0.0.0:443 ssl http2 ;
              listen [::]:443 ssl http2 ;
              server_name sharry.example.com ;
              location /.well-known/acme-challenge {
                  root /var/data/nginx/ACME-PUBLIC;
                  auth_basic off;
              }
              ssl_certificate /var/lib/acme/sharry.example.com/fullchain.pem;
              ssl_certificate_key /var/lib/acme/sharry.example.com/key.pem;
              ssl_trusted_certificate /var/lib/acme/sharry.example.com/full.pem;
              location / {
                  proxy_pass http://192.168.1.11:9090;
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection $connection_upgrade;
                  proxy_buffering off;
                  client_max_body_size 105M;
                  proxy_send_timeout   300s;
                  proxy_read_timeout   300s;
                  send_timeout         300s;
              }
      }
  4. 启动 nginx
    ln -s /etc/nginx/sites-available/sharry /etc/nginx/sites-enabled
    nginx -t
    nginx -s reload

下载并启动 Sharry

Continue reading “Sharry – 自托管文件共享服务”