Slide 1

Slide 1 text

WordPress をActivityPub 対応に Kenichiro Matohara(matoken) 1

Slide 2

Slide 2 text

matoken @ 鹿児島の右下の山奥から参加 好きなLinuxディストリビューションはDebian map: © OpenStreetMap contributors Kenichiro Matohara(matoken) https://matoken.org [email protected] 2

Slide 3

Slide 3 text

前回 「TerminalでもFediverse」 Terminal で動作するmisskey クライアント sayaka ちゃん, Mastodon クライアント toot の紹介 その後 Mastodon client を試したり, shell browser に対応した ActivitiPyb サーバの を復活 https://gitlab.com/matoken/fedilug- 2023.12/-/blob/main/slide/slide.adoc nanotodon Epicyon 3

Slide 4

Slide 4 text

nanotodon 4

Slide 5

Slide 5 text

Epicyon 5

Slide 6

Slide 6 text

WordPress を ActivityPub 対応に 6

Slide 7

Slide 7 text

WordPress ActivityPub plugin ActivityPub – WordPress plugin | WordPress.org Automattic/wordpress-activitypub: ActivityPub for WordPress 7

Slide 8

Slide 8 text

テスト済 Mastodon Pleroma/Akkoma friendica Hubzilla Pixelfed Socialhome Misskey Firefish (rebrand of Calckey) 8

Slide 9

Slide 9 text

サブディレクトリに設置したblog なのでダメそうか…… 初期の頃は のようなドメインやサブド メイン以下に WordPress が設置されている必要があった 今運用している WordPress は の ような形式なのでNG http://blog.example.com http://example.com/blog 9

Slide 10

Slide 10 text

しばらく前に確認してみると — 行けるようになってそう What if you are running your blog in a subdirectory? In order for webfinger to work, it must be mapped to the root directory of the URL on which your blog resides. https://github.com/Automattic/wordpress- activitypub#what-if-you-are-running-your-blog-in-a- subdirectory 10

Slide 11

Slide 11 text

導入 WordPress の 管理者アカウントで「プラグイン」→「新規追加」から "activitypub" を検索,「インストール」ボタン お手軽 http://${BLOGURL}/wp-admin/network/plugin- install.php?s=activitypub&tab=search&type=term 11

Slide 12

Slide 12 text

サブディレクトリ対応 今回の blog は のようにサブディ レクトリ以下に格納されているので webfinger の設定をしてあげる 必要がある Apache httpd の場合,root ディレクトリ以下の .htaccess で以下 を設定( /blog/ 部分は実際のサブディレクトリに合わせる  Nginx の例も https://example.com/blog/ RedirectMatch "^\/\.well-known/(webfinger|nodeinfo|x-nodeinfo2)(.*)$" /blog/.well-known/$1$2 https://github.com/Automattic/wordpress- activitypub?tab=readme-ov-file#what-if-you-are- running-your-blog-in-a-subdirectory 12

Slide 13

Slide 13 text

試してみる @ドメイン名@ドメイン名 blog 全体の投稿の購読(頭 のID名は変更可能) @投稿アカウント名@ドメイン 名 アカウント毎の投稿の購読 アカウント名やプロフィー ルはblogの設定が反映さ れる(プロフィールは Fediverse 用が設定可 能) 13

Slide 14

Slide 14 text

Fediverse 用プロフィール 14

Slide 15

Slide 15 text

リモートから 15

Slide 16

Slide 16 text

Mastdonからフォローした状態で新 規 blog 記事を投稿 16

Slide 17

Slide 17 text

投稿内容のカスタマイズ 17

Slide 18

Slide 18 text

おすすめプラグイン 18

Slide 19

Slide 19 text

他のユーザーをフォロー 自分の WordPress を使って Mastodon または同様のプラットフ ォームのユーザーをフォローするには、WordPress の Friends プ ラグインを使用します。このプラグインを使用すると、投稿を受信して それを WordPress に表示でき、WordPress を独自の Fediverse インスタンスとして使用できます。 URL 短縮ツールを追加 Hum は WordPress のパーソナル URL 短縮ツールです。 WordPress または別の場所でホストされているパーソナルなコンテ ンツの短縮 URL を生成します。 https://wordpress.org/plugins/friends/ https://wordpress.org/plugins/hum/ 19

Slide 20

Slide 20 text

高度な WebFinger サポート WebFinger は、人や物の情報を URL で識別して発見できるプロト コルです。例えば、人に関する情報は、Acct と呼ばれる URL(電子メ ールアドレスのような URL)を介して発見できます。 ActivityPub プラグインには基本の WebFinger サポートが備わっています。詳細 な設定オプション、他の Fediverse または IndieWeb のプラグイ ンとの互換性が必要な場合は、WebFinger プラグインをインストー ルしてください。 https://wordpress.org/plugins/webfinger/ 20

Slide 21

Slide 21 text

ブログに関してさらなる情報を提供 NodeInfo は、分散型ソーシャ ルネットワークを運用するサーバーに関するメタデータを公開できる 共通仕様のことです。この取り組みにより、分散型 SNS のユーザーに 関する統計を得られるようになるほか、ユーザーが自分のニーズに最 適なソフトウェアとサーバーを選択できるようにするツールを構築で きるようになります。 この ActivityPub プラグインは最低限の NodeInfo エンドポイントを提供していますが、さらに設定を行う場 合や、ほかの Fediverse プラグインとの互換性を持たせる必要があ る場合は、NodeInfo プラグインをインストールしてください。 https://wordpress.org/plugins/nodeinfo/ 21

Slide 22

Slide 22 text

問題 WordPress 管理画面でフォロ ワーが表示されない リモートからは見えている? 22

Slide 23

Slide 23 text

その他 pull型のRSS(xml) に標準対応 → /feed/ JSON Feed なんてものも入れてみている → /feed/json/ JSON Feed (jsonfeed.org) – WordPress plugin | WordPress.org 23

Slide 24

Slide 24 text

まとめ blog システムの WordPress に ActivityPub plugin を導入し てお手軽に ActivityPub 対応 別途告知アカウントを用意しなくても WordPress 自体が ActivitiPub に直接投稿 投稿内容も細かくカスタマイズできそう (RSS から告知用アカントに投げるもでいいような気もする……) 24

Slide 25

Slide 25 text

奥付 発表 発表者 利用ソフトウェア ライセンス 第1回 Fediverse Linux User Group 勉強会 Kenichiro Matohara(matoken) Asciidoctor Reveal.js CC BY 4.0 25

Slide 26

Slide 26 text

No content