「Linuxで実際にサーバーを立てて動かしたい。でも最初の一歩でつまずく…」
そんな人に最短ルートを示してくれるのが、『Linuxサーバー構築標準教科書』です。
この教材は、無料で入手できる公式テキスト。
仮想マシンの準備から、Web(Apache/Nginx)/DNS(BIND)/メール(Postfix) を自分の手で構築し、curl や dig、ログ確認で動作検証するところまでを、実習中心で案内します。
本記事の対象
- サーバー構築がはじめての方
- 「一台を通す体験」を独学で積みたい方
- LinuC 学習や新人研修の実践テキストを探している方
この記事で得られること
- 教材の位置づけとゴール(どこまでできるようになるか)
- 章ごとの狙いと、最短で動かすためのコア演習の順番
- 演習環境の作り方(WSL2/VM/実機の選び方と手順)
- 7日・14日・21日の学習プランと日々のルーティン
- つまずきに効く切り分けの型とログの見方
- LinuC(レベル2のサーバー領域)との関係と併用リソース
- 姉妹教材(入門/運用)との効果的な使い分け
まず知っておきたいポイント
- 実習前提:読むだけでなく、立てて・叩いて・確かめるの循環が基本
- 検証までが一セット:ブラウザ/
curl/dig/MTAログで正しく動いているかを確認 - 壊して戻す:VMのスナップショット運用で、失敗を恐れず試行回数を増やす
以降、教材の全体像→章別の“できること”→環境づくり→サービス別実習の進め方
の順で、最短で「立てられる」状態までナビゲートします。
『Linuxサーバー構築標準教科書』とは
教材の概要・想定読者
LPI-Japan が無償公開している サーバー構築の入門〜初中級向け教材です。
仮想マシンを用意するところから始まり、Web(Apache/Nginx)/DNS(BIND)/メール(Postfix) といった代表的なサービスを 自分の手で立てて動かし、検証まで行う 流れで学べます。
想定読者の目安
- Linuxの基本操作は一通り触ったことがある(コマンド・権限・vi など)
- “サーバーを自分で構築する”のは初めて、もしくは体系立てて学び直したい
- 学校の演習・社内読書会・新人研修などで手順が明確な教材を探している
ひとことで言うと、「まず一台を通す」ための地図。
コマンドの暗記ではなく、サービスを起点に仕組みがつながるよう設計されています。
提供形態とライセンス
- 形式:PDF/EPUB(無料)、Kindle/製本(有償)
- ライセンス:CC BY-NC-ND 4.0(表示・非営利・改変禁止)
- 教育・個人学習での配布・利用に向く
- 改変して再配布は不可(要旨引用は可)
利用イメージ
- 独学:PDF+ターミナルを並べて実習
- 移動中の復習:Kindle版でマーカー・しおり活用
- 授業・研修:製本版を配布して同期学習
到達点(学び終えるとできること)
| 項目 | できるようになること |
|---|---|
| 環境準備 | VirtualBoxで VM を作成し、AlmaLinux 9 をインストールして初期設定 |
| Web | Apache/Nginx の導入・起動・自動起動、ドキュメントルートの配置、curl/ブラウザでの動作確認、基本的なログ読解 |
| DNS | BIND での正引き・逆引きゾーン作成、レコード設定、dig による検証、TTL などの基本概念 |
| メール | Postfix のインストール・ローカル配送、キュー確認、MTA ログの読み方、簡単なトラブル初動 |
| ネットワーク/セキュリティ | 基本的なネットワーク設定、SSHでの遠隔操作、ファイアウォールの最小設定 |
| 検証と切り分け | “動かす→叩く→ログを見る” の型で、原因を段階的に特定できる |
学習後は、「自分の手でサーバーを立てて動かす」一連の体験を獲得できます。
ここで得た“つながりの理解”が、次の実践(応用構築/運用管理/資格対策)に効いてきます。
章立てと“できること”早見表
教材は、環境づくり → 主要サービス(Web/DNS/メール) → ネットワーク・セキュリティ の順で、
“立てて」「叩いて」「確かめる” を繰り返す構成です。
各章で 何を作り、どう検証するか を一目で把握できるようにまとめました。
| 章 | 学べること(要点) | 代表タスク | 検証のしかた | 所要目安 |
|---|---|---|---|---|
| 第1章 Linuxサーバーの概要 | サーバー種別/プロトコルの基礎 | 用語と役割の整理 | 主要ログとサービスの関係を図で確認 | 20–30分 |
| 第2章 VirtualBoxとVM作成 | VM作成・NIC/ストレージ設定 | CPU/メモリ/ディスクの割当、ISO設定 | OSインストーラ起動まで到達 | 30–60分 |
| 第3章 Linuxインストールと設定 | AlmaLinux 9 の導入と初期化 | dnf update、ユーザー+sudo、SSH有効化 | 別端末からSSHログイン成功 | 40–70分 |
| 第4章 Webサーバー構築 | Apache/Nginx の導入・起動 | ドキュメントルート配置、仮想ホスト最小設定 | curl http://<IP>/ で200応答、アクセスログ確認 | 60–90分 |
| 第5章 DNSサーバー構築 | BINDで正引き/逆引きゾーン | A/PTR/CNAME などレコード定義 | dig A example.local @127.0.0.1 で回答を得る | 60–120分 |
| 第6章 メールサーバー構築 | Postfix の基本・ローカル配送 | エイリアス設定、キュー確認 | /var/log/maillog と postqueue -p で配送確認 | 60–120分 |
| 第7章 ネットワークとセキュリティ | 基本NW設定/SSH/FW最小化 | firewalld 最小開放、永続化 | ss -lnt で待受確認、外部から疎通確認 | 40–90分 |
※ 所要は目安です。初回はスナップショットを切りながら、焦らず進めましょう。
まず押さえるコア演習(Web → DNS → メールの順)
この順番だと、依存関係が“下から上へ” 積み上がるので、切り分けが楽になります。
- Web(HTTP)
- ねらい:最小構成で「サービスを立てて応答を返す体験」を最短で得る
- やること:
httpdまたはnginxを導入 → 起動・自動起動 → 簡単なHTML配置 - 確かめる:
curl -I http://<IP>で 200 OK、/var/log/httpd/access_logを確認
- DNS(BIND)
- ねらい:名前解決が分かると、以降の検証が人間に優しくなる
- やること:正引き/逆引きゾーンを定義、レコード(A/PTR/CNAME)を配置
- 確かめる:
dig A www.example.local @127.0.0.1、TTLや権威の表示を読む
- メール(Postfix)
- ねらい:複数要素(名前解決・待受・配送)の組み合わせ検証に挑戦
- やること:ローカル配送→エイリアス/キュー → ログで配送経路を読む
- 確かめる:
postqueue -p、tail -f /var/log/maillog、バウンス時の原因を特定
ミニ課題(仕上げに効く)
- Web:仮想ホストで
/statusを別ホスト名に切り分け - DNS:サブドメインを委任し、
dig +traceで解決経路を観察 - メール:配送失敗ケースを意図的に作り、ログから三手で原因特定(名前解決/ポート/認可)
この“立てる→叩く→読む”の型を体に入れると、
以降の章や実務でも 「まずどこを見るか」 が自然と定まります。
はじめかた:演習環境の作り方
どれを選ぶ?WSL2・VM・実機(比較)
| 選択肢 | 手軽さ | 再現性 | 壊しても安全 | 向いている用途 |
|---|---|---|---|---|
| WSL2(Windows) | ◎ | △(NW章は工夫が必要) | ○ | 基本コマンドやWeb最小構成の体験 |
| VirtualBox+VM | ○ | ◎ | ◎(スナップショット) | Web/DNS/メールまで章を忠実に再現 |
| 実機インストール | △ | ◎ | △ | 余っているPCで本格運用を練習したい |
最短で“通す”なら VirtualBox+AlmaLinux 9 を推奨。
WSL2で基本を触り、DNS/メールなどはVMで再現する二段構えもアリです。
推奨:VirtualBox+AlmaLinux 9(ミニ手順)
- VirtualBox をインストール
- AlmaLinux 9 の ISO を取得
- 新規VMを作成
- CPU 2 / メモリ 4GB / ディスク 40GB 目安
- ネットワークはまず NAT(安定)
- ISOから起動→インストール
- 初期設定(例)
sudo dnf -y update sudo dnf -y install vim less git curl tar unzip rsync tree sudo systemctl enable --now sshd - スナップショットを保存(「初期化直後」など分かる名前)
ヒント:章の前後でスナップショットを切ると、失敗してもすぐ戻れます。
SSHで楽に作業する(Windows含む)
- 同一LANかポートフォワードを設定し、ホストからVMへ SSH 接続
- Windowsは標準の
sshが使えます(PowerShellから)ssh user@<vm-ip> - 文字化けが気になる場合はターミナルの文字コードをUTF-8に
WSL2で始める場合の最小セット
wsl --install
# ディストリ導入後(WSL内で)
sudo dnf -y update || sudo apt -y update
sudo dnf -y install vim curl tree || sudo apt -y install vim curl tree
※ DNS/メールの章はWSL2だけだと再現しづらい場面があります。
その場合は該当章のみ VM に切り替えましょう。
ネットワークの基本設定(VM)
- まずは NAT で安定検証(外へは出られる/外から入れない)
- 外部端末からの疎通を試したいときは
- ポートフォワード(NATのまま)
- もしくは Bridged(同一ネットワーク上の独立端末として振る舞う)
確認の三点セット
ip a # IPが想定どおりか
ss -lnt # どのポートで待ち受けているか
firewall-cmd --list-services # FWで開いているサービス
ファイアウォールは“必要最小限”
# 例:HTTPとDNSを最低限開ける
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
開けたら必ず 外から叩いて確認(curl / dig)。
「開けたつもり」が一番ハマりやすいポイントです。
安全に学ぶための運用メモ
- 日常作業は 一般ユーザー+
sudo - 設定変更は バックアップ→変更→差分確認 の順
sudo cp -a /etc/httpd/conf/httpd.conf{,.bak} sudo diff -u /etc/httpd/conf/httpd.conf{.bak,} - ログを読む習慣(Web:
/var/log/httpd/*、DNS:/var/named/data/*、Mail:/var/log/maillog) - うまく動いたら スナップショット。戻して再現できたら理解が定着しています
実習開始チェックリスト
- AlmaLinux を最新化した(
dnf update済み) - SSHで入れる
vimで設定を開ける・保存できるcurlとdigが動く- スナップショット「初期化直後」を作成済み
ここまで整えば、サービス別の実習(Web → DNS → メール)に入る準備は完了です。
実習の進め方(サービス別ガイド)
ここからは Web → DNS → メール の順で、
「立てる → 叩く → ログを読む」の型を回していきます。
以下は AlmaLinux 9 を前提にした最小手順です(sudo 利用)。
Webサーバー(Apache または Nginx)
まずは 最短で“200 OK”を返す体験 を得ましょう。
Apache でも Nginx でもOK。どちらか一つで進めて大丈夫です。
A. Apache(httpd)
sudo dnf -y install httpd
sudo systemctl enable --now httpd
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
# 動作確認
curl -I http://127.0.0.1
# 期待: HTTP/1.1 200 OK
コンテンツ配置(最小)
echo '<h1>Hello Apache</h1>' | sudo tee /var/www/html/index.html
ログの場所
/var/log/httpd/access_log
/var/log/httpd/error_log
仮想ホスト(最小例)
# /etc/httpd/conf.d/example.conf
<VirtualHost *:80>
ServerName www.example.local
DocumentRoot /var/www/example
ErrorLog logs/example_error.log
CustomLog logs/example_access.log combined
</VirtualHost>
sudo mkdir -p /var/www/example
echo ok | sudo tee /var/www/example/index.html
sudo systemctl reload httpd
B. Nginx
sudo dnf -y install nginx
sudo systemctl enable --now nginx
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
curl -I http://127.0.0.1
最小サーバーブロック
# /etc/nginx/conf.d/example.conf
server {
listen 80;
server_name www.example.local;
root /usr/share/nginx/example;
access_log /var/log/nginx/example_access.log;
error_log /var/log/nginx/example_error.log;
}
sudo mkdir -p /usr/share/nginx/example
echo ok | sudo tee /usr/share/nginx/example/index.html
sudo nginx -t && sudo systemctl reload nginx
よくあるつまずき → 最初の3手
ss -lntで 0.0.0.0:80 待受の有無firewall-cmd --list-servicesにhttpがあるかerror_logで具体的なエラー行を読む
ミニ課題:/status を別ホスト名で出す(仮想ホスト/server ブロックを追加)
DNSサーバー(BIND / named)
名前解決が分かると検証が一気に楽 になります。
まずはローカル専用の 正引き・逆引き を通しましょう。
インストールと起動
sudo dnf -y install bind bind-utils
sudo systemctl enable --now named
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
設定の最小化(例:example.local ドメイン)
# /etc/named.conf の末尾あたりにゾーン定義を追加
zone "example.local" IN {
type master;
file "example.local.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.rev";
allow-update { none; };
};
ゾーンファイル(正引き)
# /var/named/example.local.zone
$TTL 300
@ IN SOA ns1.example.local. hostmaster.example.local. (
1 ; serial
60 ; refresh
60 ; retry
1209600 ; expire
300 ; minimum
)
IN NS ns1.example.local.
ns1 IN A 192.168.0.10
www IN A 192.168.0.20
ゾーンファイル(逆引き)
# /var/named/0.168.192.rev
$TTL 300
@ IN SOA ns1.example.local. hostmaster.example.local. (
1 60 60 1209600 300
)
IN NS ns1.example.local.
10 IN PTR ns1.example.local.
20 IN PTR www.example.local.
権限と文法チェック
sudo chown root:named /var/named/*.zone /var/named/*.rev
sudo restorecon -v /var/named/*
sudo named-checkconf
sudo named-checkzone example.local /var/named/example.local.zone
sudo named-checkzone 0.168.192.in-addr.arpa /var/named/0.168.192.rev
sudo systemctl reload named
動作確認(dig)
dig @127.0.0.1 A www.example.local
dig @127.0.0.1 -x 192.168.0.20
ログの場所
/var/named/data/named.run (または journalctl -u named)
つまずき → 最初の3手
named-checkconf/named-checkzoneが通るかfirewall-cmd --list-servicesにdnsがあるかdig +traceでどこで詰まっているかを見る
ミニ課題:サブドメイン dev.example.local を別ゾーンにして委任してみる
メールサーバー(Postfix)
まずは ローカル配送を確実に通す ところから。
外部配送はネットワーク要件が増えるため、最初はローカルでOKです。
インストールと起動
sudo dnf -y install postfix mailx
sudo systemctl enable --now postfix
sudo firewall-cmd --add-service=smtp --permanent
sudo firewall-cmd --reload
ローカル配送テスト
echo "hello" | mail -s "test" $USER
# 受信は /var/spool/mail/$USER など。ヘッダ確認:
tail -n +1 /var/spool/mail/$USER | head -n 30
エイリアス(例:root あてを自分へ)
sudo sh -c 'echo "root: youruser" >> /etc/aliases'
sudo newaliases
echo ok | mail -s "to-root" root
キューとログ
postqueue -p
journalctl -u postfix -n 100 --no-pager
# 旧来: /var/log/maillog
つまずき → 最初の3手
ss -lntに:25の待受があるかpostqueue -pのステータス(Deferred か)journalctl -u postfix(相手の名前解決・到達・認証で失敗していないか)
ミニ課題:配送失敗を意図的に作り、名前解決/ポート/認可 の順で切り分け台本を作る
切り分けの“共通リズム”
- 待受:
ss -lnt(ポート開放)+firewall-cmd(サービス許可) - 名前解決:
digでA/PTR、権威・TTLを確認 - アプリ検証:
curl/postqueueなどで層を上げて確認 - ログ:最終的な頼みの綱。エラー行を読む→仮説→再現 の循環
このリズムを体で覚えると、以降の学習も実務も 怖くなくなります。
7日・14日・21日プラン
7日速習プラン(合計目安 10〜15時間)
“まず一台を通す”ための短期集中。細部は追わず、200 OK/digで応答/ローカル配送の三点を最短で体験します。
| 日 | やること | 目標(検証ポイント) |
|---|---|---|
| 1 | 第1–3章:VM作成→AlmaLinux 9導入→SSH有効化 | ssh user@vm で接続/スナップショット作成 |
| 2 | 第4章:Apache または Nginx を最小構成で起動 | curl -I http://<IP> が 200 OK/アクセスログ確認 |
| 3 | 第4章:仮想ホスト(serverブロック)を1つ追加 | www.example.local で別コンテンツ表示 |
| 4 | 第5章:BINDインストール→正引きゾーン | dig A www.example.local @127.0.0.1 が応答 |
| 5 | 第5章:逆引きゾーン追加→権限・TTL確認 | dig -x <IP> @127.0.0.1 が PTR 応答 |
| 6 | 第6章:Postfix→ローカル配送/キュー確認 | postqueue -p/journalctl -u postfix で配送経路把握 |
| 7 | 第7章:FW最小化・待受確認→全体通し復習 | ss -lnt/firewall-cmd --list-services で最小開放を整える |
ポイント
- 各日の最後にスナップショット。戻して再現できたら理解が定着
- 失敗時は「待受→名前解決→アプリ検証→ログ」の順に切り分ける
14日標準プラン(合計目安 20〜30時間)
各章をじっくり一巡。“立てる→叩く→ログ読む” の型を固めます。
| 週 | 日 | やること | 目標(検証ポイント) |
|---|---|---|---|
| 1 | 1 | 第1–2章 | VM準備完了/スナップショット「初期化」 |
| 2 | 第3章 | SSH接続・更新・一般ユーザー+sudo運用 | |
| 3 | 第4章(Web最小) | 200 OK/アクセスログ・エラーログの場所を説明できる | |
| 4 | 第4章(仮想ホスト) | 別ホスト名で別コンテンツを出し分け | |
| 5 | 仕上げ課題(Web) | /status を別ホスト名に切り出し/FW開放の整合 | |
| 6 | 予備日(復習) | 3〜5日のやり直し+メモ整備 | |
| 7 | 休養/まとめ | 進捗メモ・疑問整理 | |
| 2 | 8 | 第5章(正引き) | dig で権威・TTLを読める |
| 9 | 第5章(逆引き) | dig -x でPTR応答/ゾーン文法チェック習得 | |
| 10 | 第6章(Postfix基礎) | ローカル配送→postqueue/maillog の読解 | |
| 11 | 第6章(エイリアス・キュー) | 失敗例を作り、三手で原因特定 | |
| 12 | 第7章(FW/NW最小) | ss -lnt と firewalld の整合を説明できる | |
| 13 | 全体通し | Web→DNS→Mail の依存関係を言語化 | |
| 14 | 予備日(復習) | 口頭試問(自分に説明)+チートシート化 |
21日じっくりプラン(合計目安 30時間〜)
半章ずつ+再現練習。失敗→復旧のリズムを身体化します。
- 平日:半章+演習(30〜60分)
- 週末:復習+再現(スナップショットからやり直し)
- 週ごとに「原因 → 対処 → 再発防止」を一枚にまとめる
仕上げ課題の例
- Web:404/403 を意図的に起こし、ログから原因特定→修正
- DNS:サブドメイン委任+
dig +traceで経路観察 - Mail:配送失敗3ケース(名前解決/ポート閉塞/認可)を再現→切り分け台本化
日々のルーティン(10–40–40–10)
- 10分 復習:前日のメモを声に出して要約
- 40分 実習:手順→検証→ログ確認
- 40分 追試:一度壊して戻す(スナップショット活用)
- 10分 記録:実行コマンド/エラー/直し方を1行ずつ残す
チェックアウト(毎回)
- 「いま何が待ち受け、何が開いていて、何が名前解決できるか」を1分で説明できるか
- ログのエラー行を三つ読み、仮説→検証を言語化できたか
このプランで進めると、“分かった気がする” ではなく “動かせる・直せる” まで到達できます。
つまずきポイントと解決の型
学習中に遭遇しやすい“ハマり”を、最初の3手で素早く切り分けます。
合言葉は 待受 → 名前解決 → アプリ → ログ。
よくある症状と“最初の3手”
| 症状 | まずやること①(待受) | ②(名前解決) | ③(アプリ検証) |
|---|---|---|---|
| HTTPに繋がらない | ss -lnt で :80 の待受確認、firewall-cmd --list-services に http があるか | dig A www.example.local @127.0.0.1(IPが正しいか) | curl -I http://<IP>/curl -H 'Host: www.example.local' http://<IP> |
| www名で開けない | ss -lnt はOKか | ゾーンの A/CNAME が正しいか、TTLの伝播待ちではないか | 仮想ホスト/serverブロックの ServerName が一致しているか |
| 403/404が出る | 待受OKならスキップ | 名前解決OKならスキップ | ドキュメントルート/SELinuxコンテキスト/権限を確認(ls -Z、chown) |
| DNSが応答しない | ss -lun で :53(UDP)/ :53(TCP)待受、FWにdns | named-checkconf/named-checkzone で文法確認 | dig @127.0.0.1 example.local(権威やSOAが返るか) |
| 逆引きが失敗 | 待受OKか | 逆引きゾーン名(*.in-addr.arpa)と PTR の書式 | dig -x <IP> @127.0.0.1 で実際に引けるか |
| メールが届かない | ss -lnt に :25、FWにsmtp | 相手/自ホストの名前解決(A/PTR)が整合しているか | postqueue -p/journalctl -u postfix で配送経路を読む |
ログの“読み始め”ポイント
- Apache/Nginx
access_log:ステータスコード(200/403/404/500)と リクエストパスerror_log:Permission denied、No such file、virtual host mis-match
- BIND (named)
journalctl -u named(もしくは/var/named/data/named.run)- zone load fail、NXDOMAIN、CNAME loop などのキーワード
- Postfix
journalctl -u postfix//var/log/maillog- Deferred の理由(Host not found/Connection refused/Relay access denied)
ログはエラー行を3つ拾って、共通の単語(denied/refused/not found)を頼りに仮説を立てるのが近道。
権限・SELinuxの基本確認(HTTPで多い)
# 所有権・権限
ls -l /var/www/example
# SELinuxコンテキスト
ls -Z /var/www/example
# 必要なら(例)
sudo chcon -R -t httpd_sys_content_t /var/www/example
**403は大抵「ファイルに到達できていない」**のサイン。
順に (1)パス → (2)UNIXパーミッション → (3)SELinux を確認。
DNSゾーンの文法・権威チェック
sudo named-checkconf
sudo named-checkzone example.local /var/named/example.local.zone
sudo named-checkzone 0.168.192.in-addr.arpa /var/named/0.168.192.rev
dig @127.0.0.1 SOA example.local +short
dig @127.0.0.1 NS example.local +short
SOA/NSが正しく返ることが、他のレコードが“正しく載っている”前提になります。
メール配送の三段切り分け(ローカル配送)
- 名前解決:
dig <peer> A/dig -x <ip> - 到達性:
ss -lnt | grep ':25'、相手へtelnet <host> 25(学習環境内) - 認可:ログの
Relay access denied/Helo command rejectedをキーワードに設定見直し
チェックリスト(短く早く回す)
ss -lnt(待受)/firewall-cmd --list-services(開放)dig A / -x(名前解決)curl/postqueue -p(アプリ)journalctl -u <service>(ログ)
この4点セットを“呼吸するように”回せると、
つまずきは 「怖い」→「手順通りに直せる」 に変わります。
LinuCとの関係(レベル2のサーバー領域に効く)
この教材は、LinuC レベル2(201/202)のうち、サーバーサービス系の出題領域を手を動かしながら固めるのに向いています。
LinuCとはLinux技術者認定のことです。LinuCについての範囲や学習方法などはこちらの記事でまとめています → LinuC
直前の“問題演習書”ではありませんが、実機で動かした経験があると設問の意図が読みやすくなります。
章 → 出題領域の対応イメージ
| 教科書の章 | 関連するLinuC領域(例) | 学べる/確認できるポイント |
|---|---|---|
| 第2章 VM準備 | 仮想化の基礎・検証環境 | 受験期の“安全な実験場”を用意する手順 |
| 第3章 OS導入・初期設定 | システム初期化・パッケージ管理 | dnf更新、sshd、一般ユーザー+sudo運用 |
| 第4章 Webサーバー | Webサービス(Apache/Nginx) | インストール→起動/自動起動→仮想ホスト→ログ読解 |
| 第5章 DNSサーバー | DNS(権威/再帰・ゾーン設計) | 正引き/逆引き、SOA/NS、named-check*、dig検証 |
| 第6章 メールサーバー | メール(MTA/MDA・配送経路) | Postfix基礎、エイリアス、キュー、maillog読解 |
| 第7章 NW/セキュリティ | ネットワーク・基本セキュリティ | ss -lnt、firewalld最小化、SSH到達性の確認 |
※ 網羅対策は問題集で補完しつつ、**“動く/動かないの境目を説明できる”**状態を目指すのがコツです。
こう効く(具体例)
- Web:
「仮想ホストの動作条件を選べ」の設問で、ServerNameとHostヘッダの関係を自分の手で確認済みだと迷いません。
ログ設問も、access_logとerror_logの読み始めの勘所が分かります。 - DNS:
SOA/NS、A/PTR、委任の動作が**digで体感**できていると、名前解決の正誤判定やTTLの解釈問題が速くなります。 - メール:
「配送失敗の理由を選べ」系で、Deferredの代表因(名前解決/到達性/認可)をログから切り分ける癖が役立ちます。
学習フロー(レベル2受験を前提に)
- この教材で“通す”体験(7〜14日)
Web→DNS→メールの順に“立てる→叩く→ログ”を一巡 - 試験範囲の棚卸し
シラバスを眺め、未学習項目に付箋(TLS設定や細かいオプション等) - 問題演習でギャップ埋め
不明点は実機で再現→ログ確認の往復で暗記を避ける - 仕上げ
「待受・FW・名前解決・アプリ・ログ」のチェック表を1枚にまとめ、口頭で説明練習
合格のための使い分け
- 基礎の語彙と操作感:『Linux標準教科書』
- サーバー領域の実機感:本教材(本記事)
- 運用・初動対応の型:『Linuxシステム管理標準教科書』
- 出題網羅と直前演習:問題集・模試
手で通した経験 × 演習が、レベル2の理解スピードと正答率を底上げします。
他教材との使い分け(入門・構築・運用)
三教材は役割がハッキリ分かれています。
イメージは 入門=触る/構築=立てる/運用=回す。
役割とゴールの違い(早見表)
| 教材 | 役割 | できるようになること | 向いている人 |
|---|---|---|---|
| Linux標準教科書 | 入門(触る) | 基本コマンド、vi、権限、入出力、プロセス・ネットワークの超基礎 | Linuxが初めて/黒画面に不安がある |
| Linuxサーバー構築標準教科書(本記事) | 構築(立てる) | Web/DNS/メール を自分で構築→検証→ログを読む | まず一台を通す体験がほしい |
| Linuxシステム管理標準教科書 | 運用(回す) | ユーザー・権限・サービス・FS・バックアップ・トラブル初動 | 現場の“型”を身につけたい/LinuC Lv2も視野 |
迷ったらこの順番(王道ルート)
- Linux標準(2週間)
- サーバー構築(2週間)
- システム管理(2〜3週間)
基礎の語彙と手の感覚 → サービスを立てる体験 → 回し続ける型、の順で迷いなく積み上がる導線です。
動機優先ショートカット
- まず“動くサイト”を出したい
→ サーバー構築 →(必要に応じて)標準で基礎補完 → システム管理 - 既存サーバーの保守を任された
→ 標準(速習) → システム管理 → サーバー構築(不足分だけ)
「成果先行」でやると成功体験が早く得られ、学習が続きます。
ただし基礎の抜けは標準で都度埋め戻しましょう。
併用のコツ(往復学習)
- 標準で覚えた用語を、構築の実習で**“手の記憶”**に変換
- 構築で起きた不具合を、システム管理の切り分け・ログ読解で解決
- もう一度構築に戻り、再現→復旧を短時間で回す
この往復で、分かる→できる→直せるに進化します。
目的別レコメンド
- 転職・現場配属が近い:標準(速習)→ サーバー構築(Web/DNS優先)→ システム管理(ログ・初動)
- LinuCレベル1から着手:標準 → 問題演習(Lv1)→ サーバー構築/システム管理で実機感を補強
- 授業・社内読書会:標準で全員の底上げ → サーバー構築で成果発表(HTTP/DNS) → システム管理で障害対応演習
まとめ:
「触る」→「立てる」→「回す」 の三段ロケット。
本記事の教材(サーバー構築)は、その第二段として最短で“立てられる人”にしてくれます。
よくある質問(FAQ)
Q1. WSL2だけで最後まで学べますか?
基本操作とWebの最小構成まではOK。ただし DNSやメールの章はVMのほうが再現しやすいです。
おすすめは、WSL2で基礎を触る → VirtualBox+AlmaLinux 9で章を忠実に再現の二段構え。
Q2. ApacheとNginx、どちらで進めるべき?
どちらでも到達できます。最短で成果を得たいなら
- Apache:情報量が多く、教材の手順に沿わせやすい
- Nginx:設定がシンプルで高パフォーマンス
まずは片方で“200 OK”まで通し、慣れてからもう一方を試すのが効率的。
Q3. 家のネットワークで外部公開しても大丈夫?
学習段階では外部公開は非推奨。まずは NAT+ポートフォワードや同一LAN内だけで検証してください。
公開したい場合はFW設定・パッチ適用・不要ポート遮断・ログ監視を徹底のうえ、踏み台化のリスクを理解してから。
Q4. AlmaLinuxでなくても学べますか?
学べます。パッケージ管理や設定ファイルの場所がディストリによって違うため、
教材の手順をなぞりつつ、自分の環境に置き換えメモを残しましょう(dnf⇔aptなど)。
Q5. どのくらいの時間で一通りできますか?
目安は以下。
- 7日速習:10〜15時間(最小構成でWeb/DNS/メールを一巡)
- 14日標準:20〜30時間(実習+ログ読解+復習)
- 21日じっくり:30時間〜(失敗→復旧の再現練習込み)
Q6. つまずいたら何から確認すればいい?
待受 → 名前解決 → アプリ → ログの順で切り分けます。ss -lnt(ポート)→ firewall-cmd --list-services(開放)→ dig(A/PTR)→ curl / postqueue → journalctl -u <service> の4点セットが基本。
Q7. 社内読書会や授業で使えますか?
CC BY-NC-ND 4.0なので、非営利の範囲なら利用・配布OK(改変不可)。
配布時は出典表記を忘れずに。進行は「章前後でスナップショット」「成功例の通し発表」が効果的です。
Q8. LinuCの勉強にも役立ちますか?
レベル2(201/202)のサーバー領域の理解が深まります。
ただし試験対策本ではないため、問題集・模試で網羅と直前調整を行ってください。
Q9. 学習ログはどう残すと良い?
script -a session.log で作業を丸ごと録画、設定はバックアップ→差分(diff -u)、章ごとにGitでコミット。
「何をして/どう壊れて/どう直したか」を1行で残すだけでも再現性が跳ね上がります。
参考リンク
- LPI-Japan(公式)
https://lpi.or.jp/ - Linuxサーバー構築標準教科書(教材ページ/ダウンロード)
https://linuc.org/textbooks/server/ - LinuC(Linux技術者認定)
https://linuc.org/ - 関連教材:Linux標準教科書(基礎)
https://linuc.org/textbooks/linux/ - 関連教材:Linuxシステム管理標準教科書(運用)
https://linuc.org/textbooks/admin/ - bash道の関連記事(内部リンク)
「はじめてのLinux入門:無料教材『Linux標準教科書』の使い方ガイド」
「LinuC学習の強い味方:無料教材「Linuxシステム管理標準教科書」の読み進め方」
まとめ(次のアクション)
- 教材を入手:公式ページから PDF/EPUB をダウンロード
- 環境を用意:VirtualBox+AlmaLinux 9(初期化後にスナップショット)
- Web → DNS → メール の順で最小構成を“通す”
- 検証まで一体運用:
curl/dig/postqueueと ログ を必ず見る - 学習ログを残す:実行コマンド・エラー・直し方を1行でも記録
- 余力が出たら 7日/14日プラン を回し、再現→復旧の練習で定着
- 次の一歩:目的に合わせて 標準(基礎)/システム管理(運用) に進む
“立てる→叩く→ログを読む” を習慣化できれば、
サーバー構築は怖さよりも楽しさが勝ってきます。
今日から、一台めを通していきましょう。

