ドキュメントルートとは?Webサーバーの基本概念を解説

はじめに

Webサーバーを設定するときに頻繁に出てくる「ドキュメントルート」という用語。特にApacheやNginxといったWebサーバーを扱う際には、この概念を正しく理解しておくことが重要です。本記事では、ドキュメントルートとは何か、どのように設定するのか、また関連する設定やセキュリティのポイントについて解説します。

ドキュメントルートとは?

ドキュメントルート(Document Root)とは、Webサーバーが公開するファイルが格納されているディレクトリのことを指します。ブラウザからWebサイトにアクセスしたときに、サーバーはこのディレクトリ内のファイルを提供します。

例えば、Apacheでは一般的に以下のパスがデフォルトのドキュメントルートとして設定されています。

  • Linux(Ubuntu/Debian系): /var/www/html/
  • Linux(CentOS/RHEL系): /var/www/html/
  • Windows(XAMPP): C:\xampp\htdocs\

このディレクトリ内に index.htmlindex.php などのファイルを置くと、ブラウザでアクセスした際にその内容が表示されます。

ドキュメントルートの設定方法

Apacheのドキュメントルート設定

Apacheでは、httpd.conf または sites-available/default.conf(Ubuntuの場合)を編集することでドキュメントルートを変更できます。

設定手順

設定ファイルを開く

sudo nano /etc/apache2/sites-available/000-default.conf

DocumentRoot ディレクティブを変更

DocumentRoot /var/www/mywebsite

Apacheを再起動

sudo systemctl restart apache2

Nginxのドキュメントルート設定

Nginxでは、nginx.confserver ブロック内の root ディレクティブを変更します。

設定手順

設定ファイルを開く

sudo nano /etc/nginx/sites-available/default

root のパスを変更

server { listen 80; server_name example.com; root /var/www/mywebsite; index index.html index.php; }

Nginxを再起動

sudo systemctl restart nginx

ドキュメントルートに関するセキュリティの注意点

1. 不要なファイルを置かない

ドキュメントルート内に .env ファイルやデータベースのバックアップファイル(*.sql)を誤って配置すると、外部からダウンロードされてしまうリスクがあります。

2. ディレクトリリスティングの無効化

デフォルト設定では、ディレクトリの一覧を表示することがあります。これを防ぐために、Apacheでは Options -Indexes を設定し、Nginxでは autoindex off; を指定します。

Apacheの設定

<Directory /var/www/html>
Options -Indexes
</Directory>

Nginxの設定

server {
location / {
autoindex off;
}
}

3. 適切なパーミッションを設定する

ドキュメントルートのディレクトリやファイルの権限を適切に設定し、不正なアクセスを防ぎます。

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

まとめ

ドキュメントルートは、Webサーバーが公開するファイルを格納する重要なディレクトリです。適切な設定を行い、セキュリティ対策を施すことで、安全かつ効率的なWebサイト運用が可能になります。ApacheやNginxでの設定方法を理解し、必要に応じてカスタマイズしてみましょう。

採用情報 長谷川 横バージョン
SHARE