試験公開中

このエントリーをはてなブックマークに追加

Ubuntu Server 実践バイブル 現場で即運用に役立つサービス設定のノウハウ

KADOKAWA/アスキー・メディアワークス

2,560円+税

Ubuntu Serverでのサーバー構築を実践テクニック中心に解説。日本のUbuntu公式ミラー管理者による書き下ろしガイド!

関連サイト

出版社による関連ページが公開されています。

内容紹介

本書では、筆者がjp.archive.ubuntu.comを含むさまざまなUbuntu Serverマシンを構築・運用してきた中で得られた、Ubuntu Server Guideに記載されていない暗黙知や、「作法」に類するもの、あるいは基礎的な知識など、Ubuntu Serverの常識を目いっぱいに詰め込んでいます。本書の実際のサーバー構築例は、こうした暗黙知や作法を伝えるための手段として選定しています。このため、現在でもよく構築されるであろうWeb/Proxy/NFSなどといったスタンダードな、そして「とっつきやすい」サーバーのみで、MTAやDNSのように専門性の強いものは含んでいません。

【中略】

本書は、次のようなユーザーを想定しています。

まず「Linuxによるサーバー運用」にチャレンジしてみたいユーザーです。

一昔前と異なり、現在のLinuxは非常に便利に、そして分かりやすくなっています。WindowsやMac OS Xに慣れたユーザーなら、デスクトップ環境として利用するのであれば「触っているうちに何とかなる」というのが現状です。これは昔の常識からすると、まったく考えられないことです。

Unixのたぐいは、黒い画面に謎の白い文字が表示された謎のコンピューターを、専門知識を持ったエンジニアが操作するものだ、という理解はそれほど古い話ではありません。

しかし、UbuntuとUbuntu Serverの間には、「標準的なLinuxデスクトップ」と「標準的なLinuxサーバー」の壁があります。デスクトップ版のUbuntuは、初心者でも問題なく扱えるだけの完成度と、直感的なインターフェースを持っています。

Ubuntuはインストール直後からGUIベースのグラフィカルログイン画面が展開され、「なんとなく触っていればアプリケーションが起動できる」世界が広がっています。しかし、これに対して、Ubuntu Serverには、「何も知らないユーザーでも扱える」特性はありません。

操作はコンソール上にコマンドを入力することで行います。すなわち、一昔前までのLinux初心者にとっての悪夢、「なんだかよく分からない黒い画面に白い文字」の世界が広がっています。何も知らない人がこの世界に投げ出されると「よく分からないので別のものを」という結論に至るでしょう。そうした不幸な展開に陥らないよう、本書が役に立てばと考えています。

そして、「すでに他のLinuxディストリビューションでサーバーを運用しているユーザー」「クラウド環境で利用するOSとして、Ubuntuを使うユーザー」の方にも本書を読んで頂けたらと思っています。すでにLinuxを触っていても、Ubuntu Serverに搭載された便利な機能を知らないと、その可能性を十分に引き出すことはできないでしょう。Ubuntuに搭載されたbyobuやrun-oneのようなサーバー向けユーティリティ、そして、「サーバーとしてのUbuntuの常識」を把握する書籍として機能することを目指しています。

(「はじめに」より抜粋)

書誌情報

  • 著者: 吉田 史
  • 発行日:
  • 最終更新日: 2013-04-08
  • バージョン: 1.0.0
  • ページ数: 417ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: KADOKAWA/アスキー・メディアワークス

対象読者

Ubuntu Serverを利用したいと考える全ての人々。特に、「デスクトップ版のUbuntuは使えているけどサーバーは自信がない」と思う人にお勧めします。気合の入った上級者の方は、Ubuntu独特の小技や豆知識の補完としてご利用ください。
 Ubuntu独自の機能はなるべく明示するようにしていますので、Linuxによるサーバー運用全般の教科書としても利用できます。

著者について

吉田 史

Ubuntu Japanese Team/Ubuntu Member。株式会社創夢所属。
BSD、LinuxやSolarisなどなどを扱うUnix系エンジニア。なぜかWindowsも「そこそこ」わかります。ハードウェアをニコイチして直したり表面実装部品から品質を見切ったり、ミドルウェアからアプリケーションまでひと通り見るのはエンジニアのたしなみと言い切ります。とはいえ今回の本はOSのごく一部しか入ってません。

目次

はじめに

第1部 OS インストールとネットワーク設定

第1章 Ubuntu Server のインストール前に
  • 1.1 OS の選定
  • 1.2 Ubuntu を採用するかどうかの決定
  • 1.2.1 サポート期間が明確で、定期的な新バージョンのリリースが宣言されている
  • 1.2.2 新しいカーネルやユーザーランドを利用できる
  • 1.2.3 Debian GNU/Linux 由来の多くのソフトウェアを利用できる
  • 1.3 必要な検討ポイント
  • 1.3.1 ハードウェア互換性の検討
  • 1.3.2 ソフトウェア互換性の検討
  • 1.4バージョンの選定
  • 1.4.1 Ubuntu のサポート期間と LTS を知る
  • 1.4.2 ポイントリリースの利用
  • 1.4.3 LTS を利用できない場合の対応
  • 1.4.4 アップデートの提供方針を知る
  • 1.4.5 コマンドライン操作の可否
  • 1.4.6 慣れていなければデスクトップ版を使う
  • 1.5インストールメディアを準備する
  • 1.5.1 CD を用いる場合
  • 1.5.2 USB メモリを用いる場合
  • 1.5.3 仮想アプライアンスを利用する場合
第2章 Ubuntu Server のインストール
  • 2.1 インストールの概要
  • 2.2 言語と「モード」の選択
  • 2.3 インストールの開始・地域とキーボードの設定
  • 2.4 ホスト名とユーザーの設定
  • 2.5 パーティションの構成
  • 2.5.1 LVM やソフトウェア RAID を使用するべきか
  • 2.5.2 ガイドを使用したパーティション設定
  • 2.6 Proxy の設定・ソフトウェア構成の選択
  • 2.6.1 Proxy の設定
  • 2.6.2 自動アップデートの選択
  • 2.6.3 初期パッケージ構成
  • 2.7 GRUB のインストール
  • 2.8 Ubuntu Server へのログイン
  • 2.8.1 システムのシャットダウン
  • 2.9 インストール後の初回アップデート
  • 2.10 MD(ソフトウェア RAID)の設定
  • 2.10.1 MD(ソフトウェア RAID)の利用と RAID レベルの検討
  • 2.10.2 MD の設定作業
  • 2.10.3 デグレード状態での起動
  • 2.11 LVM を使ったパーティション操作
  • 2.11.1 ファイルシステムの操作
第3章 ネットワーク設定とシステム復旧手順
  • 3.1 サーバー環境におけるネットワーク設定
  • 3.1.1 DHCP 設定
  • 3.1.2 固定 IP アドレスの設定
  • 3.2 システム復旧の手順
  • 3.2.1 パッケージ更新が途中で停止したとき
  • 3.2.2 リカバリーメニューを使った復旧
  • 3.2.3 シングルユーザーモードを使った復旧
  • 3.2.4 以前のカーネルを起動して復旧
  • 3.2.5 インストールメディアを利用した復旧
  • 3.2.6 Ubuntu の/bin/sh

第2部 Ubuntu Server の基礎知識

第4章 Ubuntu Server のコンソール
  • 4.1 コンソールの基本
  • 4.1.1 コマンドを調べる
  • 4.1.2 コンソールの日本語表示設定について
  • 4.2 シェル(Bash)の操作
  • 4.2.1 コマンドの実行
  • 4.2.2 オプションの指定
  • 4.2.3 Tab キーによる補完
  • 4.2.4 ヒストリーの検索
  • 4.2.5 .bashrc を使った Bash のカスタマイズ
  • 4.2.6 .bash_aliases でコマンドのエイリアスを設定する
  • 4.2.7 標準出力と標準エラー出力
  • 4.2.8 パイプの利用
  • 4.2.9 /dev/std*
  • 4.3 Ubuntu のシェル環境
  • 4.3.1 command-not-found 拡張
  • 4.3.2 シェルの変更
  • 4.4 最低限知っておくべきコマンド
  • 4.4.1 ホームディレクトリとカレントディレクトリ
  • 4.4.2 相対パスと絶対パス
  • 4.4.3 ディレクトリ関連のコマンド:ls、cd、mkdir、rmdir
  • 4.4.4 ファイル内容の表示:cat、more、less
  • 4.4.5 ファイル操作:mv、cp、rm、touch
  • 4.4.6 ファイル内容の検索:grep
  • 4.4.7 ファイルの検索と処理:find、xargs
  • 4.4.8 プロセスの管理:ps、top、kill、jobs、fg、bg
  • 4.4.9 サービスの開始と中断:service
  • 4.5 byobu 利用のすすめ
  • 4.5.1 byobu の起動とインジケーター
  • 4.5.2 「ウィンドウ」の操作
  • 4.5.3 アタッチとデタッチ
  • 4.5.4 表示の調整
  • 4.5.5 コピー&ペーストとバックログの確認
  • 4.5.6 ログインシェルとしての利用
  • 4.5.7 byobu のその他の機能
  • 4.5.8 byobu の向き・不向き
第5章 root 権限とユーザー管理
  • 5.1 Ubuntu での root 権限
  • 5.1.1 sudo による権限取得
  • 5.1.2 sudo の制限
  • 5.2 ユーザーの作成と権限の付与
  • 5.2.1 useradd と adduser
  • 5.2.2 グループの変更
  • 5.2.3 /etc/passwd ファイルと/etc/group ファイルの変更
  • 5.2.4 「管理者」ユーザー
  • 5.2.5 /etc/sudoers.d
  • 5.2.6 UID/GID の管理
第6章 ネットワーク越しにサーバーを使う
  • 6.1 SSH とは
  • 6.1.1 SSH 接続してみる
  • 6.1.2 ホスト鍵とフィンガープリント
  • 6.2 Windows からのアクセス
  • 6.3 キーファイルによる認証
  • 6.3.1 鍵交換方式による認証のための「キーファイル」を所持していること
  • 6.3.2 キーファイルの暗号化を解除するための「パスフレーズ」を覚えていること
  • 6.3.3 「ログインしようとするサーバー」に鍵ペアのうち「公開鍵」を設置していること
  • 6.4 キーファイルの作成と鍵交換方式でのユーザー認証
  • 6.4.1 キーファイルの作成
  • 6.4.2 作成した鍵ペアをサーバーに設置
  • 6.5 SSH エージェントの利用
  • 6.5.1 SSH エージェントの使い方
  • 6.5.2 SSH エージェントを利用するうえでの注意
  • 6.6 SSH を利用したファイルコピー:scp
  • 6.7 サーバーの保護
  • 6.7.1 パスワード認証を無効にするか、十分な強度を備えたパスワードだけを利用するように設定する
  • 6.7.2 UFW などにより、ブルートフォース攻撃から保護する
  • 6.7.3 SSH の接続ポートを変更する
  • 6.7.4 SSH でログイン可能なユーザーを制限する
第7章 サービスの起動と管理
  • 7.1 init と Upstart
  • 7.2 サービスの起動と停止
  • 7.3 サービスの自動起動
  • 7.3.1 SysV init の場合
  • 7.3.2 Upstart job の場合

第3部 サーバーの構築

第8章 「最小構成」のサーバー
  • 8.1 最低限必要なもの
  • 8.1.1 etckeeper の導入と設定
  • 8.1.2 openssh-server
  • 8.1.3 iotop/ifstat/dstat
  • 8.1.4 linux-headers-generic
  • 8.1.5 vim-nox
  • 8.1.6 ntp
  • 8.2 サーバーのネットワーク設定
  • 8.2.1 固定 IP アドレスの設定
  • 8.2.2 UFW の設定
第9章 サーバーの基礎知識
  • 9.1 「LISTEN」とデーモン
  • 9.1.1 サービスとデーモン
  • 9.1.2 プロトコルとポート番号
  • 9.1.3 LISTEN 状態とは
  • 9.2 LISTEN 状態のトラブルシュート
  • 9.2.1 確認 1:「サービスを提供するサーバーマシンが起動しているか」
  • 9.2.2 確認 2:「サービスを提供するデーモンが起動し、LISTEN 状態にあるか」
  • 9.2.3 確認 3:「サービスを提供するポートへの接続が許可されているか」
  • 9.2.4 確認 4:「クライアントから、サービスを提供するマシンへネットワーク接続が可能か」
  • 9.3 ソフトウェアの導入
第10章 SSH ゲートウェイ
  • 10.1 powerwake の利用
  • 10.2 powerwake の使い方
  • 10.3 Wake on LAN のための設定
第11章 Proxy サーバー
  • 11.1 Squid のインストール
  • 11.2 利用可能なホストの設定
  • 11.3 待ち受けポートの指定
  • 11.4 キャッシュ容量の調整
  • 11.5 設定の反映
  • 11.6 クライアント側の設定
第12章 HTTP サーバーと NFS サーバー
  • 12.1 HTTP サーバー
  • 12.1.1 Apache のインストール
  • 12.1.2 Apache2 の初期設定
  • 12.1.3 モジュールの有効化/無効化:a2enmod/a2dismod
  • 12.1.4 サイトの有効化/無効化:a2ensite/a2dissite
  • 12.1.5 HTTPS を利用する場合(SSL の設定)
  • 12.1.6 ホスト名の設定
  • 12.1.7 UFW の Apache プロファイルを使い分ける
  • 12.1.8 Apache のアンインストール時の注意点
  • 12.1.9 Apache 以外の選択肢
  • 12.2 NFS サーバー
  • 12.2.1 NFS サーバーのセットアップ
  • 12.2.2 UFW との連携
  • 12.2.3 クライアント側の設定
  • 12.2.4 その他の注意点

第4部 Ubuntu Server の運用管理

第13章 ファイアウォールの設定
  • 13.1 UFW(Uncomplicated FireWall)
  • 13.2 UFW の有効化
  • 13.3 アクセスの許可・拒否
  • 13.4 アプリケーション指定
  • 13.5 過剰なアクセスの禁止
  • 13.6 ルールの削除
  • 13.7 ログの保存
第14章 サーバーの負荷と状態の把握
  • 14.1 ネットワークインターフェースの確認:ifconfig
  • 14.2 メモリの空き容量を確認する:free
  • 14.2.1 ダーティとキャッシュ
  • 14.3 サーバーの概況を調べる:uptime/vmstat
  • 14.4 /proc インターフェース
  • 14.4.1 /proc/cpuinfo
  • 14.4.2 /proc/swaps
  • 14.4.3 /proc/(PID)/
  • 14.5 カーネルバージョンの確認
第15章 ログの管理
  • 15.1 ログファイルの種類
  • 15.2 Syslog のローテート
  • 15.2.1 外部にログを送出する
  • 15.2.2 外部のログを受け付ける
第16章 定期的なプロセスの実行
  • 16.1 cron
  • 16.1.1 crontab 形式
  • 16.1.2 cron エントリの変更
  • 16.2 cron の設定ノウハウ
  • 16.2.1 cron の制限
  • 16.2.2 root ユーザーの crontab には登録しない
  • 16.2.3 実行の確認
  • 16.2.4 複数の cron タスクの同時実行
  • 16.3 anacron
  • 16.3.1 anacron の導入
  • 16.3.2 anacron の設定
  • 16.3.3 cron との使い分け
  • 16.4 watch
  • 16.4.1 watch の使い方
  • 16.4.2 watch を使ったワンライナー
  • 16.4.3 watch と cron の使い分け
  • 16.5 run-one
  • 16.5.1 run-one の使い方
第17章 パッケージの管理と操作
  • 17.1パッケージのインストール
  • 17.1.1 インストールバージョンの指定
  • 17.1.2 インストールのテスト
  • 17.1.3 パッケージキャッシュ
  • 17.1.4 パッケージの一覧
  • 17.1.5 ファイルの一覧
  • 17.1.6 アンインストール
  • 17.1.7 apt-get と dpkg
  • 17.2 アップデートの基礎
  • 17.2.1 リポジトリ情報の更新
  • 17.2.2 「アップデート」と「アップグレード」
  • 17.2.3 日本語表記とコマンドの食い違い
  • 17.3 アップデートに関連する知識
  • 17.3.1 Proxy 環境でのアップデート
  • 17.3.2 アップグレード後の再起動
  • 17.4 システム運用におけるアップデート管理
  • 17.4.1 リポジトリの指定
  • 17.4.2 コンポーネントごとのサポート期間
  • 17.4.3 ポケットの指定
  • 17.4.4 実運用におけるリポジトリの指定
  • 17.4.5 更新に伴う変更点の確認
  • 17.4.6 完全な changelog の取得
  • 17.4.7 パッケージバージョンの固定
  • 17.5 脆弱性情報の収集
  • 17.5.1 セキュリティ情報の追跡
  • 17.5.2 CVE Tracker
  • 17.5.3 アップデートの適用
  • 17.5.4 セキュリティアップデートとカーネルの ABI
  • 17.6 新バージョンへのアップグレード
  • 17.6.1 アップグレードの手順
  • 17.6.2 LTS アップグレード
  • 17.6.3 LTS Backports Kernel
  • 17.7 Mainline Builds
  • 17.7.1 Mainline Builds のインストール
  • 17.8 PPA の利用
  • 17.8.1 注意:PPA の品質と ppa-purge
第18章 バックアップとトラブル対応
  • 18.1 バックアップ
  • 18.1.1 システム全体のバックアップ
  • 18.1.2 ファイル単位のバックアップ
  • 18.2トラブル対応
  • 18.2.1dmesg の確認
  • 18.2.2 memtest
  • 18.2.3 ベンダー製ハードウェア監視ユーティリティの利用
  • 18.2.4 NIC 交換時の注意
  • 18.2.5 GRUB の「recordfail」の調整
付録A 情報リソース
索引
Home 書籍一覧 Ubuntu Server 実践バイブル 現場で即運用に役立つサービス設定のノウハウ ▲ ページトップへ戻る