A-A+

#建站教程#centos系统搭建Mastodon

2018年10月10日 建站教程 #建站教程#centos系统搭建Mastodon已关闭评论 阅读 次

在开始之前,你应该先了解一下什么是Mastodon,它是做什么的?有什么功能?下面这篇文章写的很详细了,有兴趣的可以先看看:

https://www.douban.com/group/topic/113168501/

这里我们简而言之,你现在可以把Mastodon当作是一个“去中心化”的新浪微博或是Twitter。

现在我们来做部署前的准备工作,你应该准备好下面两样东西:

1.一台内存大于1GB的KVM架构VPS。
2.一个顶级域名,并且已经解析到你的VPSIP。

首先我们使用Xshell登录到VPS内,更新系统:

安装EPEL源:

安装开发工具包:

安装项目所需依赖:

安装NodeJS:

安装Yarn包管理器:

安装imagemagick:

安装Redis:

启动Redis并设置开机启动:

安装PostgreSQL数据库:

初始化数据:

启动PostgreSQL以及设置开机启动:

现在登录到数据库内:

创建数据库:

完成之后退出:

安装FFMPEG(可选):

安装Nginx,先新建一个源:

写入:

然后yum安装即可:

这里先停止运行nginx:

设置nginx开机启动:

现在我们添加一个用户,命名为mastodon:

切换到这个用户的shell内:

如果需要修改这个用户的密码,你应该执行下面的命令:

安装rbenv:

上面的脚本执行完成之后,设置环境变量:

接着执行如下命令检查是否正常:

如果一切正常,那么我们现在就可以使用rbenv安装ruby了:

安装完成之后,设置全局使用ruby2.5.1:

现在拉取Mastodon项目文件并进入到项目目录:

检测最新版本:

安装bundler和ruby依赖:

安装node.js依赖:

全部完成之后,现在我们可以开始配置mastodon了:

RAILS_ENV=production bundle exec rake mastodon:setup
在这个向导中,你应该按照如下配置来填写:

  • Q:Domain name:
    A:填写你的域名地址,不要带www
  • Q:Do you want to enable single user mode?
    A:N
  • Q:Are you using Docker to run Mastodon?
    A:n
  • Q:PostgreSQL host: /var/run/postgresql
    A:回车
  • Q:PostgreSQL port: 5432
    A:回车
  • Q:Name of PostgreSQL database: mastodon_production
    A:回车
  • Q:Name of PostgreSQL user: mastodon
    A:回车
  • Q:Password of PostgreSQL user:
    A:回车
  • Q:Redis host: localhost
    A:回车
  • Q:Redis port: 6379
    A:回车
  • Q:Redis password:
    A:回车
  • Q:Do you want to send e-mails from localhost?
    A:y
  • Q:Send a test e-mail with this configuration right now?
    A:n
  • Q:Save configuration?
    A:y
  • Q:Prepare the database now?
    A:y
  • Q:Compile the assets now?
    A:y
  • Q:Do you want to create an admin user straight away?
    A:y

走完这个向导之后,你应该切换回root用户:

现在我们需要创建三个服务文件,第一个是web服务:

写入:

第二个是后台服务:

写入:

第三个是流媒体API服务:

写入:

完成之后立即启动这三个服务:

接着设置开机启动:

现在你应该关闭系统防火墙:

接着关闭SELinux:

安装certbot用于自动签发Let’s Encrypt证书:

执行如下命令,给你的域名签发证书(example.com替换成你的域名):

证书如果签发成功,那么证书的存储路径应该是:

现在你应该配置certbot自动续约证书:

写入:

这样配置好了后,certbot会在每天的0点检查证书是否过期,如果过期就自动续约证书。

现在我们编辑Nginx的主配置文件:

在这个配置文件的第一行,将nginx的运行用户修改成mastodon:

接着我们新建一个Nginx站点配置文件:

vi /etc/nginx/conf.d/example.com.conf

写入:

最后启动Nginx:

大功告成,不出意外的话,现在打开你的站点域名,你应该可以看到一个Mastodon实例了,随便试用了下,很不错:


申明:原文来至荒岛(https://lala.im/4286.html)

评论已关闭!