なぜ「最小」か
デスクトップ編では、GNOMEや日本語入力やアプリ群を入れて、毎日触る作業環境を作った。サーバーは逆だ。載せるものは、少なければ少ないほど良い。
理由は三つある。
一、攻撃面が減る。 インストールされたソフトは、どれも潜在的な入口になる。画面に映らないサーバーにブラウザもオフィスも画像編集ソフトも要らない。入れなければ、そこから入られることもない。
二、更新の量が減る。 パッケージが少なければ、apt upgrade が触るものも少ない。更新で何かが壊れる確率も、更新にかかる時間も下がる。放っておいても安定する。
三、把握コストが減る。 「このサーバーには何が入っているか」を頭の中に保てる量に抑えると、トラブルのとき原因の見当がつく。デスクトップのように「いつ何を入れたか忘れた」状態は、サーバーでは避けたい。
この章は、デスクトップ編の第7章「インストール実行の対話」を一から繰り返さない。UEFIブート、ディスク選択、暗号化パスフレーズ、ユーザー作成、GRUBといった共通部分は本編第7章がそのまま使える。 ここで扱うのは、サーバー特有の「差分」——ソフトウェア選択をどう削るか、デスクトップが無い環境にどうログインするか、IPアドレスをどう固定するか——だけだ。本編第7章を脇に開いて読んでほしい。
第一節 インストーラでの分岐点
netinst イメージを使う
サーバーでも、使うイメージはデスクトップ編と同じ netinst(ネットワークインストール)ISO でいい。容量は数百MBと小さく、必要なパッケージはインストール中にネットから取る。Debian 13(trixie)の netinst は non-free firmware を同梱しているので、一般的なネットワークチップなら追加作業なしで繋がる。
VPSを借りた場合は、この手順自体が要らないことが多い。事業者の管理画面で「Debian 13」を選べば、最小構成のDebianが数分で立ち上がる。その場合は第一節を読み飛ばして、第二節の初回ログインから始めればいい。自宅のミニPCや古いノートに入れる人だけが、この節を実際に手で進める。
tasksel——この章の核心
インストーラを本編第7章の手順どおり進めると、終盤に「ソフトウェアの選択」(tasksel)の画面が出る。デスクトップ編ではここで「Debian デスクトップ環境」と「GNOME」にチェックを入れた。
サーバーでは、ここが全てだ。 デスクトップ関連を全て外し、次の二つだけにチェックする。
[ ] Debian desktop environment ← 外す
[ ] ... GNOME ← 外す
[ ] ... KDE Plasma ← 外す
[ ] ... その他のDE ← 全て外す
[ ] web server ← 外す(後で必要な分だけ入れる)
[*] SSH server ← チェックする
[*] standard system utilities ← チェックする
スペースキーでチェックの入切、Tabで「続ける」へ移動、Enterで確定する。「SSH server」と「standard system utilities」の二つだけ が点いている状態にする。これでデスクトップの無い、最小のDebianができる。
「SSH server」を入れ忘れても後から apt install openssh-server で足せるが、ここで入れておくと再起動後すぐ次章のSSH設定に入れる。忘れないこと。
root パスワードと sudo
ユーザー作成の方針は本編第7章と同じでいい。root のパスワードは空欄にして、一般ユーザーに sudo を与える方式を本書は推奨する。 理由はデスクトップ編と同じで、管理操作の入口を一つに絞れること、そして「root で直接ログインできない」状態は、次章でSSHを締めるときに効いてくる。
ユーザー名は英字小文字で短く(taro、admin-t など)。このユーザー名が、次章以降のSSH接続で毎回打つ名前になる。
ロケールは英語を勧める
デスクトップ編では言語に「日本語」を選んだ。サーバーは逆に、ロケールを英語(C.UTF-8 または en_US.UTF-8)にしておくことを勧める。 サーバーが吐くログやエラーメッセージは、英語のままにしておいた方が、Claudeに貼ったときも、検索したときも、世界中の同じエラーの記録と突き合わせたときも有利だからだ。日本語に訳されたエラー文は、かえって情報源が痩せる。画面に向き合う人間がいないサーバーでは、表示の親しみやすさより、トラブル時の調べやすさを優先する。
Claudeに聞いてみよう①:迷った選択肢を文言ごと貼る
Debianインストーラの「ソフトウェアの選択」画面に、次の項目が並んでいます: 〔画面に出ている項目を一行ずつそのまま書き写す〕
私はデスクトップを持たないサーバーを作りたい。どれにチェックを入れ、どれを外すべきですか。それぞれが何をインストールするものか、一行で添えてください。
画面の文言をそのまま貼るのがコツだ。Debianのバージョンや構成で項目は少しずつ変わる。一般論ではなく、目の前の画面に対する答えが返る。
第二節 初回ログインと最初の10分
黒い画面とプロンプト
再起動後、サーバーに映るのは黒い画面とログインプロンプトだけだ。デスクトップは無い。ユーザー名とパスワードを打つと、$ のプロンプトが出る。これがサーバーの「素顔」だ。 ここから先、全ての作業はこのコマンドラインで行う。
最初にやることは決まっている。順に進める。
自分のIPアドレスを確認する
次章以降、別のPCからこのサーバーに繋ぐために、サーバーのIPアドレスが要る。
ip a
inet 192.168.x.x のような行を探す。127.0.0.1(自分自身を指すループバック)ではない方、たいていは 192.168. か 10. で始まる行が、家のネットワークの中でのこのサーバーの住所だ。メモしておく。
システムを最新にする
sudo apt update
sudo apt upgrade
最小構成なので、更新対象は少ない。すぐ終わる。
sudo が無かったら
インストール時にユーザーをsudoグループに入れ損ねていると、sudo を打っても弾かれる。その場合は一度 root で入って(root パスワードを設定していれば su -、していなければ物理コンソールから)次を実行する。
apt install sudo
usermod -aG sudo あなたのユーザー名
その後、一度ログインし直すとsudoが効くようになる。グループの変更は再ログインで反映される。
ホスト名を確認する
hostnamectl
このサーバーの名前が出る。気に入らなければ sudo hostnamectl set-hostname サーバー名 で変えられる。会社名や本名は避け、home-server、nas01 のように役割が分かる名前にしておくと、後で複数台になったとき迷わない。
Claudeに聞いてみよう②:ip a の出力を読ませる
サーバーで
ip aを実行したら次のように出ました: 〔出力をそのまま貼る。MACアドレスは伏せてよい〕このサーバーのIPアドレスはどれですか。インターフェース名(eth0 / enp3s0 など)は何で、有線・無線のどちらですか。家のLANの中でこのサーバーがどう繋がっているか、初心者向けに説明してください。
ip a の出力は最初は記号の羅列に見える。Claudeに貼れば、どの行が何を意味するか、自分の構成に即して解説が返る。本編第3章「自分の環境を Claude に伝える方法」で身につけた「出力を貼って読ませる」作法が、ここでも効く。
第三節 IPアドレスを固定する
なぜ固定が要るか
家庭のネットワークでは、IPアドレスはルーターが自動で配る(DHCP)。便利だが、サーバーには困る。割り当てが再起動や時間経過で変わると、SSHの宛先が毎回変わってしまう。 「昨日は .50 だったのに今日は .53」では、次章で作る玄関の住所が定まらない。
だからサーバーのIPは固定する。方法は二つある。
方法その一:ルーター側で予約する(推奨)
多くの家庭では、これが一番楽で安全だ。 ルーターの設定画面に「DHCP予約」「固定IP割り当て」「静的DHCP」といった項目がある。そこで「このMACアドレスの機器には、いつもこのIPを配る」と登録する。サーバー側の設定は一切いじらない。ルーターが約束を守ってくれる。
ただし設定画面の場所も名前も、ルーターの機種ごとにまるで違う。ここはClaudeに型番を伝えて聞くのが一番速い。
方法その二:サーバー側で固定する
ルーターをいじれない事情があるなら、サーバー側で固定する。最小構成のDebianは /etc/network/interfaces で管理されている。次が最小の例だ(インターフェース名 enp3s0 は自分の ip a の出力に置き換える)。
sudo nano /etc/network/interfaces
auto enp3s0
iface enp3s0 inet static
address 192.168.1.50/24
gateway 192.168.1.1
address は家のネットワークで空いているアドレス、gateway はルーターのアドレス(たいてい 192.168.1.1 か 192.168.0.1)にする。保存して、反映する。
sudo systemctl restart networking
サーバー側固定には落とし穴がある。 ルーターのDHCPが配る範囲(例:.100〜.200)の中の番号を選ぶと、別の機器とぶつかる恐れがある。範囲の外(例:.50)を選ぶ。この見極めも、自信が無ければClaudeに自分の構成を貼って確認する。
Claudeに聞いてみよう③:自宅ルーターの型番でDHCP予約の手順を聞く
自宅のルーターは〔メーカー・型番、例:Buffalo WSR-3200AX4S〕です。 Debianサーバーに固定IPを割り当てたい。サーバーのMACアドレスは〔ip a で確認した値〕、希望するIPは〔192.168.1.50 など〕です。 このルーターの管理画面で「DHCP予約」を設定する手順を、画面の項目名に沿って一つずつ教えてください。
ルーターの設定は機種依存の典型だ。本に一般論を書いても役に立たない。目の前の機種に固有の手順 は、型番を伝えてClaudeに聞くのが正解だ。返ってきた手順を見ながらルーターの画面を開く。
まとめ
この章でやったこと:
- netinst イメージで、tasksel から「SSH server」と「standard system utilities」だけを選んだ
- root を空欄にし、一般ユーザーに sudo を与える方式でインストールした
- ロケールを英語にして、トラブル時の調べやすさを優先した
- 初回ログインで
ip aでIPを確認し、apt update && upgradeで最新化した - ルーターのDHCP予約、またはサーバー側設定でIPアドレスを固定した
手元に残ったもの:
- デスクトップの無い、最小構成のDebianサーバー
- 家のネットワークの中で固定されたIPアドレス(次章のSSHの宛先になる)
- このサーバーの素性をまとめたメモ(IP、インターフェース名、ホスト名)
ここまでは、まだサーバーに直接モニタとキーボードを繋いで操作していた。次の第4章「SSHという玄関」で、別のPCから安全に出入りする仕組みを作る。それが済めば、サーバーからモニタを外し、本来の「画面の無いサーバー」として動かし始められる。
シリーズ全体はClaudeと一緒に学ぶDebian サーバー編 一覧から辿れる。本編(デスクトップ編)は全章一覧へ。コメント・議論は Facebook グループへ:AISeed — 生物多様性・食料・AIと暮らし