「VPS設定」の版間の差分

提供:mrmts wiki
 
(同じ利用者による、間の22版が非表示)
1行目: 1行目:
[[Category:覚書|ふいひいえすせつてい]]
[[Category:覚書|VPSせつてい]]


* サブドメインの設定
* サブドメインの設定
20行目: 20行目:


sudo reboot
sudo reboot
==SSH接続==
 Xserver VPSでは初期設定でパスワードでの接続は不可になっているんだったか、自分で設定したんだったか覚えていないけど、ともかく不可。セキュリティ的にもそれはよくない。そこで、暗号鍵を使って接続しようとするのだけど、ここでなかなかうまくいかない。XserverのVPSのサイト上から鍵を作って登録しているのだけどうまくいかない。原因はOpenSSH8.8からSHA-1のRSA鍵が無効になっていたことだった。
 SHA-1のRSA鍵があかんというのは下記サイトを参考に。
* [https://scribble.washo3.com/openssh88-disable-rsa.html SSHをバージョンアップしたら接続出来なくなった]
 Tera Termでの鍵の作り方は下記を参考に。ただし、ED25519で作ること。
* [https://webkaru.net/linux/tera-term-ssh-login-public-key/ 公開鍵認証によるSSH接続 - Tera Termの使い方]
 作った公開鍵をサーバーに登録する仕方などは下記を参考に。
* [https://self-development.info/%E3%80%90ubuntu%E3%80%91%E5%85%AC%E9%96%8B%E9%8D%B5%E8%AA%8D%E8%A8%BC%E3%81%AB%E3%82%88%E3%82%8Bssh%E6%8E%A5%E7%B6%9A%E3%81%AE%E8%A8%AD%E5%AE%9A%EF%BC%88%E5%85%AC%E9%96%8B%E9%8D%B5%E3%83%BB%E7%A7%98/ 【Ubuntu】公開鍵認証によるSSH接続の設定(公開鍵・秘密鍵の作成)]
 Xserverに限らずだろうけどSSH接続の設定などは下記を参考にファイルを編集。
* [https://gadgelaun.com/?p=41569 エックスサーバーVPSにSSH接続する方法と設定を紹介します。]


==リリースのアップグレード==
==リリースのアップグレード==
25行目: 45行目:
sudo do-release-upgrade
sudo do-release-upgrade


==PostgreSQL==


===dump(ダンプ)/バックアップについて===


==PostgreSQL==
* [https://qiita.com/bwtakacy/items/65260e29a25b5fbde835 PostgreSQLのバックアップ手法のまとめ]
* [https://qiita.com/domodomodomo/items/04026157b75324e4ea27 psql による PostgreSQL サーバへのログイン、接続方法]
* [https://qiita.com/rice_american/items/ceae28dad13c3977e3a8 PostgreSQLのbackup, restore方法まとめ]


===release upgradeによるバージョン変更とクラスターアップグレード===
 もちもとXserverのMastodonイメージで入っていたのは12系でUbuntu.22.04.1(のはず)。少なくともdo-release-updateコマンドでUbuntu22.04.2になったときPostgreSQLが14系になった。これにともなってclusterというのか、いわゆるデーターベースもアップデートが必要になり、フォルダーも変更になりでけっこうたいへんだった。参考にしたのは下記のサイト。
 もちもとXserverのMastodonイメージで入っていたのは12系でUbuntu.22.04.1(のはず)。少なくともdo-release-updateコマンドでUbuntu22.04.2になったときPostgreSQLが14系になった。これにともなってclusterというのか、いわゆるデーターベースもアップデートが必要になり、フォルダーも変更になりでけっこうたいへんだった。参考にしたのは下記のサイト。


 下記で解説されている手順としては、古い系統と新しい系統の両方のクラスターが存在していて、そのことをまず"pg_lsclusters"コマンドで確認。ふたつともオンラインになっている。新しい方は"do-release-upgrade"の課程でも注意を促す表示があったけど、新しいクラスターは新しいバージョンのPostgreSQLをインストールする際に自動的に作成されるのでいったん削除する。そのさいにオンラインのものをオフラインにするというのをコマンドで同時にしているのだと思うが、そのコマンドが次の"pg_dropcluster 14 main --stop"。新しい14系のクラスターが無事に削除され、13系がオフラインになっているかを再度"pg_lsclusters"コマンドで確認。確認ができたら13系のクラスターを14系にアップグレードするのが"pg_upgradecluster 13 main"というコマンド。"13 main"のところは、私の場合"12 main"に置き換えてコマンドを打った。
 下記で解説されている手順としては、古い系統と新しい系統の両方のクラスターが存在していて、そのことをまず"pg_lsclusters"コマンドで確認。ふたつともオンラインになっている。新しい方は"do-release-upgrade"の課程でも注意を促す表示があったけど、新しいクラスターは新しいバージョンのPostgreSQLをインストールする際に自動的に作成されるのでいったん削除する。そのさいにオンラインのものをオフラインにするというのをコマンドで同時にしているのだと思うが、そのコマンドが次の"pg_dropcluster 14 main --stop"。新しい14系のクラスターが無事に削除され、13系がオフラインになっているかを再度"pg_lsclusters"コマンドで確認。確認ができたら13系のクラスターを14系にアップグレードするのが"pg_upgradecluster 13 main"というコマンド。"13 main"のところは、私の場合"12 main"に置き換えてコマンドを打った。


* https://www.fatyas.com/wiki/Ubuntu_22.04のPostgresql_13を14へバージョンアップする
* [https://www.fatyas.com/wiki/Ubuntu_22.04のPostgresql_13を14へバージョンアップする Ubuntu_22.04のPostgresql_13を14へバージョンアップする]〈[https://archive.is/0K4FP archive.is]〉〈[https://web.archive.org/web/20230303215405/https://www.fatyas.com/wiki/Ubuntu_22.04のPostgresql_13を14へバージョンアップする Internet Archive: Wayback Machine]〉
 
==libidm.so.11問題==
 
参考になったのは下記。シンボリックリンクのところ。ただ、この場所に目的のファイルがなかったのでそれを探すのはまた別。
 
 
* [https://www.digitalocean.com/community/questions/mastodon-broken-after-applying-suggested-package-upgrades Mastodon broken after applying suggested package upgrades]〈[https://archive.is/9bjCO archive.is]〉〈[https://web.archive.org/web/20230303220407/https://www.digitalocean.com/community/questions/mastodon-broken-after-applying-suggested-package-upgrades Internet Archive: Wayback Machine]〉
 
以下はMastodonではなく別のソフトについての相談だけど、同様の対処法を示しているけど同じようにシンボリックリンクを張るよう助言していて参考になる。
 
* [https://steamcommunity.com/app/431730/discussions/0/1739964947813943201/?l=japanese Linux - libidn.so.11 missing]〈[https://archive.is/eswT9 archive.is]〉〈[https://web.archive.org/web/20230304001518/https://steamcommunity.com/app/431730/discussions/0/1739964947813943201/?l=japanese Internet Archive: Wayback Machine]〉
 
==ユーザーの追加(シングルユーザーモードの場合)==
 
 シングルユーザーモードの場合、WebのUIからはユーザー登録ができないので、シェルからコマンドを打ってユーザーを追加する。シングルユーザーモードというのは、ユーザーがひとつしか作れないモードではなくて、WebのUIからユーザー登録をできなくするモードのようだ。シェルで打つコマンドについては下記のページが参考になった。気をつけるべきポイントは2つ。メールアドレスの送信と認証を飛ばすために、メールアドレスが確かめられているというオプションをつけること。これは下記のサイトにあるとおりでよい。もうひとつは、ほかのユーザーと同じメールアドレスは通らないということ。つまり、最初に作ったアカウントで使用しているメールアドレスと同じメールアドレスではとおらないの、少し工夫してあげて、gmailであれば@マークよりも前の部分に冒頭でないか連続するのでないドットは入れることができるので(最後もあかんかったかなあ)、たとえばgmailにとっては"hogehoge@gmail.com"と"hoge.hoge@gmail.com"は同じメールアドレスとして認識されるけど、mastodonでは別々のメールアドレスとして認識してくれるので、それを利用すれば、ほかのと同じメールアドレスでシェルから新しいユーザーを登録できる。
 
- [https://manual.sakura.ad.jp/vps/startupscript/mastodon.html Mastodon ― さくらの VPS マニュアル]
 
 上記のページを参考に下記のようなコマンドでユーザーが追加できる。"email"の部分は実際のeメールアドレスを、"USERNAME"の部分には実際に追加したいユーザーネームを書くこと。
 
<blockquote>
sudo -u mastodon -i<br />
cd live<br />
RAILS_ENV=production bin/tootctl accounts create --role Admin --email EMAIL --confirmed USERNAME
</blockquote>
 
==キャえッシュの削除==
 
「キャッシュの削除」じゃない適切な名前に変更すべし。
 
<blockquote>
su - mastodon<br />
cd ~/live/<br />
RAILS_ENV=production bin/tootctl media remove --days=1
</blockquote>
 
==マストドンのアップグレード==
 
* [https://mastodon-docs.vercel.app/admin/upgrading/ 新しいバージョンへアップグレード - Mastodon documentation]
** 最初にアクセスしたもの。うまくいかなかったので、ここからいろいろ試行錯誤することに。忘れてしまったけど、確かGitのcheckout時に次のエラーが出て、次のページを参照することになるんだよな。「error: Your local changes to the following files would be overwritten by checkout:」
* [https://note.com/koushikagawa/n/n6f7c16a0d9e6 【Git】checkout時に、「error: Your local changes to the following files would be overwritten by checkout: 」と表示された時の対処方法]
** それで、ここに書いてあることを試そうとしても次の問題にぶつかるんだよな。忘れちゃった。rubyのバージョンに関わることだったんだけど、rbenvとかでも新しいバージョンが入れられなくて、じゃあどうやって入れられるようになるのかってところで、brewとか言うのがひつようになるのだけど、これってMacのじゃないの?みたいな感じで、入れるのに苦労して、ようやく入れて、rbenvに戻ってきて、なんだかrbenvをアップデートできたはずなのにそれでも新しいバージョンがいれられるリストになくて、いろいろ調べるとエラーメッセージに新しいのが出てきていなかったら更新をしてねみたいに表示されているよという情報が見つかり、更新してみたら新しいrubyが入れられるようになり、新しいrubyを入れてマストドンの更新を再度やったらうまくいったという感じ。
* [https://qiita.com/hujuu/items/3d600f2b2384c145ad12 rbenvでrubyのバージョンを管理する]
* [https://qiita.com/makimoch/items/65da3ca353c53b3d9dd4 rbenvからRubyの最新のバージョンをインストールできなかったときやったこと]
 
==Mastodon(マストドン)のメンテナンス関係リソース==
 
<code>RAILS_ENV=production bin/tootctl media remove --days=1</code>
 
<code>RAILS_ENV=production bin/tootctl media remove --prune-profiles</code>
 
<code>RAILS_ENV=production bundle exec bin/tootctl status remove --days=5</code>
 
<code>RAILS_ENV=production bin/tootctl media remove --remove-headers</code>
 
<code>RAILS_ENV=production bundle exec bin/tootctl emoji purge --remote-only</code>
 
* https://blog.noellabo.jp/entry/mastodon-admin-checklist
* https://qiita.com/syumari/items/5c134a6c462e18f3b4ea
* https://zenn.dev/kumasun/articles/7cb0dd98acbace
* https://postmoderns.info/2021/06/cant-update-mastodon/
* https://moshbox.jp/?p=38647
* https://www.webdb.co.jp/~atsumi/skimemo/index.php?skimemo%20-%20%C6%FC%B5%AD%2F2017-04-20%2FMastodon%A5%DE%A5%B9%A5%C8%A5%C9%A5%F3%A4%CE%A5%A2%A5%C3%A5%D7%A5%C7%A1%BC%A5%C8%CA%FD%CB%A1%A5%E1%A5%E2
* https://vps.xserver.ne.jp/support/manual/man_server_app_use_mastodon.php
 
* [https://blog.noellabo.jp/entry/2019/04/14/oh8Xlu5uMhXe1o8X インスタンスの役割とリレーのもたらすもの]
* [https://blog.noellabo.jp/entry/2018/10/14/V7fL2phUYBzwAjot Mastodonインスタンスと、保存されるデータの話]
 
===メンテ===
 
* [https://lm.korako.me/post/29562 Mastodon v4.1.0で例のリモートアカウントのヘッダー画像削除機能が追加されているのでやった]
* [https://zenn.dev/kumasun/articles/7cb0dd98acbace Mastodon メンテナンスメモ(移植版)]
* [https://qiita.com/neustrashimy/items/870769d7db4d95cde238 <nowiki>[</nowiki>outdated<nowiki>]</nowiki> 勝手 Mastodon tootctl リファレンス]
 
==マストドンの運用と法令関係==
- [https://ashphy.hateblo.jp/entry/2023/03/16/203927 マストドンと改正プロバイダ責任制限法 鯖管が知っておくべき義務と権利]〈[https://archive.is/q3nFy archive.is]〉〈[https://web.archive.org/web/20230319011236/https://ashphy.hateblo.jp/entry/2023/03/16/203927 Internet Archive: Wayback Machine]〉

2024年2月28日 (水) 13:59時点における最新版


  • サブドメインの設定

下記を参考に

  • ログインしたらまず

apt update と upgrade

SSLはポートを開いてからでないとエラーになる。

postgreのとこ調べとく。

立ち上げのところで一度つまづく。

再起動

sudo reboot

SSH接続

 Xserver VPSでは初期設定でパスワードでの接続は不可になっているんだったか、自分で設定したんだったか覚えていないけど、ともかく不可。セキュリティ的にもそれはよくない。そこで、暗号鍵を使って接続しようとするのだけど、ここでなかなかうまくいかない。XserverのVPSのサイト上から鍵を作って登録しているのだけどうまくいかない。原因はOpenSSH8.8からSHA-1のRSA鍵が無効になっていたことだった。

 SHA-1のRSA鍵があかんというのは下記サイトを参考に。

 Tera Termでの鍵の作り方は下記を参考に。ただし、ED25519で作ること。

 作った公開鍵をサーバーに登録する仕方などは下記を参考に。

 Xserverに限らずだろうけどSSH接続の設定などは下記を参考にファイルを編集。

リリースのアップグレード

sudo do-release-upgrade

PostgreSQL

dump(ダンプ)/バックアップについて

release upgradeによるバージョン変更とクラスターアップグレード

 もちもとXserverのMastodonイメージで入っていたのは12系でUbuntu.22.04.1(のはず)。少なくともdo-release-updateコマンドでUbuntu22.04.2になったときPostgreSQLが14系になった。これにともなってclusterというのか、いわゆるデーターベースもアップデートが必要になり、フォルダーも変更になりでけっこうたいへんだった。参考にしたのは下記のサイト。

 下記で解説されている手順としては、古い系統と新しい系統の両方のクラスターが存在していて、そのことをまず"pg_lsclusters"コマンドで確認。ふたつともオンラインになっている。新しい方は"do-release-upgrade"の課程でも注意を促す表示があったけど、新しいクラスターは新しいバージョンのPostgreSQLをインストールする際に自動的に作成されるのでいったん削除する。そのさいにオンラインのものをオフラインにするというのをコマンドで同時にしているのだと思うが、そのコマンドが次の"pg_dropcluster 14 main --stop"。新しい14系のクラスターが無事に削除され、13系がオフラインになっているかを再度"pg_lsclusters"コマンドで確認。確認ができたら13系のクラスターを14系にアップグレードするのが"pg_upgradecluster 13 main"というコマンド。"13 main"のところは、私の場合"12 main"に置き換えてコマンドを打った。

libidm.so.11問題

参考になったのは下記。シンボリックリンクのところ。ただ、この場所に目的のファイルがなかったのでそれを探すのはまた別。


以下はMastodonではなく別のソフトについての相談だけど、同様の対処法を示しているけど同じようにシンボリックリンクを張るよう助言していて参考になる。

ユーザーの追加(シングルユーザーモードの場合)

 シングルユーザーモードの場合、WebのUIからはユーザー登録ができないので、シェルからコマンドを打ってユーザーを追加する。シングルユーザーモードというのは、ユーザーがひとつしか作れないモードではなくて、WebのUIからユーザー登録をできなくするモードのようだ。シェルで打つコマンドについては下記のページが参考になった。気をつけるべきポイントは2つ。メールアドレスの送信と認証を飛ばすために、メールアドレスが確かめられているというオプションをつけること。これは下記のサイトにあるとおりでよい。もうひとつは、ほかのユーザーと同じメールアドレスは通らないということ。つまり、最初に作ったアカウントで使用しているメールアドレスと同じメールアドレスではとおらないの、少し工夫してあげて、gmailであれば@マークよりも前の部分に冒頭でないか連続するのでないドットは入れることができるので(最後もあかんかったかなあ)、たとえばgmailにとっては"hogehoge@gmail.com"と"hoge.hoge@gmail.com"は同じメールアドレスとして認識されるけど、mastodonでは別々のメールアドレスとして認識してくれるので、それを利用すれば、ほかのと同じメールアドレスでシェルから新しいユーザーを登録できる。

- Mastodon ― さくらの VPS マニュアル

 上記のページを参考に下記のようなコマンドでユーザーが追加できる。"email"の部分は実際のeメールアドレスを、"USERNAME"の部分には実際に追加したいユーザーネームを書くこと。

sudo -u mastodon -i
cd live
RAILS_ENV=production bin/tootctl accounts create --role Admin --email EMAIL --confirmed USERNAME

キャえッシュの削除

「キャッシュの削除」じゃない適切な名前に変更すべし。

su - mastodon
cd ~/live/
RAILS_ENV=production bin/tootctl media remove --days=1

マストドンのアップグレード

Mastodon(マストドン)のメンテナンス関係リソース

RAILS_ENV=production bin/tootctl media remove --days=1

RAILS_ENV=production bin/tootctl media remove --prune-profiles

RAILS_ENV=production bundle exec bin/tootctl status remove --days=5

RAILS_ENV=production bin/tootctl media remove --remove-headers

RAILS_ENV=production bundle exec bin/tootctl emoji purge --remote-only

メンテ

マストドンの運用と法令関係

- マストドンと改正プロバイダ責任制限法 鯖管が知っておくべき義務と権利archive.is〉〈Internet Archive: Wayback Machine