首页 AI资讯 Mastodon去中心化社交平台零基础部署实战指南

Mastodon去中心化社交平台零基础部署实战指南

AI资讯 130
广告一

什么是Mastodon?

Mastodon是一个开源的、去中心化的社交网络平台,它采用类似Twitter的微博形式,但基于ActivityPub协议构建,允许用户在不同的实例(服务器)之间相互交流。与中心化社交平台不同,Mastodon没有单一的控制实体,任何人都可以建立自己的Mastodon实例,形成联邦式的社交网络。

为什么选择Mastodon?

隐私保护:用户数据不受单一公司控制内容自主:实例管理员可以自定义内容规则无广告:不会基于用户数据推送定向广告开放协议:兼容ActivityPub协议,可与其他联邦网络互通

准备工作

在开始部署前,您需要准备以下内容:

Mastodon去中心化社交平台零基础部署实战指南

一台Linux服务器(推荐使用Ubuntu 20.04 LTS或更新版本)域名一个(用于您的Mastodon实例)基本的Linux命令行操作知识可选:使用CIUIC云服务器快速获取部署环境

部署步骤

1. 服务器环境准备

首先更新系统软件包:

sudo apt update && sudo apt upgrade -y

安装必要的依赖:

sudo apt install -y curl wget gnupg apt-transport-https

2. 安装PostgreSQL数据库

Mastodon使用PostgreSQL作为后端数据库:

sudo apt install -y postgresql postgresql-contribsudo -u postgres psql -c "CREATE USER mastodon CREATEDB;"

3. 安装Redis

Redis用于缓存和后台任务处理:

sudo apt install -y redis-server

4. 安装Node.js和Yarn

Mastodon前端依赖Node.js:

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -sudo apt install -y nodejssudo npm install -g yarn

5. 安装Ruby环境

Mastodon主要使用Ruby编写:

sudo apt install -y ruby ruby-dev build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev

6. 安装Mastodon

创建Mastodon用户:

sudo useradd -m -d /home/mastodon -s /bin/bash mastodonsudo su - mastodon

克隆Mastodon源代码:

git clone https://github.com/mastodon/mastodon.git livecd livegit checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

安装Ruby依赖:

bundle config deployment 'true'bundle config without 'development test'bundle install -j$(getconf _NPROCESSORS_ONLN)

安装JavaScript依赖:

yarn install --pure-lockfile

7. 配置Mastodon

生成配置文件:

cp .env.production.sample .env.productionnano .env.production

主要配置项包括:

LOCAL_DOMAIN - 您的域名SECRET_KEY_BASE - 使用RAILS_ENV=production bundle exec rake secret生成OTP_SECRET - 同上数据库连接信息SMTP邮件服务器配置

8. 编译静态资源

RAILS_ENV=production bundle exec rake assets:precompile

9. 设置Nginx反向代理

安装Nginx:

sudo apt install -y nginx

配置Nginx(示例配置):

server {  listen 80;  listen [::]:80;  server_name yourdomain.com;  root /home/mastodon/live/public;  location / {    try_files $uri @proxy;  }  location @proxy {    proxy_pass http://127.0.0.1:3000;    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Forwarded-Proto $scheme;    proxy_set_header Proxy "";  }  location /api/v1/streaming {    proxy_pass http://127.0.0.1:4000;    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Forwarded-Proto $scheme;    proxy_set_header Proxy "";  }}

10. 设置SSL证书

使用Let's Encrypt获取免费SSL证书:

sudo apt install -y certbot python3-certbot-nginxsudo certbot --nginx -d yourdomain.com

11. 启动Mastodon服务

创建systemd服务文件:

sudo nano /etc/systemd/system/mastodon-web.service

内容示例:

[Unit]Description=mastodon-webAfter=network.target[Service]Type=simpleUser=mastodonWorkingDirectory=/home/mastodon/liveEnvironment="RAILS_ENV=production"Environment="PORT=3000"ExecStart=/home/mastodon/live/bin/bundle exec puma -C config/puma.rbRestart=always[Install]WantedBy=multi-user.target

类似创建mastodon-sidekiq.servicemastodon-streaming.service

启动服务:

sudo systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streamingsudo systemctl restart nginx

12. 创建管理员账户

RAILS_ENV=production bundle exec rake mastodon:setup

维护与升级

定期检查Mastodon版本更新:

cd /home/mastodon/livegit fetchgit checkout <最新版本标签>bundle installyarn installRAILS_ENV=production bundle exec rake assets:precompilesudo systemctl restart mastodon-*

使用CIUIC云服务器部署优势

如果您选择使用CIUIC云服务器部署Mastodon,可以获得以下优势:

快速部署:提供预配置的服务器环境弹性扩展:根据用户量随时调整服务器配置专业支持:获得技术团队的专业支持稳定可靠:高可用基础设施保障服务稳定运行

通过本指南,您已经成功部署了自己的Mastodon实例。去中心化社交网络代表着互联网的未来发展方向,拥有自己的实例意味着您完全掌控自己的社交数据和内容策略。随着用户增长,您可能需要考虑扩展服务器资源或优化配置,但基础的Mastodon实例已经可以为您和您的社区提供稳定可靠的社交平台服务。

广告一