書籍概要

かんたんIT基礎講座

ゼロからわかる Linux Webサーバー超入門
[Apache HTTP Server対応版]

著者
発売日
更新日

概要

Linuxで動かす,Webサーバーの一番優しい入門書です。CentOSとApache HTTP Serverという人気のソフトウェアでサーバーを構築し,PHPプログラムを動作させるなど基礎からしっかり学べます。

こんな方におすすめ

  • 初めてWebサーバーを学習する方
  • Linuxの使い方を手を動かして学びたい方
  • サーバーを使ってみたい方

目次

CHAPTER 1 サーバーをはじめよう

  • 1-1 サーバーの仕事と役割を知ろう
    • 1-1-1 サーバーとは
    • 1-1-2 サーバーは何をしているのか
    • 1-1-3 サーバーの役割
  • 1-2 サーバー構築に必要なものを知ろう
    • 1-2-1 サーバーとなるコンピューター
    • 1-2-2 サーバーOS
  • 1-3 サーバーOSについて知ろう
    • 1-3-1 OSの種類(WindowsとUNIX)
    • 1-3-2 有償のOSと無償のOS
    • 1-3-3 Linuxの種類(ディストリビューション)
    • 1-3-4 Windowsサーバー
  • 1-4 サーバーの基本を知ろう
    • 1-4-1 必要なものは自分でインストールする
    • 1-4-2 コマンドでの操作とGUIでの操作
    • 1-4-3 ネットワーク経由での操作
    • 1-4-4 サーバー学習で何を身につけるのか
  • 1-5 自分のパソコンにサーバーを作ろう
    • 1-5-1 パソコンのなかにパソコンを作れる仮想コンピューター
    • 1-5-2 ホストOSとゲストOS
    • 1-5-3 無料で使えるVirtualBox

CHAPTER 2 サーバーを構築しよう

  • 2-1 サーバーをつくるための流れ
    • 2-1-1 学習用のサーバーを作る流れ
  • 2-2 VirtualBoxをインストールしよう
    • 2-2-1 VirtualBoxとは
    • 2-2-2 VirtualBoxをダウンロードする
    • 2-2-3 VirtualBoxをインストールする
  • 2-3 CentOSをインストールしよう
    • 2-3-1 OSをダウンロードするには
    • 2-3-2 ISOイメージをダウンロードしよう
    • 2-3-3 仮想マシンを作ろう
    • 2-3-4 ネットワークとDVDイメージを設定しよう
    • 2-3-5 仮想マシンをインストールしよう
    • 2-3-6 仮想マシンを停止するには

CHAPTER 3 CentOSを操作しよう

  • 3-1 サーバーの操作を身につけよう
    • 3-1-1 仮想マシンを操作するには
    • 3-1-2 rootでログインする
    • 3-1-3 ログアウトする
    • 3-1-4 コンソール(ターミナル)での操作とプロンプト
    • 3-1-5 コマンドと引数・オプション
  • 3-2 ファイル操作を理解しよう
    • 3-2-1 ディレクトリは階層になっている
    • 3-2-2 ディレクトリ操作に関係するコマンド
    • 3-2-3 CentOSのディレクトリ構造
    • 3-2-4 現在のディレクトリの中身を見てみよう
    • 3-2-5 自分がいるディレクトリ(カレントディレクトリ)と移動
    • 3-2-6 ディレクトリやファイルを作成する
    • 3-2-7 ファイル/ディレクトリのコピー・移動・削除(cp・mv・rm)
  • 3-3 終了の方法を理解しよう
    • 3-3-1 終了はシャットダウンコマンドを実行する
    • 3-3-2 仮想マシンの停止・開始・再起動を理解する
  • 3-4 ユーザーとグループを理解しよう
    • 3-4-1 rootユーザーと一般ユーザーの違い
    • 3-4-2 ユーザーを束ねるグループ
    • 3-4-3 ユーザー操作に関係するコマンド群
    • 3-4-4 ユーザーを作成してみよう
    • 3-4-5 作成したユーザーでログインし直そう
    • 3-4-6 パーミッションを理解しよう
    • 3-4-7 パーミッションや所有を変更する
  • 3-5 ソフトウェアのインストールと更新
    • 3-5-1 サーバーでソフトウェアを更新する仕組み
    • 3-5-2 yumコマンドの使い方
    • 3-5-3 ソフトウェアをアップデートしよう
  • 要点整理
  • 練習問題

CHAPTER 4 Webサーバーを利用しよう

  • 4-1 サーバーをつくろう
    • 4-1-1 サーバーの管理
    • 4-1-2 サーバーの種類とソフトウェア
    • 4-1-3 デーモンとサービス
  • 4-2 Webサーバーを立てる
    • 4-2-1 Webサーバーとは
    • 4-2-2 Webサーバーの仕組み
    • 4-2-3 Webサーバー機能を提供するソフト
  • 4-3 Apacheをインストールする
    • 4-3-1 Apacheのインストールと始動までの流れ
    • 4-3-2 Apacheをインストールしよう
    • 4-3-3 インストールが成功したかどうか確認しよう
  • 4-4 Apacheを起動しよう
    • 4-4-1 systemctlコマンド
    • 4-4-2 ソフトウェア(サービス)を始動させるsystemctlコマンド
    • 4-4-3 起動しているかどうか確認しよう
    • 4-4-4 自動起動するように設定しよう
  • 4-5 コンテンツを配置する
    • 4-5-1 ドキュメントルートとは
    • 4-5-2 コンテンツをサーバーに置く
    • 4-5-3 viエディタでindexhtmlを編集する
  • 4-6 ファイアウォールの設定を変更する
    • 4-6-1 ファイアウォールとは
    • 4-6-2 Firewalldプログラムとファイアウォールのゾーン
    • 4-6-3 ポート番号を理解する
    • 4-6-4 ファイアウォールの設定を変更する
    • 4-6-5 現在のファイアウォールの設定を確認する
    • 4-6-6 ゾーンの設定を変更する
  • 4-7 IPアドレスを確認しよう
    • 4-7-1 IPアドレスとドメイン
    • 4-7-2 IPアドレスを調べよう
  • 4-8 ブラウザから接続してみよう
    • 4-8-1 IPアドレスでアクセスする
  • 要点整理
  • 練習問題

CHAPTER 5 リモートから操作できるようにしよう

  • 5-1 SSHでリモートから操作する
    • 5-1-1 リモートでの操作
  • 5-2 サーバー側のSSHの準備
    • 5-2-1 サーバー側のSSHの準備をしよう
    • 5-2-2 SSHのインストール
  • 5-3 クライアント側のSSHの準備
    • 5-3-1 クライアント側のSSHの準備をしよう
    • 5-3-2 Tera Termのインストール
  • 5-4 SSHで接続する
    • 5-4-1 Tera Termで実際に接続してみよう
    • 5-4-2 Tera Termで操作してみよう
  • 5-5 Tera TermやWinSCPでファイル転送する
    • 5-5-1 SCPでファイル転送しよう
    • 5-5-2 Tera TermでSCP転送してみよう
    • 5-5-3 WinSCPを使ってみよう
    • 5-5-4 WinSCPで接続してみよう
  • 要点整理
  • 練習問題

CHAPTER 6 Webサーバーの設定を変更しよう

  • 6-1 Apacheの設定ファイルを編集する
    • 6-1-1 Apacheの設定ファイルの場所
    • 6-1-2 「/etc/httpd」ディレクトリと設定ファイルの用途
    • 6-1-3 設定ファイルの見方
    • 6-1-4 設定ファイルの意味
    • 6-1-5 設定ファイルを編集するには
  • 6-2 文字化けに対処する
    • 6-2-1 文字コードと文字化け
  • 6-3 エラーページをカスタマイズしてみよう
    • 6-3-1 エラーページの仕組み
    • 6-3-2 エラーページの種類
    • 6-3-3 エラーページを作る
  • 6-4 Webサイトへのアクセスを制限する
    • 6-4-1 Webサイトへのアクセスを制限
    • 6-4-2 Basic認証とDigest認証の仕組み
    • 6-4-3 パスワードファイルを作る
    • 6-4-4 ユーザーとパスワードを設定する
  • 要点整理
  • 練習問題

CHAPTER 7 Webサーバーでプログラムを実行させよう

  • 7-1 Webサーバーでプログラムを動かす
    • 7-1-1 サーバーでプログラムを動かす仕組み
    • 7-1-2 代表的なプログラミング言語
    • 7-1-3 モジュールをインストールする
  • 7-2 PHPの環境を整える
    • 7-2-1 PHPって何?
    • 7-2-2 PHPの実行環境を整える
    • 7-2-3 PHPをインストールしよう
  • 7-3 PHPのプログラムを作ってみよう
    • 7-3-1 PHPのプログラムの基本的な書き方
    • 7-3-2 日付などの情報を表示しよう
  • 7-4 ページにリンクを張ったり画像を表示したりしてみよう
    • 7-4-1 ページにリンクを張る
    • 7-4-2 画像を入れる
    • 7-4-3 自分のWebサーバーで遊ぼう
  • 要点整理
  • 練習問題

CHAPTER 8 Webサーバーを公開・管理しよう

  • 8-1 Webサーバーを公開するために必要なこと
    • 8-1-1 インターネットから接続できる場所にサーバーを置く
    • 8-1-2 自宅のコンピュータを公開するのは難しい
  • 8-2 レンタルサーバーを借りてログインしよう
    • 8-2-1 レンタルサーバーが一般的
    • 8-2-2 レンタルサーバーの種類
    • 8-2-3 レンタルサーバーにできること
    • 8-2-4 レンタルサーバー選びのポイント
    • 8-2-5 VPSのレンタルサーバーを借りてみよう
    • 8-2-6 VPSの操作の仕方
    • 8-2-7 レンタルサーバーにSSHでログインしてみよう
    • 8-2-8 インターネットに接続できるか確認する
    • 8-2-9 ApacheとPHPをインストールしよう
  • 8-3 ログを確認しよう
    • 8-3-1 ログとは
    • 8-3-2 ログの種類
    • 8-3-3 ログを見てみよう
    • 8-3-4 ログを読み取ろう
  • 8-4 サーバーは正常に動いているのか確認しよう
    • 8-4-1 正常に保つとは
    • 8-4-2 プロセスは正常か?
    • 8-4-3 ハードウェアは正常か?
  • 8-5 バックアップをとろう
    • 8-5-1 バックアップとは
    • 8-5-2 バックアップの方法
  • 8-6 セキュリティに注意しよう
    • 8-6-1 サーバーを公開するときに注意すべきこと
    • 8-6-2 サーバーに関連する代表的な攻撃手法
    • 8-6-3 まとめ
  • 要点整理
  • 練習問題
  • 解答・解説

サポート

ダウンロード

以下のファイルをダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。

ダウンロード
0server_sample.zip

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年10月10日最終更新)

P.49 #2-3-5 Step6のネットワーク設定における自動起動の設定

本来,ネットワーク設定時にネットワークへの自動接続設定を行うべきでしたが設定が行われていませんでした。
[完了]をクリックする前に下記手順をお試しください。

最後に左上の[完了]をクリックしてください。
その後[設定]をクリックして、設定画面で[全般]→[この接続が利用可能になったときは自動的に接続する]をクリックしてチェックを付け、[保存]をクリックします。最後に左上の[完了]をクリックしてください。

(以下2019年6月7日更新)

P.200 # 7-2-3のPHPの設定ファイルを見るコマンド

cat /etc/httpd/conf.modules.d/10-php.conf


cat /etc/httpd/conf.d/php.conf

P.201 # 7-2-3のApacheを再起動させるコマンド

yum restart httpd


systemctl restart httpd

(以下2018年11月14日更新)

P.81 # 3.2.7の「やってみよう 「/tmp」ディレクトリにある「peanut2.txt」ファイルを移動してみよう」内の最初の実行例2段目


mv /tmp/peanut2.txt /root/peanut3.txt


mv /tmp/peanut.txt /root/peanut3.txt

P.82 # 3.2.7の「やってみよう 「/tmp」ディレクトリにある「peanut2.txt」ファイルを移動してみよう」内の最初の実行例

ディレクトリをコピーすべき個所で誤ってファイルコピーの例を掲載していました。


mv /tmp/nuts2.txt /root
mv /tmp/nuts2.txt /root/nuts3


mv /tmp/nuts2 /root
mv /tmp/nuts /root/nuts3

P.82 # 3.2.7の「やってみよう 「/tmp」ディレクトリにある「peanut2.txt」ファイルを移動してみよう」内のコマンド例の説明文

「/tmp」ディレクトリにある「peanut2.txt」ファイルを移動する場合
「/tmp」ディレクトリにある「nuts2」ディレクトリを移動する場合

補足情報

ブリッジアダプターで接続できないケース

(2020年2月10日更新)

セキュリティソフトウェアの設定などによって,書籍で紹介しているブリッジアダプター接続だとHTTPによる通信が失敗する場合があります。暫定的な対処となりますが,以下にNAT+ポートフォワーディングで書籍中の操作を行う方法を解説します。

  1. P.43(2-3-3)のStep 9を参考にVirtual Boxのマシン(書籍ではYellow)の設定を開き,ネットワークをクリックする
  2. ネットワークでアダプター1の「割り当て」を「NAT」に変更
  3. ネットワークで「高度」→「ポートフォワーディング」をクリックしてポートフォワーディングルール画面を開く。
  4. ポートフォワーディング画面の最上段のルールをホストポート「2143」ゲストポート「22」に設定して「OK」をクリック。その後ネットワーク画面で「OK」をクリックして設定完了。
  5. 設定完了後Yellowを起動

なお,NAT+ポートフォワーディングを用いた場合,書籍中のP.147 「5-4-1 Tera Termで実際に接続してみよう」の操作が一部異なります。下記手順を参考にしてください。

  1. Tera Termを起動して新しい接続設定でホスト「localhost」TCPポート「2143」でssh接続
  2. ユーザー名とパスワードを入力して接続確立
    1. ネットワーク接続の不具合については,同じく補足情報の「ネットワーク接続が起動していないケース」も参考にしてください。

      ネットワーク接続が起動していないケース

      (2019年10月10日更新)

      ネットワーク接続が行われず,yumによるパッケージのアップデートやインストールに失敗する場合があります。 下記のコマンドでネットワークの状態が確認できます。nmcliはCentOSのネットワーク関連のコマンドです。

      
      nmcli device status
      
      

      いくつかネットワークデバイスの状態が表示されます。このとき「loではないデバイス(enp0s3などの名前)」のstate欄を確認します。disconnectedとなっていれば切断されています。 切断されている場合,下記のコマンドで接続できます。

      
      nmcli connection up 「loではないデバイスの名前」
      
      

      以後も再起動後など接続が確立しない場合,下記コマンドを実行するとネットワークコネクションが自動で接続されます。

      
      nmcli connection mod 「loではないデバイスの名前」 connection.autoconnect "yes"
      
      

      P.38 #2-3-2 ダウンロードページが書籍と違う場合

      (2019年10月10日更新)

      CentOS 8の公開に伴い,書籍で紹介している手順でCentOS 7がダウンロード・インストールできなくなりました。 下記のURLを直接開き,URLのリストのなかで一番上にあるものをクリックします。

      その後,ファイル一覧ページが開かれるので,「CentOS-7-x86_64-DVD-1908.iso 」などDVDの文字が含まれた「.iso」の拡張子のファイルをクリックしてダウンロードしてください。以後は書籍のP.39と同様の操作です。

商品一覧