ドキュメントルートとは
ドキュメントルートとは、Webサイトで公開されるHTMLファイルや画像データなどが設置される場所のことを指します。多くのWebサーバーでは「htdocs」という名称のフォルダやディレクトリが用いられることが一般的です。ドキュメントルートとして指定されたディレクトリには、Webブラウザのほか、HTTPやFTPなどのプロトコルによって外部からのアクセスが可能となります。
要するに、ドキュメントルートはWebサイト上で公開したいファイルを設置する場所のことを言います。
# Webサイトアクセス時のURL
http://marycore.jp/index.html
http://marycore.jp/style/style.css
# 実際にサーバー上で読み込まれるディレクトリやファイル
/usr/local/apache2/htdocs/index.html
/usr/local/apache2/htdocs/style/style.css
# これがドキュメントルート
/usr/local/apache2/htdocs/
参考:# ドキュメントルートへのアクセス例
目次
- htdocsの正式名称
- ドキュメントルートへのアクセス例
- ドキュメントルートの確認と変更
- htdocs/ドキュメントルートの場所(OS別)
- httpd.confの場所(OS別)
- httpd.confの場所を調べる方法
htdocsの正式名称
htdocsはHypertext Documentsの略です。多くのWebサーバーではこのhtdocsがドキュメントルートとしに指定されています。その他のhtdocsに相当するディレクトリ名については「# htdocs/ドキュメントルートの場所(OS別)」を参考にしてください。
ドキュメントルートへのアクセス例
例えば、Webサイトへ「http://marycore.jp/index.html
」というアドレスでアクセスが行われた場合には、Webサーバー側でドキュメントルートとして設定されたhtdocs
フォルダ内のindex.html
ファイルが読み込まれ、Webブラウザ上にその内容が表示されることになります。
http://marycore.jp/index.html
↓
/usr/local/apache2/htdocs/index.html
ドキュメントルートとして指定されたディレクトリはルートディレクトリという扱いとなり、小ディレクトリ内のファイルへのアクセスも可能となります。
http://marycore.jp/assets/style.css
↓
/usr/local/apache2/htdocs/assets/style.css
ドキュメントルートの確認と変更
ドキュメントルートのより具体的な場所はOSの種類やWebサーバーの環境によって異なっており、その設定はhttpd.conf
などの設定ファイルにDocumentRoot
という項目の形で記述されています。ドキュメントルートの変更時にはDirectory
ディレクティブ内のパスも同じように変更する必要があります。
# /etc/apache2/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
XSendFilePath "/usr/local/apache2/htdocs"
</Directory>
httpd.confの場所(OS別)
httpd.confの場所を調べる方法
htdocs/ドキュメントルートの場所(OS別)
環境によってドキュメントルートの名称や設置場所が異なることがあります。とりわけLinuxの場合はディストリビューションの違い(Debian系、RedHat系)によって場所や名称が大きく異なっています。
# Linux 環境の場合
/var/www/html
/usr/local/apache2/htdocs
# Windows XAMPP 環境の場合
C:\xampp\htdocs
# Mac MANP 環境の場合
/Applications/MAMP/htdocs
# Mac 標準 環境の場合
/Library/WebServer/Documents
このように、htdocsやドキュメントルートがどこにあるかはOSによって異なります。なお、デフォルトのドキュメントルートの場所は「# ドキュメントルートの確認と変更」で確認することができます。
httpd.confの場所(OS別)
Linux環境の場合はディストリビューションの違いによって場所や名称が異なっていたり、分散している場合があります。
# Linux 環境の場合
/etc/httpd/conf/httpd.conf
/etc/apache2/httpd.conf
/etc/apache2/apache2.conf
/etc/apache2/sites-available/000-default.conf
# Windows XAMPP 環境の場合
C:\xampp\apache\conf\httpd.conf
# Mac MANP 環境の場合
/Applications/MAMP/conf/apache/httpd.conf
# Mac 標準 環境の場合
/etc/apache2/httpd.conf
httpd.confの場所を調べる方法
端末・ターミナル上でhttpd -V
コマンドを実行することで、httpd.confの場所を知ることができます。同コマンドの実行結果に表示されるSERVER_CONFIG_FILE
という項目にhttpd.confの設置場所が記載されています。
user$ httpd -V
Server version: Apache/2.4.16 (Unix)
Server compiled with....
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"