CentOS4.x CentOS5.x CentOS6.x Apache2

LINUXユーザ毎のホームディレクトリをWebサイトとして公開する様に設定します

設定

apache2の設定ファイルである/etc/httpd/conf/httpd.confに対して修正を行います

    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir enabled
    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html

LINUXユーザ用のWeb公開ディレクトリを用意する

~/public_htmlディレクトリを用意します。

ここが各ユーザ用の公開ディレクトリとなります

$ cd ~
$ mkdir public_html

また、/home/ユーザホームディレクトリは何もしていなければパーミッションが700で、

このままではapacheが読み込めないのでパーミッションを変更します。

$ chmod 755 /home/ユーザホームディレクトリ

SELinux有効の場合の追加設定

SELinuxが有効の場合は、SELinux有効下でのユーザ毎のディレクトリを公開するの設定が必要です

特定のLINUXユーザのディレクトリのみ公開するには

前述の設定では、全LINUXユーザのディレクトリが公開されます。

そうではなく、特定のユーザのみ公開したい場合は、前述の/etc/httpd/conf/httpd.confを以下の様に設定します。

    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir disable
    UserDir enabled scott tiger

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html

まず、赤字行の1行目で全UNIXユーザの公開ディレクトリを無効にします。

そして、 次の行で特定ユーザ(例ではscott と tiger というユーザ)のみ公開ディレクトリを許可します。

関連ページ