どうしてひとりサーバを立てたのか

なんか勢いとかそういう感じです(え

もう少し詳しく言うと、筆者はMisskey.ioをやっていたのですがそこでらくがきをアップしたらioだけでなく他のインスタンスからもたくさん反応がありました。

それでそうかActivityPub対応のサーバを立てればioと繋がったまま自分で自由な発言のできる場所を作れるんだと思ったのでした。

で、ちょうどLinuxの勉強(lpicレベル1)もしているし、ひとりサーバの運営をやってみれば実践にもなっていいかな、とか考えているうちにVPSの契約をしてドメインも取得してしまってたんですよね。

なぜAkkoma?

  • 比較的軽量らしい
  • カスタム絵文字リアクションができる

主な理由はこの二つです。特にカスタム絵文字リアクションができるというのが一番でしょうか。というのも、Misskey.ioにハマったのが絵文字でリアクションを付けるのも付けられるのも楽しかったからですし。

それならMisskeyでもいいじゃないかという話ですが、Misskeyは複雑で大人数向けというイメージがあったので軽量だとよく書かれていたAkkomaにしました。

あとは、FF内にAkkomaでのひとりサーバの方がいたのも影響してるかな。

必要なもの

  • ドメイン
  • サーバ

必要なものについてもうちょっと詳しく

ドメイン

サーバに接続するのにドメイン(住所のようなもの)が必要です。筆者は取得価格と2年目以降の更新料が明示されていてわかりやすいという理由でXdomainで契約しました。もちろん他にもたくさんドメイン取得サービスがあるので適当に検索してみてください。けっこうサービスによって値段が違ったりします。

サーバ

VPS…仮想専用サーバとの契約が必要になります。このサーバの中にAkkomaとNginx(とその他依存関係にあるソフトウェア)をインストールして動かします たくさんサービスがあるので適当に検索してみてください。筆者はドメインを取得したのと同じ運営元のXserverで契約しました(VPS 2GB)。

手順(準備編)

VPSの立ち上げ

VPSの契約の際(だったと思うたぶん)にどのOSでインスタンスを立てるかに聞かれると思います。筆者は家でDebian系のディストリビューションを使っているのとakkomaの公式OTPインストール方法のページで挙げられているのでDebian11を選択しました。

ssh

VPSに接続して作業するのにsshクライアントが必要になります…が、筆者がメインに使っているMacOSではTerminalで

$ ssh -p [ポート番号] -i[鍵ファイル] [ユーザー名]@[サーバーアドレス]

すれば接続できます。WindowsではTeraTermなんかを使えばいいらしいです。 XserverVPSでの特有の方法についてはここを参考にして接続まで持っていきました。

DNSの設定

ドメインを取得しただけでは何の役にも立たないのでDNSの設定をしてドメインとサーバのIPアドレスを結びつける必要があります。詳しくはドメインの取得サービスのヘルプをみれば方法が書いてあるかと思います。

ホスト名は取得したドメイン、種別NSの内容にネームサーバのアドレス、種別Aの内容にサーバのIPアドレスを入力する感じです

設定した内容が反映されるまで時間がかかるので気をつけましょう。

手順

注意:この手順はサーバを建てた時点での最新版v3.8.0に基づいて記述しています。もしかすると、バージョンによって内容が変わっているかも知れないので公式の手順を参照してインストールしてください。 Installing on Linux using OTP releasesを参照してインストール作業を行いました。 (英語が苦手でもGoogle翻訳で何とかなるはず)

ほぼこのページに書かれているコマンドをコピペしていけばインストールできます。

certbotの項目にあるyourinstance.tldは自分のドメイン名に置き換えてコマンドを打ち込みましょう。

Edit the nginx configの項目ではDebian系ディストリビューションでの場合、nano /etc/nginx/sites-available/akkoma.confで設定ファイルを編集できます。

example.tldが5ヶ所あるので、これも自分のドメイン名に書き換えて保存しましょう。

また、自分のバージョンではCopy Akkoma nginx configuration to the nginx folderの項目でデフォルトのNginx設定ファイルが/opt/akkoma/installation/nginx/akkoma.nginxではなく/opt/akkoma/installation/akkoma.nginxにあってスムーズにコピーができませんでした。適宜置き換えて対応すれば良いと思います。

手順その2 

おひとりさまサーバ用の設定を行う

設定ファイル:/etc/akkoma/config.exs

registrations_open: falseに変える

これによって新規登録が不可となり、ひとりでの運用が可能となります。

設定変更後はakkomaを再起動させることsystemctl restart akkoma.service

カスタム絵文字の導入

web上にあるカスタム絵文字パックをコマンドで導入する方法と所定のフォルダにカスタム絵文字の画像ファイルを所定のフォルダにコピーして導入する方法があるようです

例えばBlobcat絵文字を導入するには

su akkoma -s $SHELL -lc "./bin/pleroma_ctl emoji get-packs blobcats -m https://raw.githubusercontent.com/DuckOfDisorder/BlobCats/main/manifest.json"
su akkoma -s $SHELL -lc "./bin/pleroma_ctl emoji reload"

で導入できます

自作したカスタム絵文字の画像ファイルは/var/lib/akkoma/static/emoji/以下のディレクトリに置いて導入しました。

おわりに

というわけで割と簡単にひとりAkkomaサーバが建ちました。いまではここを根城に日常を投稿したり、好きなカスタム絵文字を入れてみたり、いろんな方をフォローして遊んでいます。

最近はひとりサーバでCalckeyを立てるのが流行っていて確かに簡単に立つなーというイメージですが、Akkomaも軽くて良いソフトウェアなのでひとりサーバを建てたいなとなった時、候補に入ればいいなと思っています。

参考