WWW ドキュメントツリーのルート設定

WWW サーバにアクセスされた時、最初にどこを見に行くかを設定します。

なお、ここの記述は RedHat Linux Sparc 上での httpd の制御を基にしています。 FreeBSD ではありませんので注意して下さい。


決めるべきこと

おおまかに言って、決めるべきことは
  1. WWW サーバの名前もしくは IP アドレスのみ指定された時に 見に行く場所
  2. WWW サーバの名前もしくは IP アドレスに続き、 ユーザの名前のみ指定された時に見に行く場所
  3. ファイルの名前が省略された場合に見に行くファイル
などです。例えば、WWW サーバの名前が hogehoge.ac.jp、 ユーザの名前を herohero としましょう。 上の 1,2 の場合は次の URL 指定に相当します。
  1. http://hogehoge.ac.jp/
  2. http://hogehoge.ac.jp/~herohero/
本当は、それぞれファイルまで指定しないといけないのですが、 3. でデフォルトで見に行くべきファイルが指定されていれば それを見に行ったのと同等になります。 例えば、3. で index.html を指定しておくと、 上の2つの URL 指定で
  1. http://hogehoge.ac.jp/index.html
  2. http://hogehoge.ac.jp/~herohero/index.html
を指定したのと同等の結果が得られます。

/etc/httpd/conf/srm.conf

上の、1,2,3 を指定するファイルは /etc/httpd/conf/srm.conf でした。 FreeBSD の場合はファイル名(srm.conf) は同じでも場所(絶対パス)が 違うかも知れません。 さて、1,2,3 の指定の仕方を述べます。

srm.conf
DocumentRoot /home/httpd/html
UserDir public_html
DirectoryIndex index.html index.shtml

DocumentRoot は 1. を指定します。
UserDir は 2. を指定します。
DirectoryIndex は 3. を指定します。

UserDir に関して:
上の例の場合は、~/public_html を指定したことになります。 こうしておくと、
http://hogehoge.ac.jp/~herohero/public_html/index.html
と指定すべき所を
http://hogehoge.ac.jp/~herohero/index.html
とちょっと楽できます。 もし各ユーザのホームディレクトリ以外を指定したかったら、 絶対パスで書いておけば大丈夫です。例えば、

UserDir /home/httpd/html

としておくと、
http://hogehoge.ac.jp/home/httpd/html/herohero/index.html
と指定すべき所を
http://hogehoge.ac.jp/~herohero/index.html
で良い様に設定したことになります。

httpd の再起ち上げ

後は、httpd を起ち上げ直します。
# killall -HUP httpd


FreeBSD の部屋


Oct. 19, 2000