0Pricing
Linux Server Deployment & SSH Mastery · レッスン

基本的なバーチャルホスト設定

バーチャルホスト(またはサーバーブロック)を設定し、異なるドメイン名を使って1台のサーバーで複数のWebサイトをホストします。

「基本的なバーチャルホスト設定」はCoddyKit上の無料Linux Server Deployment & SSH Masteryレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Server Deployment & SSH Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。

複数のWebサイトをホスティングする

1台の高性能なサーバーがあり、myshop.comやmyblog.comのように、それぞれ異なるドメイン名を持つ複数のWebサイトをホストしたいとします。

サイトごとに別のマシンを用意せず、1台のサーバーで効率的に処理するにはどうすればよいでしょうか。

Virtual Hostsとは

ここで登場するのが、Virtual Hosts(Apache)またはServer Blocks(Nginx)です。

  • 1台のWebサーバーで複数のドメイン名をホストできる設定単位です。
  • 各ドメインに、独自のドキュメントルート(ファイルの保存場所)、ログ、個別の設定を割り当てられます。
  • リソースを節約でき、サーバー管理も簡単になります。

ApacheのVirtual Hostを設定する

Apacheでは、Virtual Hostの設定は通常、専用のディレクトリにある.confファイルに保存されます。

  • /etc/apache2/sites-available/:利用可能なすべてのVirtual Host設定が含まれます。
  • /etc/apache2/sites-enabled/:現在有効な設定へのシンボリックリンクが含まれます。

有効化にはa2ensiteなどのコマンドを使用します。

Apache:基本的なバーチャルホスト

こちらはシンプルな Apache のバーチャルホスト設定です。このファイルはsites-availableに作成します。

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName myfirstsite.com
    ServerAlias www.myfirstsite.com
    DocumentRoot /var/www/myfirstsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Apache:設定手順

myfirstsite.com用の Apache バーチャルホストを設定する手順は次のとおりです。

  1. Webサイトのファイル用ディレクトリを作成します。
  2. バーチャルホスト設定ファイルを作成します。
  3. サイトを有効化して Apache を再読み込みします。

最初の2つの手順で使用するコマンドを見てみましょう。

sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.conf

Apache:有効化と再読み込み

.confファイルを作成して保存したら、次のコマンドを使用して有効化し、変更を適用します。

  • sudo a2ensite myfirstsite.conf:sites-enabledにシンボリックリンクを作成します。
  • sudo apache2ctl configtest:Apache の設定に構文エラーがないか確認します。
  • sudo systemctl reload apache2:サーバーを再起動せずに新しい設定を適用します。
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Nginx のサーバーブロック設定

Nginx ではサーバーブロックを使用します。これは Apache のバーチャルホストと非常によく似ています。また、ディレクトリ構成も似ています。

  • /etc/nginx/sites-available/:すべてのサーバーブロック設定を保存します。
  • /etc/nginx/sites-enabled/:有効なサーバーブロックへのシンボリックリンクが含まれます。

補助コマンドの代わりに、シンボリックリンクを手動で作成します。

Nginx:基本的なサーバーブロック

こちらはmysecondsite.com用の基本的な Nginx サーバーブロック設定です。このファイルはsites-availableに作成します。

server {
    listen 80;
    listen [::]:80;

    root /var/www/mysecondsite/html;
    index index.html index.htm;

    server_name mysecondsite.com www.mysecondsite.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

Nginx:設定手順

mysecondsite.com用の Nginx サーバーブロックを設定する手順は次のとおりです。

  1. Webサイトのファイル用ディレクトリを作成します。
  2. サーバーブロック設定ファイルを作成します。
  3. シンボリックリンクを作成して Nginx を再読み込みします。

最初の2つの手順で使用するコマンドは次のとおりです。

sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsite

Nginx:有効化と再読み込み

サーバーブロックファイルを作成して保存したら、次のコマンドを使用して有効化し、変更を適用します。

  • sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/:シンボリックリンクを作成します。
  • sudo nginx -t:Nginx の設定に構文エラーがないかテストします。
  • sudo systemctl reload nginx:再起動せずに新しい設定を適用します。
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

バーチャルホストの確認

これで、複数のサイトをホストするための Web サーバー設定方法を学びました。理解度を確認してみましょう。

復習:1台のサーバーで複数のサイト

よくできました。Apache のバーチャルホストと Nginx のサーバーブロックを設定するための基本を学びました。

  • これらの設定により、1台のサーバーで複数の Web サイトを効率的にホストできます。
  • 異なるドメイン名に対して、それぞれ固有の設定を行う方法が分かりました。
  • これは、Web サーバー管理や複数のアプリケーションのデプロイに欠かせない基本スキルです。

よくある質問

「基本的なバーチャルホスト設定」レッスンは無料ですか?

はい。「基本的なバーチャルホスト設定」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Server Deployment & SSH Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。

「基本的なバーチャルホスト設定」で何を学びますか?

バーチャルホスト(またはサーバーブロック)を設定し、異なるドメイン名を使って1台のサーバーで複数のWebサイトをホストします。 ブラウザで直接実行するハンズオンコードでLinux Server Deployment & SSH Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Server Deployment & SSH Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Server Deployment & SSH Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「基本的なバーチャルホスト設定」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Server Deployment & SSH Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Server Deployment & SSH Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Nginx/Apacheのインストール
  2. 静的Webサイトのホスティング
  3. 基本的なバーチャルホスト設定
  4. Let's EncryptによるHTTPSの有効化
← Linux Server Deployment & SSH Masteryに戻る