![見出し画像](https://assets.st-note.com/production/uploads/images/104168735/rectangle_large_type_2_89c221faaa4cb99f85381051897f0449.jpeg?width=1200)
カルキー立ててみた話
お久しぶりです。以前、マストドン借りてきた話を書いたわーさんです。
あの後、借りてきた自鯖で大変楽しく遊んでいたんですよ。
好き勝手にタグを増殖させてみたり、絵文字を設定したり、特定の絵文字が大きく表示されるよう、カスタムCSSに手を出してみたり。
ホストドンさんで借りてきたマストドン自鯖で何がどう楽しめるか、につきましては、かみまさんの書いた【マストドン】個人サイト感覚で、自分専用のサーバを作りました!|かみま|noteが大変良い感じに思いますので、是非参考にしていただければと思います。
で、何故かそこから更に脱線して、この前、Calckey(わーさんはカルキーと読んでますが、どう読むかには諸説あります)の自鯖を立ててしまいました。
いや、本当に、何がどうしてこうなった感は本人にもあるのですが、立ててしまった(というか、立てられてしまった?)ものは有効活用しなきゃなぁってことで、ひっそりひっそり、遊んでおります。
以下、長文になりますので、ご注意ください。
前情報的なアレコレ(スキップ可)
わーさんの初心者度について(当日19時半追記)
マストドンとカルキーで何の気なしにこのnoteへのリンクを公開したところ、主にカルキーの投稿に様々な方から反応をいただきまして、gkbrしてます、わーさんです。
そもそもこの記事書いたのって、わーさんの周りの友だちがミスキーかカルキーでの自鯖建立に興味を持っていて、でもわーさんと同程度には普段プログラミングとは疎遠で、だから完全初心者のわーさんが何をどうやればカルキー鯖が立ったのか、何とか成功した方法をメモとして残そうかなって思って書きました。
わーさんは、授業ですらプログラミングを学習する機会がなかったもので、今回、検索と公式ドキュメントっぽいのを頼りにやってみた感じです。
手順について、このキー押すよ!とか細かく書こうと努力したのも、(うまくいっているかはさておき)同じように操作で詰まる方がいるかな、と思ってのことですので、わーさん本人がそのレベルだと思ってください。
なので、SSHとかその辺についてソフトが色々あるらしいのも比較検討できてませんし、後述のクラウドフレア云々についても、「わーさんも、わーさんの友だちもクレアフラウド関係の設定で引っかかった→カルキーの公式ドキュメントではクラウドフレアは無理に使わなくて良いって書いてる→よしそれで行こう!」の軽~いノリであったことを白状しておきます。
Tera Termを使ったのは、SSH接続の方法に対する解説がすぐ見つかり、なおかつコピペの方法が明記されてて使えそうだったから、という以上の理由はないです。
もし、もっと使いやすいソフトが!とかがあるようでしたら、記事なり何なり書いて連絡いただければ、当記事からリンクを貼ったりするかもしれません。
そもそもカルキーとは?
大雑把に、と言うか非常に乱暴な言い方を許してもらえるならば、ミスキーから枝分かれしていったFediverseの仲間の1つです。
ミスキーのシステムを使っている部分と、そうでない部分があります。
例えば、同じサーバー内に作った複数アカウントの切り替えが簡単だったり、絵文字でのリアクションができたり、画像倉庫として各アカウントにドライブが割り当てられていたり、クリップ、ページ、ギャラリー、などなど機能がいっぱいあったりするところはミスキーっぽいです。
一方で、絵文字リアクションとは別にいいねボタンがあったり(ただし反応はどちらか片方のみ?)、お気に入りという名のブクマ機能があったり、ちょこちょこマストドンに似たようなアイコンでの機能もあります。
業績機能を実装する前のミスキーから分かれたらしくて、業績機能はないです。好きな人は好きそうですので、一応。
また、ミスキーは日本人が開発の中核を担っていますが、カルキーはそうではない雰囲気がしますね。
何故カルキーを選んだの?
まあ、一言で述べてしまうと、雰囲気とノリですね? あと、後述するCloudFlareの関係。
実はカルキーを立てる前にミスキーを立てようと四苦八苦していたのですが、なかなかうまくいかず。Ubuntu版Misskeyインストール方法詳説 頑張ってやってみたんですが、どうにもつながらず。その関係であちこち徘徊してみたものの……というのと、ちょっとした諍いを目にして、今回はカルキーに走ってみました。
根性のある方は、この詳説がとってもお勉強になりますので、読んでみると良いかと思います。……根性は要ると思いますけど。でも、まあ、日本語なので!! 頑張れば! 読めます、きっと!!!
今回用いた方法
カルキーの入れ方にも色々あるのですが、今回はcalckey/ubuntu-bash-install: Fork of join-misskey's Ubuntu bash installer for Calckey - ubuntu-bash-install - Codeberg.orgというページ(英語です)に沿って進めます。
サイトこそ英語で、外国語苦手勢をウッとさせますが、作成に必要なコピペがたったの2回……!!! というのと、カルキーのアップデートの方法も載っていて、やっぱりコピペ2回で実行できるところが大きすぎる魅力。
初心者が失敗しないためには、やっぱりやることを少しでも減らすのが一番なのですよ……(これに辿り着くまでにやらかした失敗の数々を思い浮かべて遠い目になるわーさん)
もちろん、もっとガチにカルキーを入れたい場合は、calckey/calckey: A fun, new, open way to experience social media - calckey - Codeberg.orgを見れば……英語ですけど……コピペ祭ができますよ……。
ただ、こっちのサイトは多分プログラミングが理解できている方向けで、準備する中身についてはサラッとしか述べられていないので、準備する中身を初心者がそろえるには、一緒にUbuntu版Misskeyインストール方法詳説を見ないとしんどいと思います。カルキーはミスキーから枝分かれしたので、ミスキーと色々似通っている部分が多いのです。
必要なアレコレ
上記前情報はさておき、カルキーを立てるのに最低限必要なアレコレです。
VPSで借りてきたサーバー(Ubuntu必須、特に22が借りられるとベスト)
ドメイン
(念のため)SSH的なソフト(特にWindows民)
えっと、一応、最終的にここまで減らしても動くことは動きます(暴論)
ただ、もしメール認証とか入れるならメール送受信のシステムが必要になってきますし、画像などの保管に凝ったことをするのであれば、そちらの設定に必要であろう諸々が追加で……みたいに増えます。
VPSで借りてきたサーバー
VPSというのは、コンピューターそのものにアプリだのなんだのを入れる権限ごと借りられるレンタルサーバーです。レンタルサーバー、レンタルスペース、だけだと、条件を満たさないことがあるので注意してくださいね。
今回使う手段では、UbuntuというOSで動くサーバーが必要です。できれば(この記事を書いている2023年4月段階で)最新のUbuntu 22であればベスト。スペックについては、正直、どれが最適なのかは調べきれませんでした。多分、やりたい規模にもよるんじゃないかなぁ……。
わーさんは、最終的にはKAGOYAさんで借りてきましたね。登録には少々時間が掛かりましたが、メールをきちんと見ておけば大丈夫です。
最初のうちは別のサービスも試していたんですが、独自仕様がいくつかあったらしくて、失敗したときに何が原因か分かりづらくて……ここに落ち着きました。ここのサービスを知ったのは、やまこさんがCalckeyサーバ構築メモ にて、カルキー鯖を立てる実験をした時に使用していたと言っていたからですね。
ドメイン
次に、ドメイン、というのは、サイトアドレスのことです。個人サイトを独自ドメインで持っている方々になら説明不要……と、言いたいところですが、わーさん、誰がこの記事を読みに来るのか分からないので、一応説明を続けます。
上記VPSで借りてきたサーバー、実は何もしなかったら、基本的なアドレス(IPアドレスと呼ばれます)が数字とピリオドの羅列なんですよ。で、それを我々のよく知るアルファベットの(もしくは日本語も最近出てきた)サイトアドレスにする、そのサイトアドレスがドメインです。
わーさんは普段から、ムームードメインさんにお世話になっています。
なので、何をどう操作したという話も、それに沿ったものになることをお許しください。
SSH的なソフト
VPSで借りてきたサーバーって、特に今回借りてくるOSって、そもそもの画面や操作の方法がWindowsやMacとは違うんですよ。CUIって言って、文字ベースなんです。(WindowsやMacはGUI、グラフィックベースらしいです。)で、その文字だけで操作する(コマンドを打つ)のに便利なソフトです。
また、せっかく借りてきたサーバーが簡単に乗っ取られて操作されないように、強固な鍵を使う仕組みがあったりします。この辺については、実際にどう操作したかのところで書けたら良いなと思います。
今回、わーさんが使用したのはTera Termというソフトでした。どのソフトを使うにしても、今回の必須機能としてコピペがあるので、その方法だけはきっちり確認しておいてくださいね。(因みにTera Termさんの場合はAltキーとC,Vでした。)
なお、Macの民は、ターミナルなる便利ソフトが元から入っているらしいです。
わーさんはWindowsの民なので、その辺りちょっと解説できないんですが、上述のやまこさんの記事はMacでの作業っぽかったので、参考になるかもしれません。
【蛇足】CloudFlareについて
ミスキーでは、CloudFlareという、ドメインと借りてきたサーバーをつなぎつつ、メールの受信を可能にさせつつ(転送させつつ)、他にも色々玄人にはウケの良さそうなアレコレソレを提供してくれるらしいサービスの使用が推奨されておりますが、カルキーでは(公式を見る限りは)オススメされておりません。
これ、よく引っかかりそうなのが、公式ドキュメントでは以下のように書かれているんですね。
I'd strongly recommend against using CloudFlare, but if you do, make sure to turn code minification off.
これを、例えばiPhoneの翻訳にかけると、まるでクラウドフレアを使うことを強く勧めるみたいな日本語が返ってきますが、【against】という、否定の言葉が使われているので、実は意味は逆なんです。本当かな? と思うならば、是非recommend againstで調べてみてくださいな。
で、このクラウドフレア関連なんですが、一応日本語ページがあるとはいえ、わーさん以外にも結構引っかかってる人の話を聞いたので、今回は使わずに済みそうなカルキーの方を優先して立ててみた次第です。
具体的な手順アレコレ
本当はスクリーンショットでもあれば分かりやすいんですが、作業に夢中になりすぎて撮影しそびれました、すみません。
1.必要なアレコレを準備する
作業のうち、最も手を動かしているのが、多分この準備期間です。
VPSサービスに登録しつつ、「どのOSをインストールしますか?」の質問にUbuntu 22を選択しつつ、ドメイン獲得しつつ、SSHのソフトを探してインストールしていたら、結構手が動いてる気分になれますね。
VPSのサービスによっては、Ubuntuの他に何も入れなくて良いかい?と聞いてくれたり、その中にマストドンがあって心揺れたりしますが、カルキーを入れる今回は不要です。
また、(秘密)鍵を作成しますか? と聞いてくる場合は、是非作成しましょう。SSHでUbuntuに接続するためには必要です。(パスワードも決めさせられますが、SSHから接続したときにパスワードでのログインを許可しないサービスが多いためです。)
この辺りの話は、KAGOYAさんの場合、マニュアル - KAGOYA CLOUD VPS サポートサイト - SSH接続の設定に載っています。
ドメインについては、ムームードメインさんで取ってきましたが、既に自サイトなどでドメインを持っている方は、サブドメインを作成しても良いかもしれませんね。マニュアルページの中、ムームーDNSカスタム設定 – ムームードメイン (muumuu-domain.com)のページにて、取得したドメインと借りてきたサーバーを紐づける設定のやり方が載っています。
1. コントロールパネルにログインします。
2. 左メニュー「ドメイン操作」>「ムームーDNS」をクリックします。
3. 対象ドメイン名の右に表示される「利用する」もしくは「変更」をクリックします。
4. ページ下部「カスタム設定」ボタンをクリックします。
(5.は関係ないのでスキップします。)
6. 「設定2」の項目を設定します。
7. ページ下部「セットアップ情報変更」のボタンをクリックします。
8. 確認のポップアップが表示されるので「OK」をクリックします。
9. 設定変更完了のポップアップが表示されるので「OK」をクリックします。
10. 設定完了です。
実際にカスタム設定場面まで辿り着けば、サブドメイン、種別、内容、優先度という項目が設定できるので、種別にA、内容に借りてきたサーバーのIPアドレス(IPv4の方、アルファベットなどを含まない、数字とピリオドの羅列です)を設定しましょう。今回は念のために、設定したドメインの1個下のサブドメインにも同じIPアドレスを設定しました。(この辺はやまこさんの書いたMastodonお一人様サーバ構築メモ を参考にしました。)
2.VPSサーバーの電源を点ける
これは、VPSサービスにログインしないと点けられません。だって、本体が向こうにあるんだもの……!(多分
電源を入れるリンクをポチっとしても、起動には少々時間が掛かります。状態の確認もVPSサービス側から可能ですので、サーバーが稼働していることを確認の上で、SSHを起動させましょう。
鍵が最初から作成されないサービスを使った場合は、サービス内にあるコンソール、という項目からもサーバーにコマンドを送る(つまり、操作する)ことができます。この場合に必要なのはユーザー名(サービスにより異なります)と自分で設定したサーバー用のパスワードです。
先ずユーザー名を打ち込んでEnterキーをぽち。で、次のパスワードがまた曲者で、コンソール上では一切、打ち込んだ痕跡すらも一切、画面上には表示されないんですよ。つまり、何をどう入力したのか全く分からない状態で、パスワードを入れ切って、Enterキーをぽちっとな、する必要が……(汗)
その意味でも、早期にSSHでログインできるようにした方が心臓には良いですね。いやマジで。
いずれにせよ、VPSサーバーの電源を入れ、ログインできたら、(ユーザー名)@(IPアドレス):みたいな表記の後にカーソルがチカチカ、待機してくれていることと思います。
3.サイト手順に沿ってコピペ
calckey/ubuntu-bash-install: Fork of join-misskey's Ubuntu bash installer for Calckey - ubuntu-bash-install - Codeberg.orgを見ながら、ログイン後の画面に打ち込んでいきます。
ページの中ほど、Steps、というのが具体的な手順を書いている場所です。
1. Prepare
Make sure all packages are up to date and reboot.
訳すると、こんな感じです。
1.準備する
全部のパッケージが最新であることを確認して、再起動します。
sudo apt update; sudo apt install git wget; sudo apt full-upgrade -y; sudo reboot
この長ったらしい一連の文字列をコピーして、コマンドとしてSSHなりコンソールなりに入力して、Enterキーで実行します。
一応コマンドを分かる範囲で解説すると、sudoっていうのが、管理者権限での命令をするよっていう合図、apt updateが本体のアップデート、apt install git wgetがGitとwget(多分プログラムを引っ張ってくるのに必要なシステムなりソフトなり)をインストールするよ、apt full-upgradeで全部最新にして、rebootで再起動です。
途中で何やら英語で聞かれますが、Y/nの質問にはyの後Enter(Enter単体でも良さそう?)、よくわからなくてもEnter連打で。
動いてる途中に邪魔しないようにだけ気をつけつつ、画面止まったなー、何か聞かれてるなー、のところだけ対処すれば。
VPSサーバーが再起動されると、SSHからは一旦通信が切断されます。そりゃ、再起動ってことは一回電源落として入れ直してるんだから、途切れますよね、通信。
そんな訳で、次の手順を読んでみましょう。
2. Start the installation
Reconnect SSH and let's start installing Calckey.
訳すると、こんな感じですね。
2.インストールを開始する
SSHに再接続させて、いざ、カルキーのインストールを始めましょう。
wget https://codeberg.org/calckey/ubuntu-bash-install/raw/branch/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
前以上に長ったらしいこの行をまるっとコピーして、SSH接続できていればペースト、Enter。もしサービス側のコンソールで来ちゃってる……ということであれば、再起動に伴う再度のログインを行ってから、コピペ→Enterです。
以上、立てるときの長ったらしいコピペタイムは一旦終了!
えっ、たったの2回でしたね!?
【オマケ】カルキーアプデ方法
ここまで、元のサイトと睨めっこしながら読んできた方なら、まだ手順が続いていることに気がついたかもしれません。
3. Updating
There is also an update script.
これは、カルキーをアップデートするときはこうしてね、という部分です。
wget https://codeberg.org/calckey/ubuntu-bash-install/raw/branch/main/update.ubuntu.sh -O update.sh
以上のコマンドで、アップデートに必要なデータを持ってきます。
sudo bash update.sh
そして、上のコマンドで、アップデートを実行できるとのことです。
4.色々裏方の設定を聞かれる
さて、カルキーのインストールを開始すると、しばらくはサーバーのスペックが足りているかとか、必要なアレコレが準備されているかだとかを確認しつつ、カルキーのデータを引っ張ってきてサーバーに展開してくれます。
その後、いくつかの質問が飛んでくるのですが、特にわーさんを固まらせた質問、これは引っかかるよなぁ、の質問などについてメモを残します。
まあ、後でももう一回述べますが、ほとんどの質問にはデフォルトで入っている答えをそのまま承認しちゃえば何とかなります。
4-1. repository urlって何ぞや?(聞かれます)
調べてみたけど、うーん、Gitに関連しているということまでしか理解ができませんでした!
元から指定されているURLがありますので、触らず、いじらず、Enterキーで承認しましょう。
4-2. PostgreSQLだのRedisだのの設定を求められるけど?
わーさんはうっかりRedisにパスワード決めて突っ込んじゃいましたが(デフォルトでは空欄です)、後から他の方の記事を巡回していたところ、Redisにパスワードの設定はしない方が良いらしいです……。空欄のまま、Enterしてしまって良かった模様。その影響なのか、わーさんの鯖、たまに挙動が不審な気がします。
【重要訂正】デフォルトでは空欄ですが、パスワードを設定しなかったことでエラーが発生したケースもあり、設定しておく方が良いようです。
4-3. オプション色々聞かれるね?
CloudFlareの文字列が見えた時だけは絶対にnを押してEnter(だって準備してないもの)、あとは良しなに……な感じです。
あと、サイトのSSL証明(httpsでの接続に必要)を入れる場合、メアドを聞かれることがありますので、メアドをちゃんと入れましょう。惰性でEntet押してたら、ここで引っかかるかもしれません。
まあ、サクッと強引にまとめると、いかにも自分のカルキー用のアドレス聞かれてるなっぽい質問のところとクラウドフレアのところとSSL接続の為にメアド聞かれるのさえ乗り切れば、分からない質問は何も考えずにEnter押してても何とかなりそうです。
そうして、無事に質問に答えきったら、自動でカルキーがインストールされ、立ち上がるという流れです。
英語に今一つ自信がない場合は、画面にコマンドを打ち込むモードが出現するのを見届けてから、自分の取ったアドレスに接続してみましょう。
5.カルキーの設定をする
カルキーが無事に立ち上がれば、管理人の登録画面になっています。変な人に見つかる前に、登録してしまいましょう。
コントロールパネル、というメニューから、色々と設定できます。もしお一人様鯖を立てたい場合、もしくは設定が終わるまではクローズドにしたい場合は、『全般』から新規登録の制限が可能です。
なお、新規登録を制限した場合、通常メニューから自分のアカウントを増やそうとしても招待コードが要求されますので、コントロールパネルから増やすか、招待コードを発行してください。
『全般』には、他にもインスタンス名(鯖名)やその説明用の設定、見た目の設定、リモートからのファイルを一旦キャッシュ(手元の倉庫に取り敢えず保存)するかどうか、ユーザー1アカウントにつきどれだけのドライブを割り当てるか、などなど一般的な項目が並んでいます。テーマカラーを指定するときは、先頭に#記号を入れないとエラーになるので、気をつけてくださいね。
わーさんは鯖缶の夢を見るか?
そんなタグもありましたね……
今回、カルキーを立てる前に、多分1週間くらい試行錯誤してたんですよ。その時の迷走っぷりは、わーさんのマストドンのメインアカウント(和条門 尚樹 (@naoki_wjm@my-create.art) - MyArtDon)で、タグ、#わーさんは鯖缶の夢を見るか - MyArtDon (my-create.art)あたりを辿れば見られます。見なくて良いけど。見なくても全く問題ないけど!!!
今回の最終的な行動については全く触れておりませんので、その意味でもタグを辿る必要性が皆無です。ただ、まあ、初心者が四苦八苦しているのを眺めて見たければ、どうぞ……
Create.Keyについて
そんなこんなを経て立てたカルキー鯖ですが、カルキーっぽさがありつつ、MyArtDon(わーさんのマストドン鯖)とも関連性を感じられる名前ということで、Create.Keyとしました。
MyArtDon同様、そもそもの動機が自分が好き勝手する用・身内用なので、今のところ、新規登録は大っぴらには開放しておらず、招待制です。
創作仲間用に、と言ってはいますが、わーさん本人がよく雑談しており、実態は創作鯖というよりも、ただの身内鯖……(笑)
興味があって、わーさんと仲良しだと自信のある方はお声掛けください。招待コードを発行するかもしれません。
前回も長くなったなぁって書きましたが、今回は輪をかけて長いですね!!
ここまでお付き合いいただいた皆さま、本当にお疲れさまでした&ありがとうございます。この記事が何らかの参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?