Initial Setup(初期設定)
作成: Shintaro / Acia
対象OS: Debian (initially 12 bookworm → upgraded to 13 trixie)
環境: Sakura VPS 標準OSイメージ
目的
VPSセットアップの初期操作(OS導入/ユーザ移行/ホスト名変更/メジャーアップグレード)を確実に再現できるよう記録する。
要約(Summary)
- Sakura VPS 標準OS Debian 12 (bookworm) をインストール。
- 既定ユーザ **
debianから 本運用ユーザmain_userへ移行するため、まず 一時管理ユーザtemp_admin** を作成。 temp_adminセッションからdebianをロック・後処理し、最終的に **本運用ユーザmain_userへ移行した状態で Debian 13 (trixie)** へアップグレード完了。- ホスト名(例:
hostname.example.com)はユーザ移行前の初期段階で変更。
以降の設計書(UFW/SSH/Fail2ban/Apache)は Debian 13 前提。
temp_adminおよびmain_userは実際の名称に置換。
1) 初期インストール(Sakura VPS)
- コントロールパネルで Debian 12 (bookworm) 標準OSイメージを選択して導入。
- 付与される初期ユーザ: **
debian**(sudoer)。 - まずは SSH公開鍵 を登録し、
debianで鍵ログインできることを確認。
1.5) ホスト名の変更(推奨)
sudo hostnamectl set-hostname hostname.example.com
sudo reboot
備考:
hostnamectlによる変更は/etc/hostnameとカーネルに即時反映される。/etc/hostsの127.0.1.1は必要に応じて手動で更新してもよいが、 SSHプロンプト等で新ホスト名が表示されれば変更成功と見なす。
再接続後に確認:
hostname
→ hostname.example.com が表示されれば OK
2) 一時管理ユーザの作成(temp_admin)
重要:
debianセッションの内側からは自分を安全に落とせないため、必ず 別ユーザのセッション から実行。
# (1) 一時管理ユーザを作成し sudo 権限を付与
sudo adduser temp_admin
sudo usermod -aG sudo temp_admin
# (2) 鍵を引き継ぎ(authorized_keys を複製)
sudo install -d -m 700 -o temp_admin -g temp_admin /home/temp_admin/.ssh
sudo cp -a ~debian/.ssh/authorized_keys /home/temp_admin/.ssh/
sudo chown temp_admin:temp_admin /home/temp_admin/.ssh/authorized_keys
sudo chmod 600 /home/temp_admin/.ssh/authorized_keys
# (3) 新しいSSHセッションで temp_admin ログインを確認(別ターミナル)
ssh temp_admin@<server>
sudo whoami # => root
3) 本運用ユーザ main_user の作成
# (1) ユーザ作成+sudo 付与
sudo adduser main_user
sudo usermod -aG sudo main_user
# (2) 鍵を配置(temp_admin の鍵を流用、または手元の公開鍵を配置)
sudo install -d -m 700 -o main_user -g main_user /home/main_user/.ssh
sudo cp -a /home/temp_admin/.ssh/authorized_keys /home/main_user/.ssh/
sudo chown main_user:main_user /home/main_user/.ssh/authorized_keys
sudo chmod 600 /home/main_user/.ssh/authorized_keys
# (3) 新しいSSHセッションで main_user へ鍵ログインを確認
ssh main_user@<server>
sudo whoami # => root
SSH の詳細制御(パスワード無効・root直ログイン禁止など)は 03_sshd.md で管理。
4) debian の停止・後始末(temp_admin または main_user セッションから)
重要:
debianセッションの内側からは自分を安全に落とせないため、必ず 別ユーザのセッション から実行。
# (1) ログイン不可にする(ロック & 期限切れ)
sudo usermod -L -e 1 debian
# (2) 残る既存セッションを終了(systemdがある場合)
loginctl list-users 2>/dev/null || true
sudo loginctl terminate-user debian 2>/dev/null || true
# (代替) 強制終了(loginctl が使えない場合の最終手段)
sudo pkill -KILL -u debian || true
任意(十分に安定確認後)
# 完全削除する場合(ホームも削除)
sudo deluser --remove-home debian
5) 一時管理ユーザ temp_admin の削除(安定確認の“最後”に)
# temp_admin でログイン中でないことを確認
who
# 問題なければ削除
sudo deluser --remove-home temp_admin
備考:
--remove-homeオプションは、内部的に Perl スクリプトを使用します。 Debian 標準イメージでは Perl が含まれていない場合があるため、 以下のようなエラーが出た場合は、事前にperlを導入してください。
deluser: In order to use the --remove-home, --remove-all-files, and --backup features,
you need to install the `perl' package.
# 対処
sudo apt update
sudo apt install perl -y
6) Debian 12 → 13 メジャーアップグレード(bookworm → trixie)
事前準備(12 を最新化)
sudo apt update
sudo apt full-upgrade -y
sudo apt --purge autoremove -y
APT ソースの更新(bookworm → trixie)
sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak.$(date +%F)
sudo tee /etc/apt/sources.list >/dev/null <<'LIST'
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
LIST
アップグレード実行
sudo apt update
sudo apt full-upgrade -y
sudo apt --purge autoremove -y
sudo reboot
検証
cat /etc/debian_version
lsb_release -a 2>/dev/null || true
uname -r
systemctl is-active ssh && systemctl is-active ufw || true
7) メモ
temp_adminおよびmain_userは例示的なプレースホルダです。 実際の環境に応じて任意のユーザ名に置換してください。
変更履歴
| 日付 | 編集者 | 内容 |
|---|---|---|
| 2025-09-30 | Shintaro / Acia | 初版作成 |
| 2025-10-07 | Shintaro | ユーザ名を temp_admin / main_user に抽象化、履歴を表形式に統一 |
| 2025-10-28 | Acia | --remove-home に Perl が必要な旨とホスト名変更手順を追記 |