案外あっけなくできた。ということで、備忘録を兼ねてメモを残しておきます。
前提・PC回りなど
- Windows 11 Home
- Mastodon(自分は派生フォークのkmyフォークでやったけど、ほぼ流れは同じ)
- 外部から・常時接続は考慮してない
大まかな流れ
- 「Microsoft Store」から必要ソフトウェアをインストール
- 「Linuxサブシステム」と「仮想マシンプラットフォーム」にチェック
- Ubuntuの設定
- Mastodon依存モジュールのインストール
- Mastodonのインストール
- Nginx・hostファイルの設定
- サービス起動
詳細の流れ
1.Microsoft Storeで必要ソフトウェアをインストール
「Microsoft Store」から下記の2つをインストールします。
- Windows Subsystem for Linux
- Ubuntu 22.04
2.「Linux サブシステム」と「仮想マシンプラットフォーム」にチェック
Win11のバージョンかHomeだからか、「設定→アプリ→オプション機能→Windowsのその他の機能」で設定項目を見つけられず。私の場合「コントロールパネル→プログラムと機能→Windowsの機能の有効化または無効化」でいけました。
設定窓を開いたら「Linuxサブシステム」と「仮想マシンプラットフォーム」にチェックして再起動。
3.Ubuntuの設定
ログインユーザー名とパスワードを求められるので、適当に入力しましょう。設定が終わったらでrootユーザーに切り替えます。
4.Mastodon依存モジュールのインストール
Installing from source Mastodon documentation
Mastodon公式ドキュメントを参考にしつつ、「Setting up Mastodon」見出しまで進めます。
5.Mastodonのインストール
$ RAILS_ENV=production bundle exec rake mastodon:setup
上記のコマンドを入力してMastodonの設定を行います。設定項目は「Domain name」以外いじる・設定する必要はありません。(メールもどうせ利用しないので空白でOK)
「Domain name」は適当なドメインで登録します。後でhostファイルをいじって設定するので、必ず覚えておいてください。
この時点で管理者アカウントを作っておくと楽になります。
6.Nginx・hostファイル・systemdの設定
Nginxの設定
下記の作業をrootユーザーで実行します。Mastodonのマニュアル通りにnginxファイルをコピー・リンク。コピーが終わったら、viで設定ファイルをいじっていきます。
$ cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
$ ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
$ rm /etc/nginx/sites-enabled/default
$ vi /etc/nginx/sites-available/mastodon
server 80・443のserver_name
を5で設定したドメイン名、443のssl_certificate
の項目の下部分に+
で始まっている2行を追加します。
# ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
+ ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
+ ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
mastdon
を編集後、ngnixの設定ファイルを編集します。
$ vi /etc/nginx/nginx.conf
user www-data
の項目をuser mastodon
に書き換え、編集が終わったらNginxをリロードします。
hostファイルの設定
メモ帳を「管理者権限で実行」しながら開くC:\Windows\System32\drivers\etc\hosts
ファイルを開いて、+
で始まっている2行を追加
127.0.0.1 localhost
::1 localhost
+ 127.0.0.1 <設定したドメイン>
+ ::1 <設定したドメイン>
下記項目の記入が終わったら保存します。
system.dの設定
下記のコマンドをrootユーザーで実行します。
$ cp /home/mastodon/live/dist/mastodon*.service /etc/systemd/system/
$ $EDITOR /etc/systemd/system/mastodon-*.service
7.サービス起動
下記のコマンドをrootユーザーで実行して、Mastodonサービスを起動します。
$ systemctl daemon-reload
$ systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming
実行後、指定したドメインをブラウザに入力します。潜在的なリスク云々出るが、警告を無視して(詳細設定→進む)で移動。移動先で無事にMastodonが表示されたら設定完了です、お疲れさまでした。
その他覚え書き
オレオレ証明書いる?
不要でした。設定しても結果は変わらなかったのですが、一応参考リンクだけ置いておきます。
派生フォークはどうやってインストールするの?
MastodonのGitを指定する時に派生フォークのGitを指定しましょう。あとは派生フォークのインストールガイドを見ながらインストールすればOK。
爆破したいときどうすればいい?
設定→アプリでUbuntuを削除。そのあとPowerShellなどで下記のコマンドを実行してからUbuntuを再インストールします。
$ wsl --unregister Ubuntu-22.04
上記コマンドを実行してからじゃないとうまくUbuntuが動かないので注意しましょう。