これから始めるUbuntu入門〜Ubuntuのインストールとパッケージ管理

日本仮想化技術株式会社
水野 源© LPI-Japan / EDUCO all rights reserved.

講師プロフィールn 日本仮想化技術株式会社 技術部所属
 クラウドを利用したDevOps案件等を担当

n Ubuntu Japanese Team Member
n Ubuntu.com Member
n Debian Package Maintainer
n 日経Linux誌で「Linux100％活用ガイド」連載中© LPI-Japan / EDUCO all rights reserved.

2

本セミナーの想定受講者
n これからLinuxを学習しようと考えている方。
n Ubuntu、Debian GNU/Linux以外のディストリ
ビューションの利用経験があり、Ubuntuについて知りたい方。

© LPI-Japan / EDUCO all rights reserved.

3

本セミナーのゴール
n Ubuntuの特徴を理解することができる。
n Ubuntuを使った基本的なシステムの構築ができる。

© LPI-Japan / EDUCO all rights reserved.

4

本日のアジェンダ
1. Ubuntuの特徴
2. Ubuntuのリリース
3. Ubuntuのインストール
4. Ubuntuのパッケージ管理
5. 【実例】UbuntuでWebサーバーを構築する
6. 参考資料© LPI-Japan / EDUCO all rights reserved.

5

Ubuntuの特徴© LPI-Japan / EDUCO all rights reserved.

Ubuntuとはn Debian開発者であったMark Shuttleworthによって作られた、Debianベースの派生ディストリビューション。
n 名前の由来はズールー語で「思いやり」。
n 最初は使いやすいデスクトップOSを作ることを目標として開発開始。
n 最初のリリースは2004年10月。

Mark Shuttleworth by Martin Schmitt
from Wikimedia© LPI-Japan / EDUCO all rights reserved.

7

Ubuntuは無償で利用可能
n Ubuntuの理念として「人はソフトウェアを自分たちの言語で、あらゆる障害に関わらず、無償で使用できるべきである」という考えがある。
n OSとしてのすべての機能は無償で使用できる。
 もちろん営利目的での利用も可能。

n Ubuntuはプロジェクトが存続する限り、永久にUbuntuを無償で利用できることと、「エンタープライズ版」のような有償バージョンを作ることはしないことを宣言している。
 ただし有償でのエンタープライズ向けサポートは存在する。

© LPI-Japan / EDUCO all rights reserved.

8

UbuntuコミュニティとCanonicaln Ubuntuの開発の主体はUbuntuコミュニティ。
n それとは別に、MarkがUbuntuをサポートするために設立した企業がCanonical。
 CanonicalはフルタイムでUbuntuを開発する開発者を雇用し、セキュ
リティ修正などを行っている。
 Canonicalはコミュニティに資金的な援助を行うなど、パトロン的存在でもある。
 勘違いされやすいが、UbuntuはCanonicalの製品というわけではない(Red HatとRHELのような関係ではない)。

n 緊急時に備え、Ubuntu財団という財団に運転資金がプールされている(初期投資で1000万ドル)。
n コミュニティによる開発体制と、企業による資金、技術的なサポートが両立しているところがUbuntuの特徴のひとつ。

© LPI-Japan / EDUCO all rights reserved.

9

Ubuntuの利用状況
n デスクトップとして
 個人、企業、学校などでも広く利用されている。
 開発者向けにも。

n サーバーやコンテナのベースOSとして
 Linuxを利用していると判明しているWebサイトのうち45.7%がUbuntu。
 各リリースには最新のOpenStackが含まれている。
 3DCG映画のレンダリングクラスターでの大規模利用実績あり。

n IoT分野で
 Raspberry Piも公式にサポート。
 ROS/ROS 2が公式にサポートしているLinuxもUbuntu。
 ロボット関係でも標準的に使われている。

n デスクトップ、サーバー、クラウド、コンテナ、IoTまで幅広く利用されているプラットフォーム。
© LPI-Japan / EDUCO all rights reserved.

10

エンタープライズ向け有償サポート
n OS自体は無償でフル機能が使えるが、それとは別にエンタープライズ向けのサポートが、Canonicalから有償で提供されている。
n 有償サポートパッケージ「Ubuntu Advantage」
 多数のUbuntuサーバーを管理するツール「Landscape」
 再起動なしにカーネルにパッチを当てる「Livepatch」
 Extended Security Maintenanceによる延長サポート
 Canonicalのナレッジベースへのアクセス 24時間の電話、オンライン窓口……など

n 一番安いEssentialプランは年間225USD/物理サー
バーだが、AWSのMarket Placeでは1時間単位での時
間課金でも購入できる。
© LPI-Japan / EDUCO all rights reserved.

11

Ubuntuの魅力
n コミュニティ主体の自由でオープンな開発体制。
n 幅広い用途に対応できる汎用性。
n エンタープライズレベルの有償サポート。
n 資金を含む企業による支援=プロジェクトの継続性。
n Debian由来の豊富なソフトウェア資産。
n 世界的に大きいシェア=サードパーティの対応。
n 半年ごとのリリースによる先進的な機能と、2年ごとにリリースされる長期サポートの両立。
n 一言で言えば、Linuxを使う多く場面において、使いやすくて都合がよいディストリ。
© LPI-Japan / EDUCO all rights reserved.

12

Ubuntuのリリース© LPI-Japan / EDUCO all rights reserved.

Ubuntuのリリースの種類
n Ubuntu Desktop
 デスクトップ向け。

n Ubuntu Server
 サーバー向け。標準でGUIを持たない。

n Ubuntu Core
 主にIoT向け。
 セキュリティ重視。
 Snapパッケージをベースに構築されたUbuntu。

n Ubuntu Cloud 各種クラウド向けイメージ。
 クラウドベンダーごとに特化したカーネルなどを搭載。
© LPI-Japan / EDUCO all rights reserved.

14

Ubuntuの公式フレーバー
n Ubuntuには味付けの違う「フレーバー」が存在する。
 Ubuntuをベースに、デフォルトでインストールされるパッケージセットを変更したもの。
 使用してるリポジトリやパッケージ自体は同じもの。

n Canonicalではなくコミュニティによるサポート。
 そのためサポート期間が異なる(短い場合がある)ので注意。

n フレーバー一覧
 Kubuntu
 Xubuntu
 Lubuntu
 Ubuntu MATE
 Ubuntu Budgie
 UbuntuStudio UbuntuKylin© LPI-Japan / EDUCO all rights reserved.

15

Ubuntuのリリースサイクルn 半年に一度のタイムベースリリースを採用。
 4月と10月の第三木曜日リリース。

n バージョン番号は西暦下2桁.月2桁で表現される。
 例: 2020年4月リリース=20.04

n リリースごとにコードネームをつけて管理。
 頭韻を踏んだ英単語で「形容詞+動物名」をアルファベット順につけるのがならわし。
 開発者間の会話やリポジトリのディレクトリ名などで、コードネームの形容詞部分が使われる。
- 例: 20.04 = コードネームFocal Fossa = Focal- 固有名詞であることを理解していないと、何を言っているか理解できない事もよくある。

© LPI-Japan / EDUCO all rights reserved.

16

Ubuntuのサポート期間
n 通常のサポート期間は9ヶ月。
n 2年に1度、長期サポート版(LTS)がリリースされる。
 LTSのサポート期間は5年
 前述のフレーバーは、サポート期間が異なることがある。

n Extended Security Maintenance(ESM) LTSにのみ、重要なセキュリティ修正だけを提供する延長サポート)が有償で提供されている。
 通常サポート5年+ESMサポート5年=10年

n サーバー用途であればUbuntu Serverの最新のLTSを第一候補とするのがよい。

© LPI-Japan / EDUCO all rights reserved.

17

Ubuntuのリリースとサポート期間

from https://ubuntu.com/about/release-cycle© LPI-Japan / EDUCO all rights reserved.

18

LTSとポイントリリース
n LTSは5年使えるが、リリースから時間がたつと、新しい
ハードウェアにインストールできないことがある。
 インストールしようとしたら、ストレージを認識しない、など。

n アップデートと、最新のUbuntuからバックポートした新しいカーネルを含んだインストールメディアをリリースしよう。
 これがポイントリリース。
 20.04.Xのように、末尾にポイントリリース番号がつく。

n LTSリリースから数ヶ月後に最初のポイントリリースがリリースされる。
 それから半年ごと(Ubuntuの次のリリースが出る度)に、新しいカーネルをバックポートしたポイントリリースがリリースされていく。

n 次のLTSのカーネルがバックポートされるまでポイントリリー
スは続く。
 ポイントリリースはリリースから約2年半(YY.MM.5)で打ち止め。

© LPI-Japan / EDUCO all rights reserved.

19

LTSとポイントリリース
n ポイントリリースはインストールメディアがリリースされるだけなので、運用中のOSをアップデートし続けていればポイントリリー
スからインストールした環境と同等になる。
 再インストールや、特別なアップグレードは不要。
 CentOSのマイナーリリースと違い、新機能追加などは行われない。

n もしインストールしたいUbuntuのバージョンに、最新のポイントリ
リースが存在するなら、そっちのメディアからインストールしよう。
 もちろん古いメディアからインストール可能なら、アップデート後の差異はな
いので、それほど気にしなくてもいい。

© LPI-Japan / EDUCO all rights reserved.

20

LTSとポイントリリース
20/04

20/08

20/10

21/02

21/04

21/08

21/10

22/02

22/04

22/08

20.04 LTS
20.04.1

20.04.2

20.04.3(予定)20.04.4(予定)20.04.5(予定)

20.10
21.04
21.10
22.04 LTS

© LPI-Japan / EDUCO all rights reserved.

21

Ubuntuのインストール© LPI-Japan / EDUCO all rights reserved.

用意するものn Ubuntu Server 20.04.2 LTSのインストールメディア
 https://releases.ubuntu.com/20.04/

n 以下のスペックを満たすサーバー
 1GHz以上のIntel/AMD 64bit CPU- arm64/ppc64el/s390xにも対応

 RAM: 1GB以上
 DISK: 2.5GB以上© LPI-Japan / EDUCO all rights reserved.

23

インストールの流れ
1.
2.
3.
4.
5.
6.
7.
8.
9.

言語の選択
キーボードの選択
ネットワークの設定
プロキシの設定
アーカイブサーバーの設定
ストレージの設定
初期ユーザーの作成
SSHの設定Snapパッケージのインストール© LPI-Japan / EDUCO all rights reserved.

24インストーラーの操作方法
n カーソルキー↑↓：項目の選択
 フォーカスの移動も可能

n TABキー：フォーカスの移動（正順）
 シフト＋TABキーで逆順移動も可能

n スペースキー：選択肢の選択
n Enterキー：選択肢の選択
n ドロップダウンリストの操作
 TABキーでドロップダウンリストをフォーカス
 Enterキーでリストを開く カーソルキー© LPI-Japan / EDUCO all rights reserved.

25

インストールメディアからの起動
n 起動した直後に表示される画面
 この状態で何もせず待つとインストーラーが起動する。

© LPI-Japan / EDUCO all rights reserved.

26

言語の選択n キーボードのカーソルキーで選択してEnterで決定。
n 日本語はない。
 サーバーのコンソールで日本語は使いづらいため、Englishをおすすめ。

© LPI-Japan / EDUCO all rights reserved.

27

キーボードの選択
n 言語でEnglishを選択したため、キーボードも英語になっている。
 日本語キーボードを使っているならJapaneseに変更する。
 ドロップダウンリストなのでLayoutをフォーカスしてスペースキー。

© LPI-Japan / EDUCO all rights reserved.

28

ネットワークの設定
n デフォルトはDHCPになっている。
n ネットワークに接続できない状態でもインストールは可能。

© LPI-Japan / EDUCO all rights reserved.

29

IPアドレスの手動設定
n 設定を変更したいNICを選択し、「Edit IPv4IP」で手動設定が可能。

© LPI-Japan / EDUCO all rights reserved.

30

IPアドレスの手動設定
n IPv4 Methodを「Manual」に変更。
n AddressやSubnetなどを入力。
 ここで設定したIPアドレスはインストール後も引き継がれる。

© LPI-Japan / EDUCO all rights reserved.

31プロキシの設定
n インターネットアクセスにプロキシが必要な場合は設定する。
 プロキシが不要な場合は空欄のままでよい。

© LPI-Japan / EDUCO all rights reserved.

32

アーカイブサーバーの設定
n パッケージをダウンロードするアーカイブサーバーを設定する。
 IPアドレスから地理的に近いミラーが自動的に選択される。

© LPI-Japan / EDUCO all rights reserved.

33

ストレージの設定
n 使用するディスク、LVM、暗号化の有無などを選択する。
n 手動でパーティションやRAIDを設定することも可能。

© LPI-Japan / EDUCO all rights reserved.

34

ストレージの設定の確認
n デフォルトではLVMを使用する。
n 暗号化はなし。

© LPI-Japan / EDUCO all rights reserved.

35

ストレージの変更の確認
n Continueを選択すると、ストレージに変更が書き込まれる。
n この時点でなら、インストールの中断が可能。

© LPI-Japan / EDUCO all rights reserved.

36

初期ユーザーの作成
n ユーザー名、サーバー名、パスワードを設定する。
n ここで作成したユーザーがサーバーの管理者(sudo可能)となる。

© LPI-Japan / EDUCO all rights reserved.

37

SSHの設定n UbuntuはデフォルトでSSHがインストールされない。
n GitHubやLaunchpadからSSH公開鍵のインポートが可能。

© LPI-Japan / EDUCO all rights reserved.

38

Snapパッケージのインストール
n Snapとは、Canonicalが開発しているユニバーサルパッケージ。
n 代表的なSnapパッケージをインストールできる。
 不要であれば省略可。

© LPI-Japan / EDUCO all rights reserved.

39

インストールの完了
n ログが表示されるので、完了まで待つ。
n Reboot Nowと表示されたらインストールは完了なので再起動する。
 running ‘curtin hook’の右側でクルクル回り続けるのはバグです。

© LPI-Japan / EDUCO all rights reserved.

40

Ubuntuのログイン画面
n あとは一般的なLinuxと同じ。

© LPI-Japan / EDUCO all rights reserved.

41

Ubuntuのパッケージ管理© LPI-Japan / EDUCO all rights reserved.

このセクションの内容
1.
2.
3.
4.
5.
6.
7.

Ubuntuにおけるrootユーザーの扱い
Ubuntuのパッケージ形式についての概要
APTパッケージマネージャーの使い方
aptコマンドとapt-getコマンドの違い
Ubuntuのカーネルパッケージの仕組み
パッケージのアップデート方針
Ubuntuのリポジトリの構成© LPI-Japan / EDUCO all rights reserved.

43

Ubuntuにおけるrootユーザー
n パッケージ操作にはroot権限が必要。
n ただしUbuntuではrootを直接使用しない。
 rootアカウントは直接ログインできないよう、デフォルトで無効。
 インストール時に作成したユーザーで都度sudoするのが基本。
 追加したユーザーも、sudoグループに所属させることでsudo可能に。

n rootでログインしたい/シェルを取りたいんだけど?
 sudo –iもしくはsudo –sを使ってください。
 sudo su –とかする必要はない。

n rootにパスワードを設定してはいけない。
 rootにパスワードを設定し直すことで、rootアカウントを有効にして、CentOSのように使うこと自体は可能。
 ただし、Ubuntuはrootが無効になっていることを前提に設計されているため、セキュリティ的に脆弱な部分を作り出す可能性がある。

© LPI-Japan / EDUCO all rights reserved.

44

Ubuntuのパッケージ
n Linuxディストリビューションでは、なんらかのパッケージ管理シス
テムを使って、ソフトウェアをパッケージとして扱うのが一般的。
n UbuntuではDebian由来のDebパッケージと、ユニバーサルパッ
ケージであるSnapが利用されている。
 ここではDebについて解説。

© LPI-Japan / EDUCO all rights reserved.

45

Debパッケージとはn Debian由来のパッケージフォーマット。
n ファイルの実体はar形式のアーカイブ。
 tarではない。

n 中身はシステムにインストールするファイルそのもの、インストー
ル/アンインストール時に実行される処理用のスクリプト、パッケージ自身に関するメタ情報など。
n RPMと基本はいっしょ。

© LPI-Japan / EDUCO all rights reserved.

46

Debパッケージの管理
n APTというパッケージマネージャーを使って行う。
 APT=YUM/DNFみたいなもの。

n APTはリポジトリからパッケージの検索、ダウンロード、署名検証、
インストールなどを行う。
n パッケージはリポジトリサーバーに集められていて、そこからダウンロードするのもCentOSといっしょ。

© LPI-Japan / EDUCO all rights reserved.

47

aptコマンドの使い方
n パッケージの操作に使うコマンドは「apt」。
 昔からあるapt-getとapt-cacheが統合された新しいコマンド。
 apt-getは今でも使えるけど、apt一本に絞った方が楽。
- aptitudeは忘れていいです。

n aptは様々なサブコマンドと組み合わせて使う。
 apt updateでパッケージ情報を更新。
 apt upgradeでパッケージ本体を更新。
- yumと異なり、update & upgradeの二段構え。

 apt-getとはupgradeの挙動が異なることに注意(後述)。

n apt full-upgradeで全パッケージを完全に更新。
 こちらはapt-get dist-upgradeと同等(後述)。

© LPI-Japan / EDUCO all rights reserved.

48よく使うaptのサブコマンド
サブコマンド用途

updateパッケージリストを更新する。

upgradeすべてのパッケージを最新のものに更新する。ただしパッケージの削除が発生する場合は操作を保留する。

full-upgrade

upgradeで保留される処理も含めて、すべてのパッケージを更新する。

install

パッケージをインストールする。

removeパッケージをアンインストールする。

purge

パッケージをアンインストールし、設定ファイルも削除する。

autoremove

不要になったパッケージをアンインストールする。

searchキーワードをもとにパッケージを検索する。

list

指定した条件を満たすパッケージの一覧を表示する。

show

パッケージの詳細情報を表示する。

edit-source/etc/apt/sources.listを編集する。構文チェック機能つき。

© LPI-Japan / EDUCO all rights reserved.

49

aptとapt-getの違い
n apt full-upgrade/apt-get dist-upgradeはどちらも完全なアップグ
レードを行う。
 依存関係の変更によって、新規パッケージがインストールされたり、古いパッケージが削除されるとしても、すべて実行する。

n apt upgradeはパッケージ削除を伴うアップグレードを保留する。
n apt-get upgradeは削除に加え、新規パッケージのインストールも保留する。
 これが問題となるのは、カーネルの更新。
コマンド

apt

apt-getサブコマンドパッケージの更新

パッケージのインストール

パッケージの削除

upgrade

する

する

しない

full-upgrade

する

する

upgrade

する

しない

しない

dist-upgrade

する

する

する

カーネルが更新されないする© LPI-Japan / EDUCO all rights reserved.

50

Ubuntuのカーネルパッケージ
n apt-get upgradeではカーネルを更新できない。
n カーネルは複数のバージョンを同時にインストールして、ブート
ローダーで切り替えたい場合がある。
 通常のパッケージの作りでは、アップデートで中身が入れ替わってしまう。
 複数のカーネルを共存させるには、バージョンごとに別パッケージで提供する必要がある。

n つまりカーネルの更新とは、新規パッケージのインストール
 パッケージのインストールが発生するため、apt-get upgradeでは操作が保留されてしまう。
 apt-getを使う場合はこの違いに注意すること。

© LPI-Japan / EDUCO all rights reserved.

51

Ubuntuのカーネルアップデート

パッケージのアップデート

linux-image-generic5.4.0.26.32

linux-image-generic5.4.0.67.70

カーネルメタパッケージ
依存関係によってインストール

apt-get upgradeでは、依存関係の変化による新規パッケージインス
トールが保留される

linux-image-5.4.0-26-generic5.4.0-26.30

linux-image-5.4.0-67-generic5.4.0-67.75

Linux-image-5.4.0-26-generic
パッケージ

Linux-image-5.4.0-67-generic
パッケージ

これらは別々のパッケージ© LPI-Japan / EDUCO all rights reserved.

52

パッケージのアップデート方針
n 一度リリースされたパッケージについては、日々のアップデート
ではバージョンを上げないのが基本ポリシー。
 PHPがいきなり7.3→7.4になったりとかはしない。

n 共有ライブラリをはじめ、複数のパッケージが依存することでOSが作られているため、リリース後に迂闊にバージョンを変更すると影響が読めないのが理由。
 そのため、LTSでは5年間同じバージョンを使い続けることになる。
 とはいえ、開発元のサポートが切れたバージョンでも、5年以上サポートされ、セキュリティ修正が提供されるというのはメリットでもある。

n とはいえバージョンアップの激しいフロント寄りのアプリでは不便。
n 最近では、アプリの挙動が変わったり，致命的なバグが発生しないことが保証されている場合は、バージョンアップが許容されるようになっている。
 上げざるを得ないFirefoxとかがよい例。

© LPI-Japan / EDUCO all rights reserved.

53

Ubuntuのリポジトリとアップデート
n 20.04(focal)を例とすると、パッケージは以下のリポジトリで提供される。
 ベースとなるパッケージと、アップデートはリポジトリ的に分離されている。
 リリース名部分はバージョンによって異なる (例: 20.10の場合はgroovy)n focal リリース時のパッケージ。

n focal-updates 一般的な、重要ではないアップデート。
 アプリのバグ修正など。

n focal-security
 重要なセキュリティアップデート。

n focal-backports
 新しいUbuntuのリリースからバックポートされたパッケージ。

n focal-proposed アップデートが正式にリリースされる前のテスト用リポジトリ。
 開発者向け。

© LPI-Japan / EDUCO all rights reserved.

54

Ubuntuのリポジトリの分類
n Ubuntuのリポジトリは大きくmain、universe、restricted、multiverseの4つのコ
ンポーネントに分かれている。
n main CanonicalによってサポートされるOSS。
 セキュリティアップデートが保証されている。

n universe
 UbuntuコミュニティによってサポートされるOSS。
 多くがDebianからインポートしたパッケージで構成される。
 セキュリティアップデートが保証されない。

n restricted
 Canonicalによってサポートされる非OSS。

n multiverse
 サポートが保証されない非OSS。
 利用は自己責任で。

© LPI-Japan / EDUCO all rights reserved.

55

Ubuntuのリポジトリの分類

Canonical

Community

Free

main

universe

Non-Free

restricted

multiverse

Security Update© LPI-Japan / EDUCO all rights reserved.

56

Ubuntuのリポジトリ

Ubuntu 20.04(focal)

main

main

main

main

main

restricted

restricted

restricted

restricted

restricted

universe

universe

universe

universe

universe

multiverse

multiverse

multiverse

multiverse

multiverse

focal

focal-updates

focal-security

focal-backports

focal-proposed© LPI-Japan / EDUCO all rights reserved.

57

【実例】UbuntuでWebサーバーを構築する© LPI-Japan / EDUCO all rights reserved.

Webサーバーを動かすまで
1. IPアドレスの設定
2. Webサーバーのインストール
3. Webサーバーの設定
4. ファイアウォールの設定© LPI-Japan / EDUCO all rights reserved.

59

IPアドレスの設定
n サーバーとして運用するなら、固定IPを設定するのが基本。
 インストール時に設定したIPを自動で引き継ぐ。
 インストール時にDHCPを利用した場合は、別途固定
IPを設定しておくとよい。

n Ubuntu Serverではnetplan.ioを使ってネットワー
クの設定を行う。

© LPI-Japan / EDUCO all rights reserved.

60

netplan.ioの設定
n YAMLベースのネットワーク抽象化レンダラー
n /etc/netplan以下にYAMLファイルを作成して設定する。
/etc/netplan/99-config.yaml の記述例
network:version: 2
ethernets:
対象のネットワークインターフェイス名(例 enp0s3):
dhcp4: nodhcp6: noaddresses:- 付与したいIPアドレス/ネットマスク
gateway4: ゲートウェイのIPアドレス
nameservers:
addresses:- DNSサーバーのIPアドレス- アドレスは複数列挙できる© LPI-Japan / EDUCO all rights reserved.

61

ネットワーク設定の適用
n netplan applyコマンドを実行する。
 SSH経由でIPアドレスを変更する場合は、接続断に注意。
$ sudo netplan apply# 設定変更を適用$ ip a# IPアドレスを確認(...略...)
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codelstate UP group default qlen 1000
link/ether 08:00:27:9d:5d:d6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.99/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever(...略...)© LPI-Japan / EDUCO all rights reserved.

62

Webサーバーのインストール
n apache2パッケージをインストールする。
n インストールするだけでサービスが動作する。
$ sudo apt update$ sudo apt install –y apache2# 事前にパッケージリストを更新する# UbuntuのApacheのパッケージ名はapache2$ systemctl status apache2.service# ステータスを確認する● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-03-17 07:34:23 UTC; 4min 31s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 623 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)© LPI-Japan / EDUCO all rights reserved.

63

Webサーバーの動作確認© LPI-Japan / EDUCO all rights reserved.

64

Webサーバーの設定
n UbuntuのApacheはCentOSと異なり、設定ごとにファイルが分割されている構成。
 /etc/apache2/{conf,sites,mods}-availableにファイルの実体を置く。
 /etc/apache2/{conf,sites,mods}-enabledに有効にしたい設定へのシンボリックリンクを置く。
 リンクのON/OFFで設定、モジュール、バーチャルホストの有効、無効を切り替えられる。

© LPI-Japan / EDUCO all rights reserved.

65

Webサーバーの設定
モジュール、コンフィグ、バーチャルホストごとに設定ファイル
を分割しておく。

/etc/apache2

mime.conf

ssl.conf

mods-available

security.co
nfcharset.confconf-available

site1.confsite2.confsites-available

有効にしたい設定のみ、
enabledフォルダからシン
ボリックリンクを張る。

mime.confmods-enabled

security.co
nfcharset.confconf-enabledsite1.confsites-enabledapache2.confは*-enabledフォルダのみをinlucdeする© LPI-Japan / EDUCO all rights reserved.

66

Webサーバーの設定コマンド
n リンクのON/OFFで設定、モジュール、バーチャ
ルホストの有効、無効を切り替えられる。
n シンボリックリンクを張る、切るを行うフロントエ
ンドがa2{en,dis}系コマンド。
$ sudo a2enmod userdir$ sudo a2dismod userdir# UserDirモジュールを有効化# UserDirモジュールを無効化$ sudo a2enconf security$ sudo a2disconf security# Security設定を有効化# Security設定を無効化$ sudo a2ensite default-ssl$ sudo a2dissite default-ssl# default-sslバーチャルホストを有効化# default-sslバーチャルホストを無効化© LPI-Japan / EDUCO all rights reserved.

67

ファイアウォールの設定
n Ubuntuではデフォルトでファイアウォールは動作していない。
 これはデフォルトで外向きに開放されているサービスが存在しないため。
 SSHサーバーすら、明示的に指定しない限りインストールされない。

n UbuntuではiptablesのフロントエンドであるUFWを使う。
 Uncomplicated FireWallの略。
 Ubuntu FireWallではない。
© LPI-Japan / EDUCO all rights reserved.

68

UFWの設定n コマンド名は「ufw」。
n aptと同様、サブコマンドを組み合わせて使う。
$ sudo ufw status
Status: inactive# UFWの状態を表示$ sudo ufw enable# UFWを有効化
Firewall is active and enabled on system startup© LPI-Japan / EDUCO all rights reserved.

69

UFWへのルール追加
n 「ufw allow」で許可ルールを追加。
$ sudo ufw allow httpRule added
Rule added (v6)

# HTTP(TCP:80)を全体に対して開放$ sudo ufw allow https
Rule added
Rule added (v6)

# HTTPS(TCP:443)を全体に対して開放$ sudo ufw status
Status: active# UFWの状態を表示

To-80/tcp
443/tcp
80/tcp (v6)443/tcp (v6)

Action-----ALLOW
ALLOW
ALLOW
ALLOW

From
---Anywhere
Anywhere
Anywhere (v6)Anywhere (v6)

© LPI-Japan / EDUCO all rights reserved.

70

参考資料

© LPI-Japan / EDUCO all rights reserved.

参考資料
n Ubuntu Server Guide https://ubuntu.com/server/docs

n Ubuntu Weekly Topics
 https://gihyo.jp/admin/clip/01/ubuntu-topics

n Ubuntu Weekly Recipe https://gihyo.jp/admin/serial/01/ubuntu-recipen 各種メーリングリスト
 https://lists.ubuntu.com/© LPI-Japan / EDUCO all rights reserved.

72

参考資料
n Ubuntu Security Notices
 https://ubuntu.com/security/notices

n CVE Reports https://ubuntu.com/security/cven Planet Ubuntu
 https://planet.ubuntu.com/

n Ubuntu Weekly Newsletter https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/

n Full Circle Magazine https://fullcirclemagazine.org/© LPI-Japan / EDUCO all rights reserved.

73

LPI-Japanメルマガのご紹介
n 『LinuC通信』
 Linuxオープンソース関連ニュース
 Linuxの利用に役立つTipsやテクニック
 LinuC合格者の声

n 『LinuC Level2・Level3を受けてみよう！』
 Level2・Level3の例題解説
 Level2・Level3を取得するメリット、活用の事例など
 Level1をお持ちでない方にも役立ちます

http://www.lpi.or.jp/mail/© LPI-Japan / EDUCO all rights reserved.

74