1㍉もサーバの事が分からぬ素人が手探りでCalckey鯖を立てた記録。
Gandiで購入したドメインを、メインとメールはCORESERVER、サブドメインをOCI無料枠のCalckeyに割り当てる。Cloudflareは不使用。
CalckeyはMisskey v12の派生で、違いは色々あるが個人的にはキャラ画像等の差替が大きい。
参考
ドメイン取得
- Gandiでドメインを購入
- 今回選んだドメインのWhoisプライバシーが不完全でレジストリに問い合わせ中。マイナードメインはこういう事がある
サーバ作成
- 以下を参考にOCIの無料枠でサーバ作成、秘密鍵DL、ポート開放し、パブリックIPをコピー
Oracle Cloud Infrastructure Always Freeを使ってタダでMisskeyインスタンスを立てよう | aqz/tamaina
DNS設定
- GandiでDNSレコードを編集
- メインドメインとメールサーバをCORESERVERに編集
@ 10800 IN A (CORESERVERのIP)
@ 10800 IN MX 10 (サーバ名).coreserver.jp.
@ 10800 IN TXT "v=spf1 ip4:(CORESERVERのIP) ~all"
- IPとサーバ名はログイン後
サイト設定
で確認 - MXレコードは2個あるので1個削除
- IPとサーバ名はログイン後
- Calckeyで使うサブドメインのAレコードを追加
calc 10800 IN A (OCIのパブリックIP)
- 後に設定するオブジェクトストレージ用サブドメインを追加
files 10800 IN A (OCIのパブリックIP)
- メインドメインとメールサーバをCORESERVERに編集
- DNS浸透を数時間待つ
Calckeyインストール
- TerminalでSSH接続
ssh ubuntu@(OCIのパブリックIP) -i ~/.ssh/(秘密鍵).key
~/.ssh/config
に以下を記述すると次回からssh oci
で接続可能Host oci
Hostname (OCIのパブリックIP)
User ubuntu
IdentityFile ~/.ssh/(秘密鍵).key
- パッケージ更新
sudo apt update; sudo apt full-upgrade -y; sudo reboot
- SSH再接続
- Calckeyインストール
wget https://codeberg.org/calckey/ubuntu-bash-install/raw/branch/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
- 基本的に全て
y
、Cloudflareの使用はn
- iptables(
i
)を選択 - 初期値が入っているものはドメイン名以外そのまま
- example.comを自分のサブドメインに変更
- 一度違うドメイン名で進めた場合、nginxでエラーになるのでアンインストールする
sudo apt purge nginx nginx-common nginx-full
- 一度違うドメイン名で進めた場合、nginxでエラーになるのでアンインストールする
- Misskeyのシェルスクリプトと同様なので以下を参考に
https://github.com/joinmisskey/bash-install#readme
- 基本的に全て
Calckey管理設定
管理者アカウントを作成し、コントロールパネル
で設定
非公開モード
他のサーバと繋がらなくする。
設定 - セキュリティ > インスタンスのセキュリティー
> 非公開モード:オン
リモートキャッシュ無効化
サーバのストレージを節約する。
設定 - 全般
> リモートのファイルをキャッシュする:オフ
メール配信
- CORESERVERで配信用・個人用にメールアドレスを2つ作成
設定 > メールサーバー > メール配信機能を有効化する
- メールアドレス: 配信用アドレス
- ホスト:
(サーバ名).coreserver.jp
- ポート:
465
- ユーザー名: 配信用アドレス
- パスワード: アドレス作成時のパスワード
- SMTP 接続に暗黙的なSSL/TLSを使用する: オン
- 右上ボタンで個人用アドレス宛に配信テスト後、☑で保存
プッシュ通知
- キー取得
- TerminalでSSH接続
sudo npm install web-push -g
sudo web-push generate-vapid-keys
- Public keyとPrivate keyをコピー
設定 > 全般 > ServiceWorker
> ブラウザへのプッシュ通知を有効にする:オン
- Public keyとPrivate keyを貼付
botプロテクション
- hCaptchaにアクセスして
サインアップ
出版社向けのhCaptchaを私のウェブサイトまたはアプリに追加します
を選択、アカウント作成- 表示されたサイトキーとシークレットキーをコピー
設定 - セキュリティ > botプロテクション > hCaptcha
を選択- サイトキーとシークレットキーを貼付
オブジェクトストレージ
- 引き続き以下を参考に設定
Oracle Cloud Infrastructure Always Freeを使ってタダでMisskeyインスタンスを立てよう | aqz/tamaina- OCIメニュー項目名 旧
ユーザー設定
→現自分のプロファイル
- 証明書取得時のエラー対策
- TerminalでSSH接続
- ポート80使用中のnginxを一時停止する
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
sudo certbot certonly -t -n --agree-tos --standalone -d files.(ドメイン名);
- nginxを再起動する
sudo systemctl restart nginx
- ※certbotに
--nginx
追加でもいいらしい
- OCIメニュー項目名 旧