SlideShare une entreprise Scribd logo
1  sur  34
1
DATE COMPANY SERVICE VERSION
|No.2
Mastodon
インスタンス
に必要なもの
|No.4
スクリプトでさ
くらのVPSに⽴
ててみる
|No.1
スタートアップ
スクリプトとは
2017/6/28 さくらインターネット株式会社 根本 昌季さくらのクラウド
|No.3
スクリプ
トの処理と
補⾜Mastodonインスタンスを
セットアップできるスタート
アップスクリプトについて
22
• ⽒名
根本 昌季
• 所属/業務内容
技術本部 ミドルウェアグループ/クラウドチーム(運⽤メンバー)
• 前職までの経歴
DNS/メール/監視サーバの構築/運⽤を主に担当
• 趣味
スクーバダイビング/ジョギング
⾃⼰紹介
33
✓ さくらのクラウドでサーバの起動時に実⾏するShellスクリプト
✓ コントロールパネルに⼊⼒した値を変数として使⽤することができる
✓ スクリプトの⻑さは 10000⽂字まで
✓ 詳しくはクラウドニュースを参照
スタートアップスクリプトとは
スタートアップスクリプトとは
44
スタートアップスクリプトとは
55
スタートアップスクリプトとは
スタートアップスクリプトの
ソースコード
66
スタートアップスクリプトとは
サーバ作成でMastodonの
スタートアップスクリプトを
選択
77
✓ Ruby
✓ Node
✓ Postgres
✓ Redis
✓ Mastodon
Mastodonインスタンスに
必要なアプリケーション
Mastodonインスタンスに必要なもの
88
✓ DNS レコード
ブラウザでアクセスする為にAレコードの登録が必要
✓ SMTP サーバ
Mast odonへのアカウント登録時にメールを送信するのに必要
✓ HT TPSに対応した Web Proxy サーバ
SSL/TLS証明書が必要
Mastodonインスタンスを
公開する為に必要な設定
Mastodonインスタンスに必要なもの
99
✓ DNS レコード
ブラウザでアクセスする為にAレコードの登録が必要
✓ SMTP サーバ
Mast odonへのアカウント登録時にメールを送信するのに必要
✓ HT TPSに対応した Web Proxy サーバ
SSL/TLS証明書が必要
Mastodonインスタンスを
公開する為に必要な設定
Mastodonインスタンスに必要なもの
さくらのクラウドDNSに設定
⾃⼒配送ができるように設定
Lets Encrypt から取得
1010
✓ 事前作業として以下の2つが必要となります
さ く ら の ク ラ ウ ド D N S に ゾ ー ン の 登 録 と 委譲をし て い る こ と
さ く ら の ク ラ ウ ド A P I の ア ク セ ス ト ー ク ン を 取 得 し て い る こ と
✓ 詳しくは下記を参照
さくらのナレッジ: ゼ ロ か ら 始 め る マ ス ト ド ン
さ く ら の ク ラ ウ ド ニ ュ ー ス : M a s t o d o n , D N S ア プ ラ イ ア ン ス
スタートアップスクリプトで
Mastodonインスタンスを⽴ててみる
スクリプトの処理と補⾜
1111
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
1212
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
エラーでセットアップが
⽌まる可能性のある場所
エラーでセットアップが
⽌まる可能性のある場所
エラーでセットアップが
⽌まる可能性のある場所
1313
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# ログのリンクを作成
ln -s $(find /root/.sacloud-api/notes/*log) /tmp/startup_script.log
# リポジトリの設定
yum install -y yum-utils
yum-config-manager --enable epel
yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
# パッケージのアップデートとインストール
yum update –y
yum install -y ImageMagick ffmpeg redis rubygem-redis postgresql-{server,devel,contrib} authd nodejs
{openssl,readline,zlib,libxml2,libxslt,protobuf,ffmpeg}-devel protobuf-compiler nginx jq bind-utils
npm install -g yarn
スクリプトの進捗確認⽅法
tail –f /tmp/startup_script.log
1414
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# DNS登録
if [ $(dig ${DOMAIN} ns +short | egrep -c '^ns[0-9]+.gslb[0-9]+.sakura.ne.jp.$') -ne 2 ]
Then
echo "お客様ドメインのNSレコードにさくらのクラウドDNSが設定されておりません”
exit 1
Fi
ZONE=$(jq -r ".Zone.Name" /root/.sacloud-api/server.json)
BASE=https://secure.sakura.ad.jp/cloud/zone/${ZONE}/api/cloud/1.1
API=${BASE}/commonserviceitem/
RESJS=resource.json
…
…(省略
1515
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# postgresql, redis
export PGSETUP_INITDB_OPTIONS="--encoding=UTF-8 --no-locale”
postgresql-setup initdb
sed -i "s/ident/trust/" /var/lib/pgsql/data/pg_hba.conf
systemctl enable postgresql redis
systemctl start postgresql redis
su - postgres -c "createuser --createdb mastodon".
1616
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
Mastodon公式ドキュメントを参考にインストールをしている
公式ドキュメントとの主な違い
mastodon のバージョンは tag がついた最新版(rcは除く)
nginx は https のみ設定し http から https へのリダイレクトの設定はしていない
smtpサーバは localhost の 25 を設定している
1717
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# postfix
cat <<_EOL_>> /etc/postfix/main.cf
myhostname = ${DOMAIN}
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_security_level = maysmtp_tls_loglevel = 1
smtpd_client_connection_count_limit = 5
smtpd_client_message_rate_limit = 5
smtpd_client_recipient_rate_limit = 5
disable_vrfy_command = yes
smtpd_discard_ehlo_keywords = dsn,
enhancedstatuscodes, etrn
_EOL_
sed -i -e 's/^inet_interfaces.*/inet_interfaces = all/' -e
's/^inet_protocols = all/inet_protocols = ipv4/'
/etc/postfix/main.cf
systemctl restart postfix
mastodon@ドメイン宛に届いた
メールの確認⽅法
yum install –y mailx
su – mstodon –c “mail”
1818
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# firewall
firewall-cmd --permanent --add-port=25/tcp --add-port=443/tcp
firewall-cmd --reload
1919
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# Lets Encrypt
cd /usr/local
git clone https://github.com/certbot/certbot
export PATH=/usr/local/certbot:${PATH}
CERT=/etc/letsencrypt/live/${DOMAIN}/fullchain.pem
CA="certbot-auto -n certonly --standalone -d ${DOMAIN}
-m ${MADDR} --agree-tos"${CA}
for x in $(seq 1 5)
do
if [ ! -f ${CERT} ]
then
${CA}
sleep 300
else
continue
fi
done
…(省略
2020
1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル
2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T )
3 . p o s t g r e s q l , r e d i s の 起 動
4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル
5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動
6 . n g i n x の 設 定
7 . p o s t f i x の 設 定 と 再 起 動
8 . f i r e w a l l の 設 定 と r e l o a d
9 . L e t s E n c r y p t で 証 明 書 取 得
1 0 . n g i n x の 起 動
1 1 . D N S の 登 録 ( P T R )
スタートアップスクリプトの処理
スクリプトの処理と補⾜
# PTR 登録
API=${BASE}/ipaddress/${IPADDR}
cd /root/.sacloud-api/notesPTRJS=ptr.json
cat <<_EOL_> ${PTRJS}
{ "IPAddress": { "HostName": "${DOMAIN}" }}
_EOL_
set -x
curl -s --user "${KEY}" -X PUT -d "$(cat ${PTRJS} | jq -c .)" ${API} |jq ".”
BLANK=$(curl -s --user "${KEY}" -X GET ${API} | jq -r "select(.IPAddress.HostName == ¥"${DOMAIN}¥") | .is_ok")
set –x
…(省略
2121
さくらのクラウドDNSの該当ゾーンにレコードが
登録されていないこと
スタートアップスクリプトを
再実⾏する場合に確認すること
スクリプトの処理と補⾜
2222
✓ サーバの再起動
パ ッ ケ ー ジ ア ッ プ デ ー ト 後 、 再 起 動 し て い な い の で 再 起 動 を お 勧 め し ま す 。
✓ Mastodonの管理者メニューにあるドメインブロック設定のメディ
アファイル拒否の有効化
サ ー バ の デ ィ ス ク 容 量 や I / O を 節 約 し た い 管 理 者 の ⽅ は 、
画 像 が 頻 繁 に や り と り さ れ る リ モ ー ト イ ン ス タ ン ス の メ デ ィ ア フ ァ イ ル を
拒 否 す る こ と を お 勧 め し ま す 。
( 既 に ⼤ 量 に フ ァ イ ル が あ る 状 態 で 設 定 を す る と 削 除 処 理 で サ ー バ に 負 荷 が か か り ま す )
スタートアップスクリプト完了後の
お勧め作業
スクリプトの処理と補⾜
2323
2424
✓ Mastodonインスタンスのサブドメイン(※)の対応
テスト⽤ドメインがLet s Encr y ptの証明書取得数制限に達してテストができな
くなった。
後⽇、改修で対応しようとしたが、その時には10000⽂字では収まらなかった。
(※さくらのクラウドDNSに登録するドメインをZone Apexとしてした場合のサブドメ
イン)
✓ メール送信ドメイン認証技術のDKIM, DMARCの対応
1 0 0 0 0 ⽂ 字 で は 収 ま ら な か っ た 。
スタートアップスクリプトに
盛り込め(ま)なかったもの!
スクリプトの処理と補⾜
2525
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
2626
1. さくらのクラウドDNSへのゾーン登録とAPIキーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
ゼロから始めるマストドン を参照してください
2727
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでCentOS7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
さくらのVPSのコントロールパネルの各種設定から標準OSインストールと進み、
インストールOS を CentOS7 x86_64 で選択する
2828
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
# vi mastodon_startup_script.sh
# chmod 755 mastodon_startup_script.sh
2929
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPIキーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
# export SACLOUD_APIKEY_ACCESS_TOKEN=********
# export SACLOUD_APIKEY_ACCESS_TOKEN_SECRET=********
3030
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
# sed -i -e 's/@@@ZONE@@@/vps.example.com/' -e 's/^ZONE=.*/ZONE=tk1a/' mastodon_startup_script.sh
vps.example.com をさくらのクラウドDNSに登録したゾーン名にすること
3131
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
事前に正しくドメインがさくらのクラウドDNSに登録されているか確認する(nsX.gslbX.sakura.ne.jp. が表⽰されればOK)
# dig vps.example.com ns +short
ns1.gslb4.sakura.ne.jp.
ns2.gslb4.sakura.ne.jp.
スタートアップスクリプト実⾏
# ./mastodon_startup_script.sh | tee mastodon_startup_script.log
メモリ512MBで約40分かかりました。
3232
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
下記が表⽰されれば、Mastodonインスタンスのセットアップは完了
“逆引きの登録に失敗しました”
各種設定のホスト名逆引き登録からカスタムを選択し、逆引きを登録する
3333
1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業)
2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成
3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意
4. VPSサーバでAPI キーを環境変数に設定
5. VPSサーバでスクリプトを修正
6. VPSサーバでスクリプトを実⾏
7. さくらのVPSのコントロールパネルでDNSの登録(PTR)
8. VPSサーバの再起動
さくらのVPSにスタートアップスクリプト
でMastodonインスタンスを⽴てる⼿順
スクリプトでさくらのVPSに⽴ててみる
# shutdown –r now
3434
ご静聴ありがとうございました!
スクリプトでさくらのVPSに⽴ててみる

Contenu connexe

Tendances

コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介SAKURA Internet Inc.
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) VirtualTech Japan Inc.
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもんMasahito Zembutsu
 
すごく分かるwarden
すごく分かるwardenすごく分かるwarden
すごく分かるwardeni_yudai
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwardingMasakazu Asama
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~HommasSlide
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1Etsuji Nakai
 

Tendances (20)

Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
Lagopus 0.2.2
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
 
VyOSでMPLS
VyOSでMPLSVyOSでMPLS
VyOSでMPLS
 
すごく分かるwarden
すごく分かるwardenすごく分かるwarden
すごく分かるwarden
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Lagopus 0.2
Lagopus 0.2Lagopus 0.2
Lagopus 0.2
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 

Similaire à Mastodonインスタンスをセットアップできるスタートアップスクリプトについて

超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編Shin Tanigawa
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてNobuyuki Sasaki
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
PF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaPF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaandroid sola
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!Midori Oge
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1mganeko
 
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価Dell TechCenter Japan
 
Net opscoding#4発表資料
Net opscoding#4発表資料Net opscoding#4発表資料
Net opscoding#4発表資料Kenta Hattori
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリングSatoshi Takada
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるShintaro Fukushima
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdTaisuke Yamada
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。Kazuki Onishi
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 

Similaire à Mastodonインスタンスをセットアップできるスタートアップスクリプトについて (20)

超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編超簡単!Subversion入門 準備編
超簡単!Subversion入門 準備編
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
PF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaPF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsola
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
 
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月
GPU on OpenStack - GPUインターナルクラウドのベストプラクティス - OpenStack最新情報セミナー 2017年7月
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
 
Net opscoding#4発表資料
Net opscoding#4発表資料Net opscoding#4発表資料
Net opscoding#4発表資料
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみる
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 

Plus de さくらインターネット株式会社

正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論さくらインターネット株式会社
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312さくらインターネット株式会社
 
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介さくらインターネット株式会社
 
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングセキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングさくらインターネット株式会社
 

Plus de さくらインターネット株式会社 (20)

eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについてeBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
 
さくらの学校支援プロジェクト PyCon mini Sapporo 2019
さくらの学校支援プロジェクト PyCon mini Sapporo 2019さくらの学校支援プロジェクト PyCon mini Sapporo 2019
さくらの学校支援プロジェクト PyCon mini Sapporo 2019
 
石狩での プログラミング教育支援 ~2年目の成果~
石狩でのプログラミング教育支援~2年目の成果~石狩でのプログラミング教育支援~2年目の成果~
石狩での プログラミング教育支援 ~2年目の成果~
 
さくらインターネットとコミュニティをつなぐ
さくらインターネットとコミュニティをつなぐさくらインターネットとコミュニティをつなぐ
さくらインターネットとコミュニティをつなぐ
 
【さくらのクラウド】サービス概要カタログ 2018年10月号
【さくらのクラウド】サービス概要カタログ 2018年10月号【さくらのクラウド】サービス概要カタログ 2018年10月号
【さくらのクラウド】サービス概要カタログ 2018年10月号
 
小学校プログラミング教育 ~石狩の場合~
小学校プログラミング教育 ~石狩の場合~小学校プログラミング教育 ~石狩の場合~
小学校プログラミング教育 ~石狩の場合~
 
【さくらのクラウド】サービス概要カタログ 2018年8月号
【さくらのクラウド】サービス概要カタログ 2018年8月号【さくらのクラウド】サービス概要カタログ 2018年8月号
【さくらのクラウド】サービス概要カタログ 2018年8月号
 
【さくらのクラウド】サービス概要カタログ 2018年7月号
【さくらのクラウド】サービス概要カタログ 2018年7月号【さくらのクラウド】サービス概要カタログ 2018年7月号
【さくらのクラウド】サービス概要カタログ 2018年7月号
 
パートナーと共創する さくらのクラウドのサービス展開
パートナーと共創する さくらのクラウドのサービス展開パートナーと共創する さくらのクラウドのサービス展開
パートナーと共創する さくらのクラウドのサービス展開
 
【さくらのクラウド】サービス概要カタログ 2018年6月号
【さくらのクラウド】サービス概要カタログ 2018年6月号 【さくらのクラウド】サービス概要カタログ 2018年6月号
【さくらのクラウド】サービス概要カタログ 2018年6月号
 
Sakura infini band-20180424
Sakura infini band-20180424Sakura infini band-20180424
Sakura infini band-20180424
 
【さくらのクラウド】サービス概要カタログ 2018年4月号
【さくらのクラウド】サービス概要カタログ 2018年4月号 【さくらのクラウド】サービス概要カタログ 2018年4月号
【さくらのクラウド】サービス概要カタログ 2018年4月号
 
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
 
【さくらのクラウド】サービス概要カタログ 2018年3月号
【さくらのクラウド】サービス概要カタログ 2018年3月号 【さくらのクラウド】サービス概要カタログ 2018年3月号
【さくらのクラウド】サービス概要カタログ 2018年3月号
 
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
 
sakura.io体験ハンズオン 20180228
sakura.io体験ハンズオン 20180228sakura.io体験ハンズオン 20180228
sakura.io体験ハンズオン 20180228
 
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
 
【さくらのクラウド】サービス概要カタログ 2018年2月号
【さくらのクラウド】サービス概要カタログ 2018年2月号 【さくらのクラウド】サービス概要カタログ 2018年2月号
【さくらのクラウド】サービス概要カタログ 2018年2月号
 
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングセキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
 

Dernier

company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdfkeiibayashi
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こすMichael Rada
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)YujiSakurai3
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdfkikuchi5
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』Jun Chiba
 
Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4qbm_pr
 

Dernier (6)

company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 

Mastodonインスタンスをセットアップできるスタートアップスクリプトについて

  • 1. 1 DATE COMPANY SERVICE VERSION |No.2 Mastodon インスタンス に必要なもの |No.4 スクリプトでさ くらのVPSに⽴ ててみる |No.1 スタートアップ スクリプトとは 2017/6/28 さくらインターネット株式会社 根本 昌季さくらのクラウド |No.3 スクリプ トの処理と 補⾜Mastodonインスタンスを セットアップできるスタート アップスクリプトについて
  • 2. 22 • ⽒名 根本 昌季 • 所属/業務内容 技術本部 ミドルウェアグループ/クラウドチーム(運⽤メンバー) • 前職までの経歴 DNS/メール/監視サーバの構築/運⽤を主に担当 • 趣味 スクーバダイビング/ジョギング ⾃⼰紹介
  • 3. 33 ✓ さくらのクラウドでサーバの起動時に実⾏するShellスクリプト ✓ コントロールパネルに⼊⼒した値を変数として使⽤することができる ✓ スクリプトの⻑さは 10000⽂字まで ✓ 詳しくはクラウドニュースを参照 スタートアップスクリプトとは スタートアップスクリプトとは
  • 7. 77 ✓ Ruby ✓ Node ✓ Postgres ✓ Redis ✓ Mastodon Mastodonインスタンスに 必要なアプリケーション Mastodonインスタンスに必要なもの
  • 8. 88 ✓ DNS レコード ブラウザでアクセスする為にAレコードの登録が必要 ✓ SMTP サーバ Mast odonへのアカウント登録時にメールを送信するのに必要 ✓ HT TPSに対応した Web Proxy サーバ SSL/TLS証明書が必要 Mastodonインスタンスを 公開する為に必要な設定 Mastodonインスタンスに必要なもの
  • 9. 99 ✓ DNS レコード ブラウザでアクセスする為にAレコードの登録が必要 ✓ SMTP サーバ Mast odonへのアカウント登録時にメールを送信するのに必要 ✓ HT TPSに対応した Web Proxy サーバ SSL/TLS証明書が必要 Mastodonインスタンスを 公開する為に必要な設定 Mastodonインスタンスに必要なもの さくらのクラウドDNSに設定 ⾃⼒配送ができるように設定 Lets Encrypt から取得
  • 10. 1010 ✓ 事前作業として以下の2つが必要となります さ く ら の ク ラ ウ ド D N S に ゾ ー ン の 登 録 と 委譲をし て い る こ と さ く ら の ク ラ ウ ド A P I の ア ク セ ス ト ー ク ン を 取 得 し て い る こ と ✓ 詳しくは下記を参照 さくらのナレッジ: ゼ ロ か ら 始 め る マ ス ト ド ン さ く ら の ク ラ ウ ド ニ ュ ー ス : M a s t o d o n , D N S ア プ ラ イ ア ン ス スタートアップスクリプトで Mastodonインスタンスを⽴ててみる スクリプトの処理と補⾜
  • 11. 1111 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜
  • 12. 1212 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ エラーでセットアップが ⽌まる可能性のある場所 エラーでセットアップが ⽌まる可能性のある場所 エラーでセットアップが ⽌まる可能性のある場所
  • 13. 1313 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # ログのリンクを作成 ln -s $(find /root/.sacloud-api/notes/*log) /tmp/startup_script.log # リポジトリの設定 yum install -y yum-utils yum-config-manager --enable epel yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm curl -sL https://rpm.nodesource.com/setup_6.x | bash - # パッケージのアップデートとインストール yum update –y yum install -y ImageMagick ffmpeg redis rubygem-redis postgresql-{server,devel,contrib} authd nodejs {openssl,readline,zlib,libxml2,libxslt,protobuf,ffmpeg}-devel protobuf-compiler nginx jq bind-utils npm install -g yarn スクリプトの進捗確認⽅法 tail –f /tmp/startup_script.log
  • 14. 1414 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # DNS登録 if [ $(dig ${DOMAIN} ns +short | egrep -c '^ns[0-9]+.gslb[0-9]+.sakura.ne.jp.$') -ne 2 ] Then echo "お客様ドメインのNSレコードにさくらのクラウドDNSが設定されておりません” exit 1 Fi ZONE=$(jq -r ".Zone.Name" /root/.sacloud-api/server.json) BASE=https://secure.sakura.ad.jp/cloud/zone/${ZONE}/api/cloud/1.1 API=${BASE}/commonserviceitem/ RESJS=resource.json … …(省略
  • 15. 1515 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # postgresql, redis export PGSETUP_INITDB_OPTIONS="--encoding=UTF-8 --no-locale” postgresql-setup initdb sed -i "s/ident/trust/" /var/lib/pgsql/data/pg_hba.conf systemctl enable postgresql redis systemctl start postgresql redis su - postgres -c "createuser --createdb mastodon".
  • 16. 1616 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ Mastodon公式ドキュメントを参考にインストールをしている 公式ドキュメントとの主な違い mastodon のバージョンは tag がついた最新版(rcは除く) nginx は https のみ設定し http から https へのリダイレクトの設定はしていない smtpサーバは localhost の 25 を設定している
  • 17. 1717 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # postfix cat <<_EOL_>> /etc/postfix/main.cf myhostname = ${DOMAIN} smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt smtp_tls_security_level = maysmtp_tls_loglevel = 1 smtpd_client_connection_count_limit = 5 smtpd_client_message_rate_limit = 5 smtpd_client_recipient_rate_limit = 5 disable_vrfy_command = yes smtpd_discard_ehlo_keywords = dsn, enhancedstatuscodes, etrn _EOL_ sed -i -e 's/^inet_interfaces.*/inet_interfaces = all/' -e 's/^inet_protocols = all/inet_protocols = ipv4/' /etc/postfix/main.cf systemctl restart postfix mastodon@ドメイン宛に届いた メールの確認⽅法 yum install –y mailx su – mstodon –c “mail”
  • 18. 1818 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # firewall firewall-cmd --permanent --add-port=25/tcp --add-port=443/tcp firewall-cmd --reload
  • 19. 1919 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # Lets Encrypt cd /usr/local git clone https://github.com/certbot/certbot export PATH=/usr/local/certbot:${PATH} CERT=/etc/letsencrypt/live/${DOMAIN}/fullchain.pem CA="certbot-auto -n certonly --standalone -d ${DOMAIN} -m ${MADDR} --agree-tos"${CA} for x in $(seq 1 5) do if [ ! -f ${CERT} ] then ${CA} sleep 300 else continue fi done …(省略
  • 20. 2020 1 . 追 加 リ ポ ジ ト リ の 設 定 、 パ ッ ケ ー ジ の ア ッ プ デ ー ト と イ ン ス ト ー ル 2 . D N S の 登 録 ( さ く ら の ク ラ ウ ド D N S : A , M X , T X T ) 3 . p o s t g r e s q l , r e d i s の 起 動 4 . r u b y 2 . 4 . 1 の イ ン ス ト ー ル 5 . m a s t o d o n の イ ン ス ト ー ル 、 設 定 と 起 動 6 . n g i n x の 設 定 7 . p o s t f i x の 設 定 と 再 起 動 8 . f i r e w a l l の 設 定 と r e l o a d 9 . L e t s E n c r y p t で 証 明 書 取 得 1 0 . n g i n x の 起 動 1 1 . D N S の 登 録 ( P T R ) スタートアップスクリプトの処理 スクリプトの処理と補⾜ # PTR 登録 API=${BASE}/ipaddress/${IPADDR} cd /root/.sacloud-api/notesPTRJS=ptr.json cat <<_EOL_> ${PTRJS} { "IPAddress": { "HostName": "${DOMAIN}" }} _EOL_ set -x curl -s --user "${KEY}" -X PUT -d "$(cat ${PTRJS} | jq -c .)" ${API} |jq ".” BLANK=$(curl -s --user "${KEY}" -X GET ${API} | jq -r "select(.IPAddress.HostName == ¥"${DOMAIN}¥") | .is_ok") set –x …(省略
  • 22. 2222 ✓ サーバの再起動 パ ッ ケ ー ジ ア ッ プ デ ー ト 後 、 再 起 動 し て い な い の で 再 起 動 を お 勧 め し ま す 。 ✓ Mastodonの管理者メニューにあるドメインブロック設定のメディ アファイル拒否の有効化 サ ー バ の デ ィ ス ク 容 量 や I / O を 節 約 し た い 管 理 者 の ⽅ は 、 画 像 が 頻 繁 に や り と り さ れ る リ モ ー ト イ ン ス タ ン ス の メ デ ィ ア フ ァ イ ル を 拒 否 す る こ と を お 勧 め し ま す 。 ( 既 に ⼤ 量 に フ ァ イ ル が あ る 状 態 で 設 定 を す る と 削 除 処 理 で サ ー バ に 負 荷 が か か り ま す ) スタートアップスクリプト完了後の お勧め作業 スクリプトの処理と補⾜
  • 23. 2323
  • 24. 2424 ✓ Mastodonインスタンスのサブドメイン(※)の対応 テスト⽤ドメインがLet s Encr y ptの証明書取得数制限に達してテストができな くなった。 後⽇、改修で対応しようとしたが、その時には10000⽂字では収まらなかった。 (※さくらのクラウドDNSに登録するドメインをZone Apexとしてした場合のサブドメ イン) ✓ メール送信ドメイン認証技術のDKIM, DMARCの対応 1 0 0 0 0 ⽂ 字 で は 収 ま ら な か っ た 。 スタートアップスクリプトに 盛り込め(ま)なかったもの! スクリプトの処理と補⾜
  • 25. 2525 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる
  • 26. 2626 1. さくらのクラウドDNSへのゾーン登録とAPIキーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる ゼロから始めるマストドン を参照してください
  • 27. 2727 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでCentOS7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる さくらのVPSのコントロールパネルの各種設定から標準OSインストールと進み、 インストールOS を CentOS7 x86_64 で選択する
  • 28. 2828 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる # vi mastodon_startup_script.sh # chmod 755 mastodon_startup_script.sh
  • 29. 2929 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPIキーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる # export SACLOUD_APIKEY_ACCESS_TOKEN=******** # export SACLOUD_APIKEY_ACCESS_TOKEN_SECRET=********
  • 30. 3030 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる # sed -i -e 's/@@@ZONE@@@/vps.example.com/' -e 's/^ZONE=.*/ZONE=tk1a/' mastodon_startup_script.sh vps.example.com をさくらのクラウドDNSに登録したゾーン名にすること
  • 31. 3131 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる 事前に正しくドメインがさくらのクラウドDNSに登録されているか確認する(nsX.gslbX.sakura.ne.jp. が表⽰されればOK) # dig vps.example.com ns +short ns1.gslb4.sakura.ne.jp. ns2.gslb4.sakura.ne.jp. スタートアップスクリプト実⾏ # ./mastodon_startup_script.sh | tee mastodon_startup_script.log メモリ512MBで約40分かかりました。
  • 32. 3232 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる 下記が表⽰されれば、Mastodonインスタンスのセットアップは完了 “逆引きの登録に失敗しました” 各種設定のホスト名逆引き登録からカスタムを選択し、逆引きを登録する
  • 33. 3333 1. さくらのクラウドDNSへのゾーン登録とAPI キーの作成(事前作業) 2. さくらのVPSのコントロールパネルでC ent OS 7のサーバを作成 3. さくらのクラウドのスタートアップスクリプトを該当のVPSサーバに⽤意 4. VPSサーバでAPI キーを環境変数に設定 5. VPSサーバでスクリプトを修正 6. VPSサーバでスクリプトを実⾏ 7. さくらのVPSのコントロールパネルでDNSの登録(PTR) 8. VPSサーバの再起動 さくらのVPSにスタートアップスクリプト でMastodonインスタンスを⽴てる⼿順 スクリプトでさくらのVPSに⽴ててみる # shutdown –r now