Linuxサーバー構築
学習のポイントと環境構築

日本仮想化技術株式会社
株式会社びぎねっと 代表取締役社長兼CEO宮原 徹（@tmiyahar）

自己紹介・経歴◼ 本名：宮原 徹◼ 1972年1月 神奈川県生まれ◼ 1994年3月 中央大学法学部法律学科卒業◼ 1994年4月 日本オラクル株式会社入社
 PCサーバ向けRDBMS製品マーケティングに従事
 Linux版Oracle8の日本市場向け出荷に貢献◼ 2000年3月 株式会社デジタルデザイン 東京支社長および株式会社アクアリウムコンピューター 代表取締役社長に就任
 2000年6月 （株）デジタルデザイン、ナスダック・ジャパン上場（4764）◼ 2001年1月 株式会社びぎねっと 設立◼ 2006年12月 日本仮想化技術株式会社 設立◼ 2008年10月 IPA「日本OSS貢献者賞」受賞◼ 2009年10月 日中韓OSSアワード 「特別貢献賞」受賞© LPI-Japan / EDUCO all rights reserved.

2

本資料について◼『Linuxサーバー構築標準教科書 V4』を読み解けるようになるための資料です◼バージョン4に改訂し、AlmaLinux 9.3対応バージョン3に比べて細かい部分が変更に◼仮想マシンを使って単独実習可能にしましたVirtualBoxを使用◼より実習が進めやすいスタイルに調整必要最低限の解説を心がけました© LPI-Japan / EDUCO all rights reserved.

3テキストの入手方法◼『Linuxサーバー構築標準教科書』はPDF版・EPUB版を無償でダウンロードできますバージョン4は準備中です

https://linuc.org/textbooks/linux/◼開発版はGitHubで読めます
https://github.com/lpi-japan/server-text/
PDF版はGitHub Actionsの実行結果から取得可能◼研修などで使用する時は製本版を実費にて頒布予定© LPI-Japan / EDUCO all rights reserved.

4

PDF版はGitHub Actionsで生成中© LPI-Japan / EDUCO all rights reserved.

5

本日のアジェンダ

1. Linuxサーバー構築実習の準備
2. VirtualBoxを使う
3. Linuxのインストール
4. ネットワークの設定
5. Webサーバーの構築
6. DNSサーバーの構築
7. メールサーバーの構築
ポイント解説なので具体的な手順は教科書を参照© LPI-Japan / EDUCO all rights reserved.

6

バージョン4改訂で気がついた点

CentOS 7からAlmaLinux 9に変更
◼MTA（Mail Transfer Agent）がデフォルトでインストールされなくなった！？
以前はPostfixが入ったり、Sendmailを入れたり◼mailコマンドも入ってない！？
s-nailをインストール◼rootでのログインがデフォルト不可になった一般ユーザーを作成してsudoコマンド等を実行◼Thunderbirdも結構変わった初期セットアップは手動でやりやすくなった© LPI-Japan / EDUCO all rights reserved.

7

Linuxサーバー構築実習の準備

準備すること◼マシンの確保仮想マシンで実習環境を構築するのでメモリ多めでCPUはIAを想定しているがARMも可能◼インストール用ISOイメージの準備教科書で想定しているAlmaLinux 9.3をダウンロード
サイズが大きいので注意◼ネットワークの設計
インターネット接続を想定しているが無くても可能◼VirtualBoxのインストール© LPI-Japan / EDUCO all rights reserved.

9

マシンの確保◼仮想マシンが利用可能なマシン
 VirtualBoxを使っているが、その他の仮想マシンソフトウェ
アでも可能 ホストOS型、ハイパーバイザー型など、無償版で色々と試してみよう◼物理マシンのメモリは8GBぐらい欲しい 今回の環境は2GB/VMぐらいの割り当てが必要- 頑張れば1GBでも多分大丈夫◼ストレージはHDDよりはSSD
 そんなに激しい使い方はしないのでHDDでも大丈夫？

© LPI-Japan / EDUCO all rights reserved.

10インストールメディアの準備◼AlmaLinux 9.3をインストール◼IA（x86_64）版を使っているがARM（aarch64）版も可能◼GUIを使うのでフルDVD版ISOイメージを用意
3台構成のうち1台だけでも可© LPI-Japan / EDUCO all rights reserved.

11

ネットワークの設計
上位ドメインjp

アドレス：192.168.56.100
ホスト名：host0
ドメイン：jp

example1.jp
受講者A用

example2.jp
受講者B用

アドレス：192.168.56.101
ホスト名：host1
ドメイン：example1.jp

アドレス：192.168.1.102
ホスト名：host2
ドメイン：example2.jp© LPI-Japan / EDUCO all rights reserved.

12

設定シートの例（基本）インストールには以下の事項が必要
1台目
マシン名
host1
IPアドレス
192.168.56.101
ネットマスク 255.255.255.0
ホスト名
host1.example1.jp
ゲートウェイ 設定不要
DNS
192.168.1.101

2台目
host2
192.168.56.102
255.255.255.0
host2.example2.jp
設定不要
192.168.1.102※IPアドレスとDNSのアドレスを同一に設定します© LPI-Japan / EDUCO all rights reserved.

13

設定シートの例

マシン名
IPアドレス
ネットマスク
ホスト名
ゲートウェイDNS3台目
host0
192.168.56.100
255.255.255.0
host0.jp

192.168.1.100© LPI-Japan / EDUCO all rights reserved.

14

VirtualBoxを使う

VirtualBoxについて◼GPLで公開されているホストOS型
仮想マシンソフトウェア
Windows,Linux,Mac,Solarisをサポート◼現在、バージョン7系が開発されている
バージョンアップサイクルがとても早い◼http://www.virtualbox.org からダウンロード© LPI-Japan / EDUCO all rights reserved.

16

VirtualBoxのネットワーク設定◼接続したいネットワーク形態によって変更◼仮想ネットワークアダプタ毎に設定可能
外部と接続

仮想ネットワーク種別

接続方法

NAT

物理ネットワークとNAT

NATネットワーク

物理ネットワークとNAT

ブリッジ

物理ネットワークに直結

内部だけで接続 内部ネットワーク

仮想マシンのみ

ホストオンリーアダプタ ホスト＋仮想マシンのみ• 外部との接続は、どのように接続させたいかによって「NAT」系か「ブリッジ」を選択• 内部だけでの接続は、内部ネットワークは使いにくいので「ホストオンリーアダプタ」を選択© LPI-Japan / EDUCO all rights reserved.

17

ホストオンリーアダプターが非推奨に？

◼バージョン7.0.12ではホストオンリーアダプターが利用可能◼テストビルド版7.0.18ではホストオンリーアダプ
ターが非推奨になり、ホストオンリーネットワークを選ぶことになる◼ホストオンリーネットワークは内部ネットワーク＋ブリッジとして動作するらしいドキュメントは用意されているので読んだが詳細不明
NATがNATネットワークになったのと同じ流れ？

© LPI-Japan / EDUCO all rights reserved.

18

物理ネットワークの基本形

物理
スイッチ

物理NIC
物理マシン

物理NIC
物理マシン

© LPI-Japan / EDUCO all rights reserved.

19

ホストオンリーアダプター
ネットワーク 192.168.56.0/24
DHCP
サーバー

仮想スイッチ

仮想NIC 56.101

ホストオンリーアダプター 192.168.56.1

仮想マシン

ホスト

host1.example1.jp© LPI-Japan / EDUCO all rights reserved.

20

NAT仮想スイッチ

仮想NIC
仮想マシン

ホストから仮想マシンに接続できないのが難点

仮想ポート

デフォルト
ゲートウェイ

ホスト NAT
物理NIC© LPI-Japan / EDUCO all rights reserved.

21

VirtualBoxのネットワーク設定例

1. VirtualBoxマネージャーの「ツール」→「ネットワーク」
2. 「ホストオンリーネットワーク」タブを選択
3. （何も無い場合は「作成」をクリック）
4. アダプターのIPアドレスを「192.168.56.1」に設定
ネットマスクは255.255.255.0
このIPアドレスがホスト側の仮想NICに割り当てられる

5. 「DHCPサーバー」タブを選択し、設定を入力
DHCPを使わない設定でも問題なし© LPI-Japan / EDUCO all rights reserved.

22

仮想マシンの作成例
1. 名前を入れる（例：host1example1.jp）
2. タイプ：Linuxを選ぶ
3. Red Hat 9.x(64-bit)を選ぶ
4. メモリは2048MBぐらいで
5. EFIを有効化（Enable EFI）にチェック インストーラーの解像度がズレないように

6. 仮想ハードディスクファイルを追加
 設定はデフォルトでOK!!

7. ストレージの設定でISOイメージを選ぶ 仮想DVDドライブはIDEに接続されています

8. ネットワークアダプター2を有効化
 ホストオンリーアダプターに設定© LPI-Japan / EDUCO all rights reserved.

23

Linuxのインストール

Linuxインストール時のポイント

1. インストール時
インターネット接続が使えない場合にはあらかじめ必
要なソフトウェアを追加しておくIPアドレスを静的アドレスに変更する
DNSサーバーの参照先は自分自身にしておく

2. インストール後
インターネットへの疎通を確認© LPI-Japan / EDUCO all rights reserved.

25

ネットワークの設定

1. IPアドレスの確認
ipコマンド等

2. 外部への導通の確認
pingコマンド

3. 名前解決の確認
digコマンド© LPI-Japan / EDUCO all rights reserved.

26

Webサーバーの構築

Webサーバーの構築

1. Webサーバーのインストール
dnfコマンドを利用

2. 基本動作確認
systemctlコマンド
curlコマンド、Webブラウザ

3. 自動起動の設定
4. ファイアーウォールの設定
ホストOS側からの接続確認© LPI-Japan / EDUCO all rights reserved.

28参考）よく使うdnfコマンド

インターネットに接続できる前提で◼パッケージ表示系
# dnf list
# dnf grouplist◼インストール系
# dnf install パッケージ名

# dnf groupinstall パッケージグループ名© LPI-Japan / EDUCO all rights reserved.

29

Webサーバー動作の流れ

DNSサーバー

② ③Webブラウザー端末④⑤① WebブラウザーでURLを入力② URLにあるホストのIPアドレスをDNSに問い合わせ③ DNSサーバーからIPアドレスを取得④ Webブラウザーからコンテンツをリクエストする⑤ コンテンツを取得する⑥ コンテンツがWebブラウザーに表示される・・・・・・・・・・・・・・・・

コンテンツ

①

⑥Webサーバー© LPI-Japan / EDUCO all rights reserved.

30

DNSサーバーの構築

DNSサーバーの構築◼DNSの仕組みを理解する階層型データベースと権限委譲
再帰問い合わせ

◼自己参照で名前解決ができることを確認◼上位DNSに「グルーレコード」を作成
上位DNSを参照するように設定変更◼ホスト間でDNSを相互参照できることを確認© LPI-Japan / EDUCO all rights reserved.

32参考） /etc/hostsを使った名前解決◼名前解決の優先順位は/etc/nsswitch.confに記述されている
hosts:

files dns

/etc/hostsを参照し、次にDNSを参照する
先に名前解決できたら完了（DNSは参照しない）◼/etc/hostsに書いておけば名前解決はできるただし、ネットワーク上すべてのホストに/etc/hostsを作る必要があるインターネット上のホストが増えすぎたので、分散・階層型DBであるDNSが名前解決用に用意された© LPI-Japan / EDUCO all rights reserved.

33

DNSは階層型データベース

トップドメインサブドメインレコードjp

example1

wwwexample2

mail・・・◼各階層で受け持ちのゾーンを管理◼サブドメイン化＝下位の階層への権限委譲◼レコード＝自ゾーンに属するホストの情報

・・・

Webサーバー：www.example1.jp
メールサーバー：mail.example1.jp© LPI-Japan / EDUCO all rights reserved.

34

名前解決と再帰問い合わせ
DNSコンテンツサーバー②①

DNSキャッシュサーバー

www.example1.jpのIPを問い合わせwww.example1.jpのIPは192.168.1.101

⑤.

③

jp

④
example1

www© LPI-Japan / EDUCO all rights reserved.

35

実習環境での名前解決

② ④
端末

①

① Webブラウザーに"www.example2.jp"を入力する② WebブラウザーがLinuxシステムの・・・・・・・・・・・・・・・・リゾルバに問い合わせして、③
リゾルバはresolv.confファイルにjp.zone ファイル
書かれたDNSサーバーに問い合わ
アドレス：192.168.56.100
せする
jpドメイン：jp③ example2.jpゾーンのネームサーバー
情報（NSレコード）を参照する④ example2.jpのネームサーバー情報を取得して、受講生マシンに返答する⑤ “192．168．56．102”のDNSサーバーにwww.example2.jpのIPアドレスを問⑤い合わせするexample2⑥ www.example2.jpのIPアドレスを取得⑥ アドレス：192.168.56.102
する
ドメイン：example2.jp

アドレス：192.168.56.101© LPI-Japan / EDUCO all rights reserved.

36

chroot機能/bin

BINDのchroot機能を利用すると、namedからは枠線で囲った部分までしかアクセスできなくなります。

dev
etc

var
named

chrootdev
etcvar© LPI-Japan / EDUCO all rights reserved.

37メールサーバーの構築

メールサーバーの構築

1. DNSでMXレコードが正しく名前解決できるか確認
2. メールサーバーの動作を/var/log/maillogで確認（別ターミナルで）$ sudo tail –f /var/log/maillog

3. mailコマンドでテストメール
4. IMAPサーバーとしてDovecotを設定
5. Thunderbirdを使ってメール送受信テスト© LPI-Japan / EDUCO all rights reserved.

39

メール配送の基本的な仕組み

mailサーバー
mail.example1.jp
192.168.1.101

example1

mailサーバー
mail.example2.jp
192.168.1.102②メール転送①メール送信mailexample2 ③メール受信④メール読み出しmail© LPI-Japan / EDUCO all rights reserved.

40

Thunderbirdでのメール送受信① Thunderbirdでメールを書く② メールを送信（SMTP認証）③ user1のSMTPサーバーからuser2のSMTP/IMAPサーバーにメール転送（SMTP）④ user2が自分のアカウントのメールボックスのメールを受信（IMAP）⑤ メールをThunderbirdで表示③

STMPメールサーバー②

IMAPメールサーバー

④

①

⑤

user1端末

user2端末© LPI-Japan / EDUCO all rights reserved.

41

最後に

◼まずは試す◼同じ内容を10回は繰り返す◼見ないでも出来るようになるまで◼自宅サーバーか、レンタルサーバーなどで独自ドメインで試してみる
ダイナミックDNSなども面白い◼誰かに教える ← ここで5合目◼業務に活かすセキュリティについて勉強が必要© LPI-Japan / EDUCO all rights reserved.

42