Mastodon是一个免费的开源社交网络程序,一个商业平台的替代方案,Mastodon的目标对象是基于Twitter的开源替代方案,当然同款替代的开源还有很多,比方说Misskey。
之所以推荐Mastodon是因为它比Misskey部署更适合初学者……另外相对于Misskey也轻量一点(两个占内存怪其实半斤八两,互相说对方不轻量)。
# 安装方式介绍 #
基本条件
- linux(崭新的轻量……)
- 配置不低于1H2G
- 采用宝塔面板
- 安装NGINX
- 安装Docker(采用容器部署)
- 域名/SSL证书
- 电子邮箱
准备工作
我觉得有必要做好准备工作,第一是检查一下宝塔面板是不是装了 Docker\redis\postgreSQL 。第二是准备好域名,并提前将域名解析到服务器对应IP。第三是准备好邮箱的STMP地址和所需的登陆密码。第四是在防火墙打开3000、4000端口。然后就可以开始安装工作了……
第一步 检查Docker和Docker-compose
Docker管理器 在宝塔面板的 软件商店-运行环境 中安装。
通过 'docker-compose version' 和 'docker -v' 检测正确安装。
检查完成后拉取Mastodon镜像,可以在管理器拉取也可以使用ssh终端拉取,但一般来说采用命令行拉取总是成功率高一点(新手玄学)。
第二步 拉去Mastodon(长毛象)镜像
通过命令行拉去镜像和yml文件
mkdir -p /home/mastodon/mastodon
--创建文件夹 cd /home/mastodon/mastodon
--进入文件夹 docker pull mashirozx/mastodon
--拉取镜像 wget https://raw.githubusercontent.com/d1258zzz/mastodon/master/docker-compose.yml
--拉取YML
完成拉取以后进入配置环节。
第三步 配置Mastodon
1、先进入宝塔面板的 文件 管理器,进入 /home/mastodon/mastodon 文件夹。
2、右键-新建文件,命名为.env.production
。
3、在当前文件夹下进入 终端,用root权限运行 docker-compose run --rm web bundle exec rake mastodon:setup
4、进入配置环节↓
Your instance is identified by its domain name. Changing it afterward will break things.
Domain name: ⇤这里输入您准备给mastodon的域名。
Do you want to enable single user mode? (y/N)
一般来说都是N,除非自娱自乐,建议选Y(放心吧,选Y也是自娱自乐……)
Are you using Docker to run Mastodon? (Y/n)
你在用DOCKER运行Mastodon?显而易见……选Y
然后下面关于pgsql和redis的设置直接默认,一路回车就好
PostgreSQL host: db
PostgreSQL port: 5432
Name of PostgreSQL database: postgres
Name of PostgreSQL user: postgres
Password of PostgreSQL user:
Database configuration works!Redis host: redis
Redis port: 6379
Redis password:
Redis configuration works!Do you want to store uploaded files on the cloud? (y/N)
如果您需要将文件存储在您的对象中,可以Y,也可以N,一路回车吧,这都是不重要的细节。
Do you want to send e-mails from localhost? (y/N)
默认N,选也选N,一般没什么个人玩家自己搭一个STMP……接下来就是之前准备好的电子邮箱STMP发送件密码要登场了,我按照网上的教程使用的126邮箱……,后来我又试了QQ的,也能成功,只是SMTP port要改,25是普通端口,443是SSL端口。
Do you want to send e-mails from localhost? No
SMTP server: smtp.126.com
SMTP port: 25
SMTP username: @126.com
SMTP password:
SMTP authentication: plain
SMTP OpenSSL verify mode: none
E-mail address to send e-mails "from": @126.com
Send a test e-mail with this configuration right now? Yes /可以选Yes测试,也可以N跳过,如果选了Yes,那就在下面填写你的收件邮箱(不要填写同一个)
Send test e-mail to: //测试邮箱地址This configuration will be written to .env.production
Save configuration? Yes
Below is your configuration, save it to an .env.production file outside Docker:以下内容很重要,它将被写入.env.production,这里有你的配置信息,将他复制下来备用!!!
Now that configuration is saved, the database schema must be loaded.
If the database already exists, this will erase its contents.
Prepare the database now? Yes
Running RAILS_ENV=production rails db:setup ...这段一定要记得复制一下
All done! You can now power on the Mastodon server 🐘
Do you want to create an admin user straight away? (Y/n)
配置管理员账号
Username: 输入你的管理员账号……请牢记
E-mail: 输入你的电子邮箱地址……请牢记Switching object-storage-safely from green to red because Redis::CannotConnectError Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
You can login with the password: xxxxxx此处是登陆密码!牢记!!
You can change your password once you login.
到最后出You can change your password once you login后,就(关闭终端前记得复制啊!账号密码~拍照也行)关闭或最小化终端,在当前文件夹(/home/mastodon/mastodon)新建文件,并命名为.env.production
,把开始在终端复制的那段黏贴进来,保存关闭。
启动Mastodon
进入终端,输入docker-compose up -d
--启动Mastodonchown 991:991 -R ./public docker-compose down docker-compose up -d
--给相应文件夹赋权限。
配置NGINX
在宝塔面板 - 网站中 新建一个网站,域名填写之前给mastodon配置的域名,php选择纯静态,点 提交 创建。
然后进入 -网站 -设置 --配置文件中,将19行和28行(关键字- server_name )替换为 之前配置的域名。
将20和44行的/home/mastodon/live/public 改成/home/mastodon/mastodon/public (这个文件夹就是开始创建的那个)
接着去掉ssl证书部分内容的注释 #,路径填上你证书或密钥所在的绝对路径就OK了。
(偷懒小秘诀,直接申请SSL后,在宝塔SSL证书所在目录下找到证书位置>SSL证书目录:/www/server/panel/vhost/ssl/你的网站域名<,然后,粘过去……这样就不用手动更新证书了,和宝塔同步)
最后重载入一下NGINX,理论上就可以访问自己的长毛象了~(反正我历经万难,总算是成功了)
体验
体验嘛……没啥体验,SNS就是社区,社区需要人气,没有人的长毛象,就是一个单机微博,其他还有更多的细致功能,我不会整,慢慢研究吧。
至于这个SNS的实际体验吧,就那样吧,反正我装好以后发现体验没有超过预想,哈哈哈哈。去中心化这个~只能说是分布式吧,中心化再怎么去~没有服务器承载程序都是吹牛,这又大又臃肿的SNS,安装也复杂,真心的,从入门到放弃~
去中心化,其实这就是一个伪命题,但不要在意这些细节。