弊ブログ「鳥の神話」をActivityPubに対応させました

2023-07-05Diary

きっかけは、Fedibirdでそのようになったブログ記事が流れてきたことです。まず大前提として私はこの分野に関して全くのど素人です。しかし、ブログ記事がそのままFediverseに繋がっており、投稿したらそのままMastodon上でも見れちゃうという事実にロマンを感じたので自分でもやってみようと思い立ちました。この記事は専門家の知見とは程遠い、素人なりになんとか試行錯誤したらできた、というメモです。もしかしたら参考になるかもしれませんが、保証はしかねます。

まず、日本語ではこの方のブログ記事が一番詳しかったです。まずは、この通りに事を進めるのがいいです。
ただし、私のようなど素人には、これでもわかりませんでした。分からなかったのは、次の一文です。

「ルートディレクトリに.well-known/webfingerファイルを作る」

どゆこと????????
とりあえず、上記ブログの3まではなんとかできました。ActivityPub、WebFingerをWordpressにインストールしました(Friendsは必要性を感じなかったので入れませんでした)。そして、Gravatarの設定もしていなかったので、WordPress.com(←重要)でアカウント登録をして、Gravatarにてプロフィール画像を設定しました。
そう、この時点で私はWordPress.comとWordPress.orgの2つが存在することを知らなかったんですね。何度もGravatarにログインできず首を傾げてました。WordPress.comは無料ブログサービスの一種、WordPress.orgはサイト構築に使われるツール、とのことで、私はWordPress.orgには登録していたものの、WordPress.comへの登録が済んでいなかったようです。自分の使用しているソフトウェアの名前すら知らずにブログを運用していたんですねぇ……。

ActivityPubとWebFingerのプラグインを有効化したところ、サイトヘルスに致命的な問題が発生しました。

①Your author URL https://yo-fujii.parallel.jp/author/yo-fujii/ does not return valid JSON for application/activity+json. Please check if your hosting supports alternate Accept headers.

②Your WebFinger endpoint htpps://yo-fujii.parallel.jp/.well-known/webfinger?resource=acct:yo-fujii@yo-fujii.parallel.jp does not return valid JSON for application/jrd+json.

すみません、①のほうは一瞬出てしばらくしたら消滅したのでよくわかりませんでした。おそらくですが、キャッシュ関連のプラグインを入れている方はそちらを一瞬無効化して再度ActivityPlugとWebFingerを有効化するとなんとかなると思います。

②の方を解決するために、「ルートディレクトリに.well-known/webfingerファイルを作る」方法が紹介されていたのですが、こういうことで合っているんですかね……?よく分からなかったので、これに関しては自信ないです。でも、下記の処置をしてからしばらくしたらサイトヘルスステータスの警告は消え、数時間後に無事ブログがFediverse上に存在するようになっていました。結局、私の行った処理が功を奏したのか、何もしなくてもしばらく待てば成功していたのかが今となっては不明で、これが「参考になるかは保証しかねない」と留保をつけている理由の大部分を占めています。

私のやった処置は下記です。

ロリポップ!FTP(私の使用しているサーバーはロリポップのため)で、ルートディレクトリ(「/」と書かれたやつの直下)に「.well-known」というディレクトリを作成し、その中に「webfinger」というファイルを作成する。

具体的にはこうなっていて、

「webfinger」ファイルの中身はこうなっています。全然違ったらすみません。これで上手くいきましたが因果関係がないかもしれません、識者の方にこれで合ってるのか聞きたいです。「webfinger」ファイルの中身は、上記ブログで紹介されているものをほぼコピペでそのまま入れました。ちなみに「.well-known」ってなんやねん、というのは下記の記事に詳しかったです。
https://support.neoworks.jp/ssl/guide/well-known/

(最初「.well-known/webfinger」の意味が、「.well-known」の中に「finger」というファイルをつくる、という意味とは類推できず、何度も「.well-known/webfinger」というファイルを作ろうとしては弾かれてました。私ほどの初心者になるとこういう段階から躓くのですが、識者の方々からすると新鮮かと思うので一応記載しておきます。)

ちなみに、それまで私はwordpressをサブディレクトリに格納していたのですが、これを機にルートディレクトリ直下に格納することにしました。これによって、https://yo-fujii.parallel.jp/wordprss/だったサイトURLが、https://yo-fujii.parallel.jpになりました。ちょっとスリムに。これは、サイトヘルスの警告の解消のため色々と試行錯誤していくなかで試してみたもののうちの一つなのですが、警告の解消に関係あったのかはわかりません(その過程で一瞬ダッシュボードにログインできなくなりサイトが死にかけました)。

一連の作業を行い、サイトヘルスステータスに警告が出なくなったのが16時ごろ、実際にfedibird上で検索して「@yo-fujii@yo-fujii.parallel.jp」のアカウントが確認できたのは23時ごろでした。この辺個人差ありそうです。

何度かテスト投稿をしてみて、タグや画像などまできちんと反映されていることを確かめました。リンクは死んでるときもありますが、まあサイトまで飛ばずそのまま本文を読むのであれば死んでても別にいいかなという感じです。

以上、ど素人の覚書でした。Fediverseへの反映にシンプルに時間がかかるというのはあるかもしれないので、一連の対処を行ってなおアカウントが表示されないという方は、地道に待ってみるのも良いかと思います(私の観測範囲では一時間で反映されていた人もいたのですが、私は7時間以上掛かってたので……何の差かわかりませんが)。

(2023.9.10追記)
 飽きたので連携を解除しました。