Ubuntuで学ぶローカルWebサーバー構築と運用の基本法

目次

はじめに

本ドキュメントの目的

本ドキュメントは、Ubuntu上でローカルWebサーバーを構築する手順と考え方を分かりやすくまとめた入門書です。ApacheやNginxのインストール手順、設定、仮想ホストの使い方、動作確認までを丁寧に解説します。学習や開発用のテスト環境を短時間で整えたい方に向けています。

対象読者

プログラミングやWeb制作を学んでいる方、ローカルでサイトを試作・検証したい方、学生や趣味で学ぶ方を想定しています。専門知識がなくても進められるよう、用語は可能な限り平易に説明します。例:ローカルでWordPressを動かして試す、といった用途にも適します。

前提条件

  • Ubuntuが動作するパソコン(実機または仮想マシン)があること
  • 基本的なターミナル操作(コマンドの実行)ができること
  • 管理者(sudo)権限が使えること
    これらがあれば本書の手順をほぼそのまま実行できます。

期待できる効果

ローカル環境でWebサイトを立ち上げ、ブラウザで動作確認やデバッグが可能になります。また複数サイトを同じマシンで管理する方法(仮想ホスト)や、公開前の動作検証が行えます。学習効率が上がり、本番環境に影響を与えずに試作できます。

本書の構成と読み方

続く章で「何ができるか」「全体像」「具体的なApacheでの構築手順」「仮想ホストの設定」を順に説明します。まずは第2章でローカルサーバーの利点を理解してください。

UbuntuでローカルWebサーバーを立てると何ができるか

概要

UbuntuにApacheやNginxを入れると、自分のPC上でWebサイトやアプリを動かして確認できます。インターネットに公開せずにlocalhostや家庭内LANだけで使えば、安全に学習や検証ができます。

できること(具体例)

  • HTML/CSS/JavaScriptの表示確認:ブラウザだけで見映えや動きを試せます。
  • PHPやCMSの動作検証:WordPressなどをローカルにインストールして動かせます。
  • フォームやAPIのテスト:データ送受信の挙動をローカルで確かめられます。
  • スマホや別端末での確認:同一LAN内から接続して実機テストができます。

複数サイトの運用

仮想ホストを使えば、1台のUbuntuで複数のサイトを同時に運用できます。開発ごとに独立した環境を作り、ポート番号やドメイン名で切り替えます。

外部公開の可能性

家庭内サーバーを外部公開する場合は、ルーターのポート開放やDNS設定が必要です。リスク管理としてファイアウォールやアクセス制限、定期的なバックアップを行ってください。

注意点

ローカル運用は学習と検証に最適です。ただし公開時はセキュリティ対策を十分に行ってください。

UbuntuとWebサーバー構築の全体像

初心者がUbuntuでWebサーバーを作るときの全体像を、流れと各ステップのポイントでわかりやすく説明します。

1) 目的と全体の流れ

目的をはっきりさせます(例:ローカルでサイトを作る、学習用、家庭内公開)。典型的な流れは、OSインストール→アップデート→Webサーバー導入→ドキュメントルート作成と権限設定→仮想ホスト設定(必要なら)→動作確認→必要に応じてSSLやポート転送設定です。

2) 主要なステップとポイント

  • OSの準備:Ubuntuをインストールし、sudo apt update && sudo apt upgradeで最新にします。
  • Webサーバー導入:ApacheやNginxを例に選んで導入します(例:sudo apt install apache2)。
  • ドキュメントルートと権限:既定は /var/www/html ですが、ホーム配下に置くこともできます。所有者をwww-dataにするなど権限を整えます。
  • 仮想ホスト:複数サイトを運用する場合に設定します。ローカルならhostsファイルで名前解決します。
  • ローカル動作確認:ブラウザでhttp://localhost/を開いて確認します。

3) 拡張と注意点

  • SSL:公開環境はLet’s Encrypt、ローカルは自己署名証明書で対応します。
  • セキュリティ:UFWで必要なポートだけ開け、定期的にアップデートします。
  • ポート転送・公開:自宅公開するならルーターのポート転送と固定IPかDDNSを検討します。

次章ではApacheを使った具体的な手順を順を追って説明します。

Apacheを使ったローカルWebサーバー構築手順(Ubuntu)

準備

まず端末を開き、パッケージ情報を更新します。

sudo apt update

これで最新版の情報を取得します。

Apacheのインストール

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

sudo apt -y install apache2

インストールは自動で必要なファイルを配置します。

サービス管理

起動・自動起動・状態確認はsystemctlで行います。

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2

ファイアウォールを使う場合はApache用の通信を許可します。

sudo ufw allow “Apache”

動作確認

ブラウザで http://localhost または http://127.0.0.1 にアクセスしてください。デフォルトページが表示されれば動作しています。同一LAN内の別端末からはサーバーのローカルIP(ifconfigやip addrで確認)でアクセスします。

ドキュメントルートと権限

デフォルトの公開フォルダは /var/www/html です。ここに index.html を置くと表示されます。ファイルの所有者や権限は必要に応じて変更してください。

sudo chown -R $USER:www-data /var/www/html
sudo chmod -R 750 /var/www/html

主要設定ファイル

主な設定は /etc/apache2/apache2.conf とサイト単位の /etc/apache2/sites-available/000-default.conf にあります。設定変更後は Apache を再起動します。

sudo systemctl restart apache2

ログとトラブル対処

アクセスログやエラーログは /var/log/apache2/ にあります。表示されない場合はログを確認し、設定ファイルの文法もチェックします。

sudo apachectl configtest

問題があればエラーログの内容を手掛かりに設定を見直してください。

仮想ホストで複数サイトをローカル運用する

概要

1台のUbuntuで複数のローカルサイトを同時に動かせます。実運用に近いドメイン構成を試せるため、開発や検証に便利です。

手順(要点)

1) Webルートの作成

sudo mkdir -p /var/www/example.local/public_html

2) 所有権と権限の設定

sudo chown -R $USER:www-data /var/www/example.local
sudo chmod -R 750 /var/www/example.local

ユーザーがファイルを編集でき、Apacheが読み込めるようにします。

3) 仮想ホストファイルを作る
ファイルは /etc/apache2/sites-available/example.local.conf

<VirtualHost *:80>
    ServerName example.local
    DocumentRoot /var/www/example.local/public_html
    <Directory /var/www/example.local/public_html>
        Require all granted
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>

4) サイトの有効化/無効化

sudo a2ensite example.local.conf
sudo a2dissite oldsite.conf   # 無効化するとき
sudo systemctl reload apache2

5) ブラウザからのアクセス設定
ローカルのhostsにドメインを追加します(管理者権限):

127.0.0.1 example.local
127.0.0.1 site2.local

保存後、ブラウザで http://example.local にアクセスします。

※ 複数サイトを同じIPで運用できます。HTTPSを使う場合は証明書を作成し、ポート443用の仮想ホストを追加してください。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次