关于之前的Mastodon部署教程的一点更改和补充

今天重新按照自己之前的文章部署了一遍Mastodon,发现到连接数据库这块的时候死活连不上数据库。。。

估计是开发者改了点什么不允许空密码登录了?下面是解决办法:

首先还是按照往常一样安装并初始化postgresql。接着更改postgresql的配置文件:

vi /var/lib/pgsql/10/data/pg_hba.conf

默认的是这样:

关于之前的Mastodon部署教程的一点更改和补充

改为下面这样,启用MD5加密:

关于之前的Mastodon部署教程的一点更改和补充

如果你之前已经启动了postgresql,那么这里要重启使配置文件生效:

systemctl restart postgresql-10

接着切到postgres用户下:

su postgres

创建一个数据库用户:

createuser mastodon

再切到psql:

psql

执行:

ALTER USER mastodon WITH ENCRYPTED password '设置一个你的数据库密码' CREATEDB;

完成之后退出:

exit

这样Mastodon数据库无法连接的问题就应该解决了。

另外之前那篇文章安装ruby是使用的rbenv,说实话这玩意有点蛋疼,今天部署的时候我把它换成了rvm,使用起来顺滑一些。下面是rvm的安装方法。

导入GPG密钥

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

直接就可以安装了:

curl -sSL https://get.rvm.io | bash -s stable

使rvm命令生效:

source /etc/profile.d/rvm.sh

然后我们就可以使用rvm安装ruby了(依赖什么的还是要按照我之前的文章先装好):

rvm install 2.5.1

完成之后设置使用的版本:

rvm use 2.5.1

除此之外,之前我那篇文章是把Mastodon跑在Mastodon这个用户下的,感觉还不如跑在root用户下面,再加上现在用了rvm,所以systemd的配置文件也要做相应更改:

vi /etc/systemd/system/mastodon-web.service
[Unit]  Description=mastodon-web  After=network.target    [Service]  Type=simple  User=root  WorkingDirectory=/root/live  Environment="RAILS_ENV=production"  Environment="PORT=3000"  ExecStart=/bin/bash -lc 'bundle exec puma -C config/puma.rb'  ExecReload=/bin/kill -SIGUSR1 $MAINPID  TimeoutSec=15  Restart=always    [Install]  WantedBy=multi-user.target
vi /etc/systemd/system/mastodon-sidekiq.service
[Unit]  Description=mastodon-sidekiq  After=network.target    [Service]  Type=simple  User=root  WorkingDirectory=/root/live  Environment="RAILS_ENV=production"  Environment="DB_POOL=5"  ExecStart=/bin/bash -lc 'bundle exec sidekiq -c 5 -q default -q push -q mailers -q pull'  TimeoutSec=15  Restart=always    [Install]  WantedBy=multi-user.target
vi /etc/systemd/system/mastodon-streaming.service
[Unit]  Description=mastodon-streaming  After=network.target    [Service]  Type=simple  User=root  WorkingDirectory=/root/live  Environment="NODE_ENV=production"  Environment="PORT=4000"  ExecStart=/usr/bin/npm run start  TimeoutSec=15  Restart=always    [Install]  WantedBy=multi-user.target

最后关于Mastodon发邮件的一点补充,之前的文章是使用的本地发信,所以直接装个sendmail应该就可以成功发信了:

yum -y install sendmail

运行并设置开机启动:

systemctl start sendmail  systemctl enable sendmail

这种垃圾文章不发点图,会有人看?(我又侵犯肖像权了)

关于之前的Mastodon部署教程的一点更改和补充

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注