InfraAcademy
サーバー構築講座

Webサーバーを構築してみよう

Apache2を使ってWebサーバーを構築する講座です。インストール、起動、ページ追加、ドキュメントルート、VirtualHost、URLの仕組みを実践的に学びます。

0%
スタートする

Webサーバーを構築してみようのレッスン

0 / 24 完了
1 Webとは? Webサーバー構築講座の導入としてWebの基礎知識を解説します。Webがインターネット上で文字や図表、画像、動画などを閲覧できるシステムであることを学び、YouTubeやNetflixなど身近な動画配信サービスを例にWebページとWebサイトの違いといった基本用語を整理して理解します。インフラエンジニアだけでなくアプリ開発者にも必須の基礎知識として丁寧に紹介します。 有料会員のみ 次に学習 2 Webサーバーとは? Webサーバーとは何かを解説します。インターネット上でPCやスマホからのリクエストを受け取りウェブページを提供するソフトウェアやコンピューターであることを学び、Apache、Nginx、Microsoft IISといった代表的なソフトウェアの違いや、Linuxへの一般的な導入構成を理解します。今回の講座ではLinuxにApacheをインストールして設定していく流れも紹介します。 有料会員のみ 未受講 3 Apache2のインストール 代表的なWebサーバーソフトウェアであるApache2のインストール手順を解説します。シミュレーターでdebianインスタンスを準備し、apt-get updateでパッケージ情報を更新した後、apt-get install apache2コマンドを実行してApache2を導入するまでの一連の流れを実践的に学べます。 有料会員のみ 未受講 4 Apache2の起動とアクセス インストールしたApache2の起動方法とWebページへのアクセス方法を解説します。service apache2 startコマンドまたは/etc/init.d/apache2 startコマンドでサーバーを起動し、OPEN PORTでポートを開放してブラウザからデフォルトページへアクセスするまでの流れを学びます。 有料会員のみ 未受講 5 デフォルトページの編集 Apache2のデフォルトページを編集する方法を解説します。ドキュメントルートである/var/www/html配下に格納されたindex.htmlファイルをviコマンドで開き、dキーとshift+gキーで既存の文字を削除してから内容を書き換え、ブラウザの表示を変更する具体的な操作手順を学びます。編集後は再度ブラウザでアクセスし、変更内容が反映されているかを確認するところまで解説します。 有料会員のみ 未受講 6 ページの追加 Webページを追加する方法を解説します。echoコマンドを使って「test page 2」という内容を持ったtest.htmlファイルを、index.htmlと同じ/var/www/html配下に作成し、ブラウザでURLの末尾に/test.htmlと追加してアクセスし、表示を確認するまでの手順を学びます。 有料会員のみ 未受講 7 ドキュメントルート ウェブサイトのファイルやコンテンツが格納されるディレクトリであるドキュメントルートについて解説します。Apache2をインストールした後はデフォルトで/var/www/htmlがドキュメントルートに設定されており、ブラウザからのアクセス時にどのファイルが表示されるのかという仕組みを整理して理解します。 有料会員のみ 未受講 8 ドキュメントルートの設定を変更する方法 ドキュメントルートの設定を変更する方法を解説します。mkdirコマンドで新しいディレクトリ/var/www2を作成し、echoコマンドでindex.htmlを配置した後、/etc/apache2/sites-enabled/000-default.confファイル内のDocumentRoot設定を書き換える一連の変更手順を実践します。 有料会員のみ 未受講 9 Apache2の設定ファイル Apache2の設定ファイルの構成について解説します。メインの設定ファイルであるapache2.confや、sites-availableディレクトリの役割を整理し、Ubuntu/Debian系とCentOS/RHEL系での保存場所の違いなど、グローバルなサーバー設定がどのように成り立っているかの全体像を理解します。 有料会員のみ 未受講 10 VirtualHostとは? Apache2のVirtualHost(仮想ホスト)機能について解説します。1台の物理的なApacheサーバー内で複数のドメイン名やサブドメインをホストできる仕組みを学び、/etc/apache2/sites-enabled/000-default.confに複数のVirtualHostを定義してそれぞれ別のドキュメントルートを割り当てる設定例を理解します。 有料会員のみ 未受講 11 URL Webの基礎知識としてURLについて解説します。ウェブ上のリソースであるWebページ、画像、動画、ドキュメントなどの場所を指定するためのものであるURLの役割を学び、https://www.google.comのような文字列がどのような構造要素から成り立っているかを詳しく理解していきます。URLの構成要素を一つずつ分解しながら、実例を交えてわかりやすく解説します。 有料会員のみ 未受講 12 Webサイトが表示されるまでの流れ WebブラウザにURLを入力してからWebサイトが実際に表示されるまでの流れを解説します。DNSサーバーによる名前解決でサーバーのIPアドレスを取得し、取得したIPアドレス宛にWebサーバーへリクエストを送るまでの一連のプロセスをステップごとに整理して理解できる内容です。ブラウザ表示までの各ステップを順序立てて解説し、Webの仕組み全体を俯瞰できます。 有料会員のみ 未受講 13 ステータスコードとは? Webサーバーからのレスポンスに付与されるステータスコードについて解説します。3桁の数字でリクエストの結果やサーバーの状態を表すことを学び、正常にレスポンスを送れた場合の200や、障害が発生している場合の503など、番台ごとに異なる意味を持つことを理解します。レスポンスに含まれる数字の意味を理解することで、Web通信の状態把握に役立てられます。 有料会員のみ 未受講 14 正常系のステータスコード 正常系のステータスコードについて解説します。Webページが正常に閲覧できる状態を示す200番台の意味を学び、200 OK、201 Created、202 Accepted、204 No Contentなど代表的なコードそれぞれの違いを、普段のページ閲覧時の挙動と結び付けて具体的に理解できる内容です。 有料会員のみ 未受講 15 リダイレクトのステータスコード リダイレクトを示す300番台のステータスコードについて解説します。指定したウェブページから自動的に別のページへ転送される仕組みを学び、URLが恒久的に変更されたことを示す301 Moved Permanentlyと、一時的な転送を示す302 Foundとの違いを具体例とともに理解します。リダイレクトの活用例として、サイトのURL変更時に旧URLから新URLへ誘導する場面も紹介します。 有料会員のみ 未受講 16 クライアントエラーのステータスコード クライアント側の問題を示す400番台のステータスコードについて解説します。サーバーがリクエストを理解できない400 Bad Request、リソースが見つからない404 Not Found、アクセスが拒否される403 Forbiddenなど代表的なコードの意味を、URL入力ミスの例などとあわせて理解します。 有料会員のみ 未受講 17 サーバーエラーのステータスコード サーバー側の問題を示す500番台のステータスコードについて解説します。サーバー内部でエラーが発生した500 Internal Server Error、上流サーバーからの無効な応答を示す502 Bad Gateway、過負荷やメンテナンス中を示す503 Service Unavailableの意味とエラーログ確認の重要性を学びます。 有料会員のみ 未受講 18 アクセス制限 Apache2におけるアクセス制限の考え方について解説します。特定の人だけにWebページを閲覧できるようにすることでセキュリティを高められることを学び、IPアドレスによる制限とユーザー認証による制限という2つの代表的な方法の概要を整理して理解します。実際の設定方法は次回以降で詳しく取り上げ、段階的に理解を深めていきます。 有料会員のみ 未受講 19 アクセス制限の設定 Apache2でアクセス制限を設定する前段階の環境準備を解説します。debianインスタンスを起動し、apt-get updateとapt-get install apache2でのインストール、service apache2 startでの起動、OPEN PORTでのポート開放までの一連の手順を確認していきます。 有料会員のみ 未受講 20 IPアドレスによる制限 IPアドレスによるアクセス制限の設定方法を解説します。/etc/apache2/apache2.confのDirectoryディレクティブを使い、Require ipで特定のIPアドレスからのアクセスを許可し、Require all grantedとRequire notを組み合わせて拒否する設定方法を具体的に学びます。 有料会員のみ 未受講 21 ユーザー認証による制限 ユーザー認証によるアクセス制限について解説します。Webサイトへのアクセス時にユーザー名とパスワードを求めるBasic認証とDigest認証の違いを学び、パスワードを平文のまま送信するため盗聴のリスクがあるBasic認証の設定方法を、/etc/apache2配下の設定を用いて理解します。続けてDigest認証との違いにも触れ、より安全な認証方式を選ぶための判断材料を提供します。 有料会員のみ 未受講 22 アクセスログ Apache2のアクセスログの見方について解説します。誰が、いつ、どのページを閲覧したかが記録される/var/log/apache2/access.logファイルを、ファイルの末尾を表示するtailコマンドを使ってリアルタイムに確認する方法と、ログ内容の読み方を学びます。アクセスログを日常的に確認する習慣をつけることの重要性もあわせて解説します。 有料会員のみ 未受講 23 エラーログ Apache2のエラーログについて解説します。サーバーで不具合が発生した際にどのようなエラーかを記録する/var/log/apache2/error.logを、アクセスログと同様にtail -fコマンドで確認する方法を学び、実際のエラーログを例に不具合の原因を読み解く練習を行います。エラーログを日頃から確認する習慣を持つことが、障害発生時の迅速な原因究明につながります。 有料会員のみ 未受講 24 アクセスログの出力形式を変更する方法 Apache2のアクセスログとエラーログの出力形式をカスタマイズする方法を解説します。設定ファイル/etc/apache2/apache2.confを開いてログフォーマットの記述を確認し、自社の運用状況に合わせてログの出力内容を設計・変更する具体的な手順を学べる内容です。ログの出力項目を自社の運用ルールに合わせてカスタマイズする実践的なノウハウを身につけられます。 有料会員のみ 未受講