ChangeLog 最新ページ

mastodon - /home/pochi/ChangeLog

最終更新時間: 2018-08-17 06:57

2018-07-25 Wed

Mastodon バージョンアップ (2.0→2.4.3) [mastodon]

[2018-07-24-2]のスパム対策もあり、久しぶりに janogdon をバージョンアップ。
2.0に上げてから、放置しすぎてたせいで、いろいろとハマった。

やり方等



Mastodonは一気にバージョンを上げてもわりと大丈夫な作りになってる感じだけど、
ちょっとずつ上げるほうが安全な気がしたので、

2.0 → 2.1 → 2.2 → 2.3 → 2.4 → 2.4.3

という順番で上げていく。

ただ、このやり方ではうまくいかなくて、正しくは

2.4 → 2.4.1 → 2.4.3

のように、2.4.1 を間に挟むのが正解だった模様。

janogdonはDockerを使わずにインストールしてるんだけど、
Rubyのバージョンアップとかが意外と面倒なので、
Dockerを使うほうが楽だったかなあ、とは思う。

バックアップ



作業前にデータのバックアップ。
ディレクトリ丸ごととデータベースをバックアップ。

sudo su - mastodon
cp -rp live live.20180725
pg_dump mastodon > pg-dump-mastodon-20180725



ファイルシステムが残り少なくなってたので、古いバックアップファイルの掃除をしたり。

2.0→2.1



公式ドキュメント↓を見ながら作業

https://github.com/tootsuite/mastodon/releases/tag/v2.1.0

まずはソースを更新

su - mastodon
cd /home/mastodon/live
git describe --tags
git fetch
git stash
git checkout v2.1.0



アップデート

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails mastodon:maintenance:migrate_photo_preview_cards 



root権限で再起動。

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 



2.1にするのはわりと素直にできた。

2.1→2.2



公式ドキュメント↓を見ながら作業

https://github.com/tootsuite/mastodon/releases/tag/v2.2.0

Ruby 2.5 が必要とのことなので、インストール。

cd /home/mastodon/.rbenv/plugins/ruby-build/
git pull
rbenv install 2.5.0
rbenv global 2.5.0
rbenv rehash
gem update --system
gem update 
gem install bundler



yarnも変なとこにインストールされるけど、うまく動かないので、これはエイヤで消しちゃう。
これを消しても /usr/local/bin/yarn があれば問題ない。

rm /home/mastodon/.rbenv/shims/yarn



ソースを更新

su - mastodon
cd /home/mastodon/live
git describe --tags
git fetch
git stash
git checkout v2.2.0



アップデート

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails mastodon:maintenance:remove_regeneration_markers



root権限で再起動。

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 



yarn をどう設定するのが正しいのかは謎。

2.2→2.3



これも公式ドキュメント↓を見ながら作業

https://github.com/tootsuite/mastodon/releases/tag/v2.3.0

Elasticsearchが使えるようになるらしい。
いちおうElasticsearchインストールしてみる。
以下の通りに実行。

https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md

sudo apt install openjdk-8-jre-headless
sudo apt install apt-transport-https 

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

sudo apt update && sudo apt install elasticsearch



メモリを1Gしか積んでないので、jvm.optionsも修正しておく。

sudo vi /etc/elasticsearch/jvm.options



systemctlの設定をして起動。

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo /bin/systemctl start elasticsearch.service
sudo /bin/systemctl status elasticsearch.service



ソースを更新。

su - mastodon
cd /home/mastodon/live
git describe --tags
git fetch
git stash
git checkout v2.3.0



アップデート

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails chewy:deploy



Elasticsearchを使うように .env.production を修正

vi /home/mastodon/live/.env.production



root権限で再起動。

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 



なんか Web UI から Elasticsearch がうまく動いてないような感じ。
アプリからは検索できるので、Elasticsearch と API は動いてるのかな。
まあ検索できなくても困ることはないので、後で調べる方向で。

2.3→2.4



これも公式ドキュメント↓を見ながら作業

https://github.com/tootsuite/mastodon/releases/tag/v2.4.0

Ruby 2.5.1 が必要とのことなので、インストール。

cd /home/mastodon/.rbenv/plugins/ruby-build/
git pull
rbenv install 2.5.1
rbenv global 2.5.1
rbenv rehash
gem update --system
gem update 
gem install bundler



今回も yarn が変なとこにインストールされるけど、うまく動かないので、エイヤで消しちゃう。
消しても /usr/local/bin/yarn があれば問題ない。

rm /home/mastodon/.rbenv/shims/yarn



ソースを更新。

su - mastodon
cd /home/mastodon/live
git describe --tags
git fetch
git stash
git checkout v2.4.0



アップデート

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile



root権限で再起動。

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 




2.4→2.4.3



これも公式ドキュメント↓を見ながら作業

https://github.com/tootsuite/mastodon/releases/tag/v2.4.3

ソースを更新。

su - mastodon
cd /home/mastodon/live
git describe --tags
git fetch
git stash
git checkout v2.4.3



アップデート

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile



root権限で再起動。

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 



アップデート完了!!!
と思ったら、なんか変。
管理画面にログインできないし、ローカルタイムラインも流れてこない。
あれれ?

2.4.1 の db:migrateをやりなおし



調べてみたら、ネットで同じような症状を見つけた。

https://www.webdb.co.jp/~atsumi/skimemo/index.php?skimemo%20-%20%C6%FC%B5%AD%2F2017-04-20

ただし、v2.4.1以降はv2.4.1の状態に依存しているらしく、2.4.1をまたげない。
つまり、2.4.1以前から2.4.1以降にバージョンアップする場合、
一旦v2.4.1のdb:migrateを実行してから最新版のmigrateを実行する必要がある。


とりあえず、db:migrateだけやり直して

cd /home/mastodon/live
git checkout v2.4.1
RAILS_ENV=production bundle exec rails db:migrate
git checkout v2.4.3
RAILS_ENV=production bundle exec rails db:migrate



再起動

sudo systemctl restart mastodon-sidekiq.service mastodon-web.service mastodon-streaming.service redis-server.service nginx.service 



とりあえず動いたぞ。

スパムアカウントのブロックと停止



モデレーション→メールブラックリストに、mxsrv.mailasrvs.pwを登録。

2日で18個のスパムアカウントが作られてたので、管理画面から停止処理。
ちょっとにぎわっていた janogdon もまた静かになったよ。

2018-07-24 Tue

MastodonへのSPAM [mastodon]

janogdonというインスタンスを運用してる。
数日に1回ぐらい適当に誰かが投稿する平和な過疎地だ。

janogdon
https://janogdon.net/

ところが昨日ぐらいから妙なアカウント登録が続いている。
1〜3時間おきぐらいにアカウント登録があって、なんだこりゃ、と思ってたら、スパムを発信しはじめたよ。

調べてみると

- ちゃんとアカウントのメール認証も通っている
- メールアドレスのMXレコードをひいてみると mxsrv.mailasrvs.pw を指している。
- QUALYTYNETWORK という組織が管理しているアドレスからアクセスしている。
- この組織が何の組織か良くわからないけど、複数ASからのアクセスがある↓↓

route: 5.62.158.0/24
descr: QUALYTYNETWORK
origin: AS50896

route: 185.71.2.0/24
descr: QUALYTYNETWORK
origin: AS200557


ホスティング事業者なのか、サーバを乗っとられてるのか?
こんな過疎地にまでスパムを送ってくるのはすごい働き者だとは思うんだけど、こういうスパム業者ってどうにかならないものかしらねえ。
漫画村の広告問題とかもそうだけど、悪質な業者へお金が渡る仕組みをなくすうまい方法はないものかねえ。

調べてみたらブロックする方法はあるみたいね。

mxsrv.mailasrvs.pwのMastodon登録SPAMをブロックする
https://lithium03.info/mastodon/spam_mx.html

バージョンアップすれば良さそうなので後でやっておこう。
ブロックするとまた過疎地になってしまうが。

Referrer (Inside): [2018-07-25-3]